我正在尝试基于这两个函数依赖关系创建一个模式。2单个表中的函数依赖关系
A - > B,C,d
乙 - > d
我试图建立一个单一的表既包括这些的FD与以下约束的:
- 一对元组(B,D)可以重复,但遵循FD的定义(每当有两个B值相同,则D值也相同)。
CREATE TABLE one( B INT PRIMARY KEY, D INT NOT NULL, UNIQUE (B, D) ); CREATE TABLE two( A INT PRIMARY KEY, B INT NOT NULL, C INT NOT NULL, D INT NOT NULL, FOREIGN KEY(B, D) REFERENCES one(B, D) );
我只是想知道如果有一个方法可以让我在短短一个表结合这2桌,而无需使用TRIGGERS:现在
,我在2个表如下实施本在Postgresql中?
编辑:
示例数据:
你说的'在短短一个table'结合这两个表是什么意思?你能举出你想要的例子吗,最好包括例子数据? *(我相信我理解你描述的约束条件,我只是不明白最后一点...)* – MatBailie
@MatBailie我的意思是,不是创建2个单独的表,我只是想创建一个包含所有这些属性的表。我用一个例子编辑了这篇文章。 –
好吧,我想你的意思是'我只是想创建一个包含所有这些属性的表格,并且强制执行所有这些约束而不需要第二个表格...... – MatBailie