【发布时间】:2013-12-22 22:13:07
【问题描述】:
我有这两张表,Company 和 Owner。 现在它们都处于正常形式,但我需要在它们之间创建Many-to-Many 关系,因为一个公司可以有很多所有者并且一个所有者可以有很多公司 .
我之前得到了一个答案,即向公司添加一组 CompanyOwners(带有所有者 UUID)是否会破坏正常形式 It will break Normal Form,并且已经能够收集到可以使用的是 Junction Table,请参阅thread.
我的问题如下:如下所示创建一个额外的连接表会破坏正常形式吗?
-- This is the junction table.
CREATE TABLE CompanyOwners(
Connection-ID UUID NOT NULL, // Just the ID (PK) of the relationship.
Company-ID UUID NOT NULL REFERENCES Company (Company-ID),
Owner-ID UUID NOT NULL REFERENCES Owner (Owner-ID),
CONSTRAINT "CompanyOwners" PRIMARY KEY ("Connection-ID")
)
【问题讨论】:
-
看准了,别担心,继续吧:)
-
没有特定的“范式”。标准化有很多级别:en.wikipedia.org/wiki/Database_normalization#Normal_forms。过多的标准化可能与过少的标准化一样糟糕,如果不是更糟的话。您所做的完全正确,尤其是包含表的主键。
标签: sql database-normalization junction-table