我正在尝试创建将两个表与 MariaDB 中的桥接表链接在一起。该表本身称为“ActsIn”,位于“Actors”表和“Movies”表之间。
在我的 ER 图中,“ActsIn”表包含 3 个属性 -
- “ActsIn”表的主键,它是由以下两个外键组成的复合主键。
- ActorName(引用“Actors”表中主键的外键)
- 标题(引用“电影”表中主键的外键)
当我在 MariaDB 中创建此表时,我是否将复合主键视为一个名为 ActorName/Title 的属性?
//Create table ActsIn
//
CREATE TABLE IF NOT EXISTS ActsIn (
ActorName/Title VARCHAR(255) NOT NULL,
ActorName VARCHAR(255) NOT NULL,
Title VARCHAR(255) NOT NULL,
PRIMARY KEY (ActorName/Title)
);
或者创建 2 个属性字段 ActorName 和 Title,然后创建引用这两个属性的主键?
CREATE TABLE IF NOT EXISTS ActsIn (
ActorName VARCHAR(255) NOT NULL,
Title VARCHAR(255),
PRIMARY KEY (ActorName, Title)
);
最佳答案
您通常会有一个类型转换(actor_id*、name)、一个电影表(movie_id*、title)和一个相互关联的表(actor_id*、movie_id*) - * = (的组成部分)主键
如果一个 Actor 可以在同一部电影中扮演多个角色,那么您可能需要稍微修改此模型。
关于mysql - 在 MariaDB 中创建桥表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59127651/