数据库--数据库设计
2022-05-25 本文已影响0人
何以解君愁
表关系:
一对一:一个人对应一张身份证
一对多(多对一):一个部门对应多个员工,一个员工对应一个部门
多对多:一个商品对应多个订单,一个订单包含多个商品
一对多关系的实现:在多的一方建立外键,指向一的一方的主键
多对多关系的实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
create table tb_order(
id int primary key auto_increment
)
create table tb_goods(
id int primary key auto_increment
)
create table tb_order_goods(
id int primary key auto_increment,
order_id int,
goods_id int
)
-- 建表后加外键
alter table tb_order_goods add constraint fk_order_id foreign key(order_id) references tb_order(id);
alter table tb_order_goods add constraint fk_goods_id foreign key(goods_id) references tb_goods(id);
一对一关系的实现:表拆分之后,在任意一方加入外键,关联另一方主键,并设置外键为唯一(UNIQUE)