在MySQL查询中创建和桥接表

时间:2013-03-14 00:06:15

标签: mysql database-design

我正在使用MySQL数据库的基本表设计。该数据库项目是一个想法,主要是为了教育目的。总共有11个表,其中2个用于桥接目的。我试图正确设置主键和外键。我不知道如何编写将创建11个表并一次桥接所有表的查询。 HERE我附上了这些表的可视图。

通过基础学习,我可以创建一个表但不确定如何从这里开始:

CREATE TABLE Course (
          Course_ID INT,
          Course_Abbreviation VARCHAR(5),
      Course_Number INT,
      Section_Number INT,
      Professor_ID INT,
      Status VARCHAR(10)        
        ) TYPE=innodb;

1 个答案:

答案 0 :(得分:2)

你几乎就在那里,你必须为表中的属性定义PRIMARY和FOREIGN键,学生,课程和Course_Br_Students表的一个例子是:

CREATE TABLE Students(
PRIMARY KEY Student_ID SERIAL INTEGER,
Username VARCHAR(255),
First_name VARCHAR(255),
Email VARCHAR(255),
Phone number INTEGER,
Beginning_Date TIME,
Ending_Date TIME,
Max_hours INTEGER,
)

CREATE TABLE Student_Br_Course(
FOREIGN KEY Student_ID REFERENCES Students(Student_ID),
FOREIGN KEY Course_ID REFERENCES Courses(Course_ID),
Role VARCHAR(255),
Status BOOLEAN,
)

CREATE TABLE Courses(
PRIMARY KEY Course_ID INTEGER,
Course_Abbreviation VARCHAR(255),
Course_Number INTEGER,
Section_number INTEGER,
Professor_ID INTEGER,
)

以下是了解如何使用PRIMARY和FOREIGN键创建表的参考:

http://www.w3schools.com/sql/sql_foreignkey.asp