我正在嘗試基於這兩個函數依賴關係創建一個模式。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