2

主キーとして他のテーブルの値を使用するテーブルを作成しようとしていますが、これは複合キー(Primary + Foreign)であると講義で言われましたが、開始方法が見つからないようです。この概念とそれを実装する方法を説明してみてください。

4

1 に答える 1

7

学生とコースのセットで構成されるデータを考えてみましょう。これを DBMS に保存すると、各学生 (またはコース) に固有の ID が関連付けられ、学生 (またはコース) の主キーと呼ばれます。

students(id, name, dob)
courses(id, name, credits)

学生を登録しているコースに関連付けるために、次のようなテーブルを作成します。

student_course(student_id, course_id)

これを実際に mysql で作成するには、次のように記述します。

CREATE TABLE student_course(student_id INT NOT NULL, 
                            course_id INT NOT NULL, 
                            PRIMARY KEY (student_id, course_id),
                            FOREIGN KEY (student_id) REFERENCES student(id), 
                            FOREIGN_KEY (course_id) REFERENCES course(id))
于 2012-12-02T16:09:14.407 に答える