MySQL-Tabellenentwurfspraxis: Erstellen Sie einen Kursplan und einen Zeitplan für die Kursauswahl der Studenten
Im eigentlichen Datenbankentwurfsprozess ist der Tabellenentwurf einer der Schlüsselglieder. In diesem Artikel werden als Beispiel die Erstellung eines Kursplans und eines Kursauswahlplans für Studenten verwendet, um die praktischen Erfahrungen und Fähigkeiten des MySQL-Tabellendesigns vorzustellen. Wir werden MySQL als Datenbankverwaltungssystem verwenden und Codebeispiele bereitstellen.
Ein Kursplan ist eine Tabelle, in der Kursinformationen gespeichert sind. Mit der folgenden SQL-Anweisung können wir eine Kurstabelle erstellen:
CREATE TABLE course ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, code VARCHAR(10) NOT NULL, credits INT NOT NULL, department_id INT, CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES department (id) );
Im obigen Code verwenden wir die CREATE TABLE-Anweisung, um eine Tabelle mit dem Namen „Kurs“ zu erstellen. Die Tabelle enthält die folgenden Felder:
Die Kursauswahltabelle für Studenten ist eine Tabelle, in der Informationen zur Kursauswahl von Studenten gespeichert werden. Wir können die folgende SQL-Anweisung verwenden, um eine Kursauswahltabelle für Studenten zu erstellen:
CREATE TABLE student_course ( id INT PRIMARY KEY AUTO_INCREMENT, student_id INT, course_id INT, grade FLOAT, CONSTRAINT fk_student FOREIGN KEY (student_id) REFERENCES student (id), CONSTRAINT fk_course FOREIGN KEY (course_id) REFERENCES course (id) );
Im obigen Code verwenden wir die CREATE TABLE-Anweisung, um eine Tabelle mit dem Namen student_course zu erstellen. Die Tabelle enthält die folgenden Felder:
Nachdem wir die Tabellenstruktur erstellt haben, können wir einige Beispieldaten einfügen, um zu testen, ob das Tabellendesign korrekt ist. Hier ist ein Einfügebeispiel für einige Beispieldaten:
INSERT INTO course (name, code, credits, department_id) VALUES ('数据库原理', 'CS101', 3, 1), ('计算机网络', 'CS201', 3, 1), ('操作系统', 'CS301', 4, 1), ('数据结构', 'CS401', 3, 1); INSERT INTO student_course (student_id, course_id, grade) VALUES (1, 1, 90), (1, 2, 85), (2, 1, 88), (3, 3, 92), (4, 4, 75);
Im obigen Code fügen wir Daten mit der INSERT INTO-Anweisung in die Tabelle ein. Konkret haben wir Informationen zu vier Kursen in die Kurstabelle eingefügt und Datensätze zu fünf Kursauswahlen von Studenten in die Tabelle student_course eingefügt.
Nachdem der Tabellenentwurf abgeschlossen ist, können wir die SELECT-Anweisung verwenden, um die Daten in der Tabelle abzufragen. Im Folgenden finden Sie Beispiele für einige häufige Abfragen:
Fragen Sie die Informationen aller Kurse ab:
SELECT * FROM course;
Fragen Sie die Informationen der Kursauswahl des angegebenen Studenten ab:
SELECT s.name AS student_name, c.name AS course_name, sc.grade FROM student_course sc JOIN student s ON sc.student_id = s.id JOIN course c ON sc.course_id = c.id WHERE s.id = 1;
Der obige Beispielcode demonstriert die Verbindung der drei Tabellen student_course, student und course Abfrage über die JOIN-Anweisung Die Kursauswahlinformationen des Studenten mit der Studenten-ID 1 werden angezeigt, und der Name des Studenten, der Kursname und die Noten werden angezeigt.
Zusammenfassung:
In diesem praktischen Fall haben wir gelernt, wie man einen Kursplan und eine Kursauswahltabelle für Studenten erstellt, und haben anhand von Codebeispielen den Prozess des Erstellens von Tabellen, des Einfügens von Daten und des Abfragens von Daten demonstriert. Beim tatsächlichen Datenbankdesign kann ein angemessenes Tabellendesign die Datenspeichereffizienz und die Abfrageleistung verbessern. Beim Entwerfen der Tabellenstruktur müssen Faktoren wie Datenbeziehungen, Datentypauswahl und Einstellungen für Fremdschlüsseleinschränkungen berücksichtigt werden, um Datengenauigkeit und -konsistenz sicherzustellen. Ich hoffe, dieser Artikel wird Ihnen beim MySQL-Tabellendesign hilfreich sein.
Das obige ist der detaillierte Inhalt vonÜbung zum Entwerfen von MySQL-Tabellen: Erstellen Sie einen Kursplan und einen Zeitplan für die Kursauswahl der Studenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!