Heim  >  Artikel  >  Datenbank  >  Übung zum Entwerfen von MySQL-Tabellen: Erstellen Sie einen Kursplan und einen Zeitplan für die Kursauswahl der Studenten

Übung zum Entwerfen von MySQL-Tabellen: Erstellen Sie einen Kursplan und einen Zeitplan für die Kursauswahl der Studenten

WBOY
WBOYOriginal
2023-07-01 11:33:225733Durchsuche

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.

  1. Erstellen Sie einen Kursplan

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:

  • id: Kurs-ID, die ein ganzzahliger Typ ist und der Primärschlüssel ist. Wir verwenden das Schlüsselwort AUTO_INCREMENT, damit es automatisch inkrementiert wird.
  • Name: Kursname, ein Zeichenfolgentyp mit maximal 255 Zeichen, der nicht leer sein darf.
  • Code: Kurscode, ein Zeichenfolgentyp mit nicht mehr als 10 Zeichen und darf nicht leer sein.
  • credits: Kursguthaben, ein ganzzahliger Typ, der nicht leer sein darf.
  • department_id: Die ID der Abteilung, die den Kurs anbietet, ein ganzzahliger Typ. Wir legen eine Fremdschlüsseleinschränkung fest und verknüpfen sie mit dem ID-Feld der Abteilung in einer anderen Tabelle.
  1. Erstellen Sie eine Kursauswahltabelle für Studenten

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:

  • id: Kursauswahl-ID, die ein ganzzahliger Typ ist und der Primärschlüssel ist. Wir verwenden das Schlüsselwort AUTO_INCREMENT, damit es automatisch inkrementiert wird.
  • student_id: Studenten-ID, ein ganzzahliger Typ. Wir legen eine Fremdschlüsseleinschränkung fest und verknüpfen sie mit dem ID-Feld einer anderen Tabelle, student.
  • course_id: Kurs-ID, ein ganzzahliger Typ. Wir legen eine Fremdschlüsseleinschränkung fest und verknüpfen sie natürlich mit dem ID-Feld einer anderen Tabelle.
  • note: Kursauswahlnote des Studenten, bei der es sich um einen Gleitkommazahlentyp handelt.
  1. Daten einfügen

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.

  1. Daten abfragen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn