【发布时间】:2021-08-23 07:01:10
【问题描述】:
我有 3 张桌子。架构如下:
员工(NID、姓名、薪水、职务、电话、分支机构)
客户(NID、姓名、Insurance_type、电话、地址、is_active、Pay_per_month、Start_year、End_year)
付款(NID、应付、应收)
支付表的主键是 NID,它继承自 Employee 和 Client 表。如果我们合并 Employee 和 Client 表中的 NID 列,所有 NID 将是唯一的。有没有办法制作这样的表,其中 NID 将从 oracle 11g 中的客户端和员工表中继承?
【问题讨论】:
-
如果
nid是payment的主键,则意味着employee和client最多只能有1 次付款。这似乎真的不太可能。也许您的意思是您希望nid成为外键并拥有一个单独的payment_id作为主键? -
员工和客户最多只能获得 1 笔付款。此表的目的是检查任何具有 nid x 的特定人员是否有任何到期或应收款项。整个数据库中的每个 nid 都是唯一的。