1、外鍵約束sql
保證數據的完整性。數據庫
定義外鍵約束:ide
能夠直接在create語句中定義外鍵 foreign key 當前表名(字段名) references 目標表名(目標表的主鍵)
建立完語句後,能夠直接使用修改語句定義 alter table 表名 add foreign key 當前表名 (字段名) references 目標表名(目標表的主鍵)
2、多表設計的三種實體關係設計
多對多、一對多和一對一blog
3、多表設計之---------一對多rem
一個班級能夠有多個學生,可是一個學生只能屬於一個班級。或者一個部門有多個員工,而一個員工屬於多個部門。這些都是一對多的關係,那麼一對多在數據庫的設計是怎麼實現的。get
部門表it
create table dept( deptId int primary key auto_increment, dname varchar(32) not null );
員工表io
create table emp( empId int primary key auto_increment, ename varchar(32) not null, age int , dno int , constraint fk_dno foreign key emp(dno) references dept(deptId) );
4、多表設計之---------多對多table
一個學生能夠選擇多門課程,而每一門課程也能夠被多個學生所選擇。這就是典型的多對多的關係。
多對多的建表原則:
須要建立第三方表,該表中至少有兩個字段,做爲外鍵分別指向多對多的雙方的主鍵。