MySQL:设计演员与角色表(多对多)
设计演员与角色表
1) 分析: 演员与角色是多对多关系, 一个演员可以饰演多个角色, 一个角色同样可以被不同的演员扮演
2)图解:
3) SQL实现
<1> 创建表
#创建演员表 CREATE TABLE actor( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); #创建角色表 CREATE TABLE role( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); #创建中间表 CREATE TABLE actor_role( -- 中间表自己的主键 id INT PRIMARY KEY AUTO_INCREMENT, -- 指向actor 表的外键 aid INT, -- 指向role 表的外键 rid INT );
<2> 添加外键约束
-- 为中间表的aid字段,添加外键约束 指向演员表的主键 ALTER TABLE actor_role ADD FOREIGN KEY(aid) REFERENCES actor(id);
-- 为中间表的rid字段, 添加外键约束 指向角色表的主键 ALTER TABLE actor_role ADD FOREIGN KEY(rid) REFERENCES role(id);
4) 查看表关系