MySQL之表的關系
阿新 • • 發佈:2018-03-06
mysql bold per span spa pre start pri num
MySQL之表的關系
表的關系:
一對一:1:1
eg:一個人只有一個身份證
註:通過添加關鍵字段的方式來實現 一對一 關鍵字段加哪個都可以
-- 方法一 CREATE TABLE t_Person( id INT PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(10) ); CREATE TABLE t_card( id INT PRIMARY KEY AUTO_INCREMENT, start_time DATE, end_time DATE, pid INT UNIQUE, //關鍵字段 這個字段是惟一的 FOREIGN KEY (pid) REFERENCESt_Person(id) //創外鍵保證數據的完整性和合法性 ); -- 方法二 CREATE TABLE t_card2( card_id INT PRIMARY KEY AUTO_INCREMENT, start_time DATE, end_time DATE, FOREIGN KEY (card_id) REFERENCES t_Person(id) );
一對多:1:n
eg:一個學生有多門成績
註:通過添加關鍵字段的方式來實現 一對多 關鍵字段要加在多的那個上面
-- 一對多 -- 一個學生有多門成績 CREATE TABLE t_student( id INT PRIMARYKEY AUTO_INCREMENT, uname VARCHAR(10) ); CREATE TABLE t_scores( id INT PRIMARY KEY AUTO_INCREMENT, num INT, stu_id INT, //關鍵字段 FOREIGN KEY (stu_id) REFERENCES t_student(id) );
多對多:n:n
eg:多個老師教多個學生
註:通過添加關鍵字段的方式來實現 多對多 需要新建一個表 把兩個關鍵字段都添加進去
-- 多對多 CREATE TABLE t_teacher( id INT PRIMARY KEY AUTO_INCREMENT, tnameVARCHAR(10) ); CREATE TABLE t_student( id INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(10) ); CREATE TABLE t_stu_tea( id INT PRIMARY KEY AUTO_INCREMENT, stuid INT, //關鍵字段 teaid INT, //關鍵字段 FOREIGN KEY (stuid) REFERENCES t_student(id), FOREIGN KEY (teaid) REFERENCES t_teacher(id) );
MySQL之表的關系