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) 查看表关系

原文地址:https://www.cnblogs.com/JasperZhao/p/15016726.html