外键是指跨多个表的主键?

我必须在数据库employees下有两个表,即employees_ce和employees_sn。


它们都有各自的唯一主键列。


我还有另一个表称为扣除,该表的外键列我要引用employees_ce和employees_sn的主键。这可能吗?


例如


employees_ce

--------------

empid   name

khce1   prince


employees_sn

----------------

empid   name

khsn1   princess

那有可能吗?


deductions

--------------

id      name

khce1   gold

khsn1   silver


翻翻过去那场雪
浏览 642回答 3
3回答

至尊宝的传说

您可能可以添加两个外键约束(老实:我从未尝试过),但是它会坚持认为父行存在于两个表中。相反,您可能想为两个雇员子类型创建一个超类型,然后将外键指向那里。(当然,假设您有充分的理由将两种类型的员工分开)。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;employee&nbsp; &nbsp; &nbsp; &nbsp;employees_ce&nbsp; &nbsp; &nbsp;————————&nbsp; &nbsp; &nbsp; &nbsp;employees_sn————————————&nbsp; &nbsp; &nbsp;type&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;————————————empid —————————> empid <——————— empidname&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/|\&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; deductions&nbsp; &nbsp; |&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; ——————————&nbsp; &nbsp; |&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; empid ————————+&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; nametype员工表中的ce或sn。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server