MySQL的多表設計

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)
);

wKiom1jSElGgFtcCAACTCSnQrHM890.png


4、多表設計之---------多對多table

  一個學生能夠選擇多門課程,而每一門課程也能夠被多個學生所選擇。這就是典型的多對多的關係。


多對多的建表原則:

須要建立第三方表,該表中至少有兩個字段,做爲外鍵分別指向多對多的雙方的主鍵。


wKiom1jSWEHzF97KAABeGORsdZg069.png

相關文章
相關標籤/搜索