MySQL テーブル設計の実践: コース スケジュールと学生のコース選択スケジュールの作成
実際のデータベース設計プロセスでは、テーブル設計は重要なリンクの 1 つです。この記事では、履修スケジュールと学生コース選択スケジュールの作成を例に、MySQL テーブル設計の実践経験とスキルを紹介します。データベース管理システムとして MySQL を使用し、コード例を提供します。
コース スケジュールは、コース情報を保存するテーブルです。次の SQL ステートメントを使用して course テーブルを作成できます:
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) );
上記のコードでは、CREATE TABLE ステートメントを使用して course という名前のテーブルを作成します。テーブルには次のフィールドが含まれます:
学生コース選択テーブルは、学生のコース選択情報を格納するテーブルです。次の SQL ステートメントを使用して、学生コース選択テーブルを作成できます。
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) );
上記のコードでは、CREATE TABLE ステートメントを使用して、student_course という名前のテーブルを作成します。テーブルには次のフィールドが含まれます:
テーブル構造を作成した後、サンプル データを挿入してテーブルの設計が正しいかどうかをテストできます。以下にサンプル データの挿入例を示します。
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);
上記のコードでは、INSERT INTO ステートメントを使用してテーブルにデータを挿入します。具体的には、4 つのコースに関する情報を course テーブルに挿入し、5 つの学生コース選択のレコードを Student_course テーブルに挿入しました。
テーブルの設計が完了したら、SELECT ステートメントを使用してテーブル内のデータをクエリできます。一般的なクエリの例を次に示します。
すべてのコースに関する情報のクエリ:
SELECT * FROM course;
指定された学生のコース選択に関する情報のクエリ:
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;
上記のコード例は、 JOIN ステートメント。student_course、student、course の 3 つのテーブルが結合され、学生 ID 1 の学生のコース選択情報がクエリされ、学生の名前、コース名、成績が表示されます。
概要:
この実践的なケースを通じて、コース スケジュールと学生コース選択テーブルの作成方法を学び、コード例を通じてテーブルの作成、データの挿入、データのクエリのプロセスを示しました。 。実際のデータベース設計では、合理的なテーブル設計により、データの保存効率とクエリのパフォーマンスを向上させることができます。テーブル構造を設計するときは、データの正確性と一貫性を確保するために、データ関係、データ型の選択、外部キー制約の設定などの要素を考慮する必要があります。この記事が MySQL テーブルの設計に役立つことを願っています。
以上がMySQL テーブル設計の実践: コース スケジュールと学生のコース選択スケジュールを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。