删除没有唯一索引/约束的表

问题描述 投票:0回答:1
CREATE TABLE "lemmings" 
(
    "id" bigserial,
    "name" varchar(255) NOT NULL,
    PRIMARY KEY ("id")
);

CREATE TABLE "speeches" 
(
    "id" bigserial,
    "title" varchar(255) NOT NULL,
    "year" integer NOT NULL,
    PRIMARY KEY ("id")
);

此架构中不存在其他表。

lemmings
表没有唯一索引/约束。这意味着两只旅鼠可以有相同的
name

一只旅鼠可以发表多次演讲,一次演讲也可以由多只旅鼠发表。

澄清一下:一只旅鼠可以发表多次演讲,而一场演讲也可以由多个旅鼠发表。

鉴于上述情况,我认为

lemmings
表是多余的,应采取以下步骤:

  • 移除
    lemmings
    桌子。
  • lemming_names
    表添加
    speeches
    列。

我的推理正确吗?

sql postgresql indexing database-design constraints
1个回答
1
投票

由于您不能(不应该)在单个列中拥有多个值(旅鼠名称),因此您可以使用交集表对此进行建模?事实上,您只有旅鼠的名称属性,这一事实不会影响您建模 M:M 关系的方式

© www.soinside.com 2019 - 2024. All rights reserved.