首先在我的 ER 模型中,我有一个account实体,它与两个不相交的子实体 Saving -account和checks- account具有IS-A关系。但是,我有一个客户实体与帐户实体有存款人关系,例如下面的 ER 图这样的用例。
因此,我将 ER 翻译成这样的表:
客户(cid,cname)
存款人(cid,帐号)
储蓄账户(帐号,余额,利率)
支票账户(帐号,余额,透支金额)
所以最后,我只从 IS-A 关系中取出两张表储蓄账户和支票账户。
那么问题就来了,为了创建depositor表,我取了一个T-SQL:
CREATE TABLE depositor(
customer_id int not null,
account_number int not null,
access_date Date DEFAULT GETDATE(),
PRIMARY KEY(customer_id, account_number),
FOREIGN KEY(customer_id) REFERENCES customer(customer_id),
FOREIGN KEY(account_number) REFERENCES account(account_number)
)
在最后一行,外键account_number应该引用account表,但我拥有的是储蓄账户和支票账户表。在这种情况下,如何在 T-SQL 中添加约束?如果我只从 IS-A 关系中获取两个表,是否可以添加约束?