原文: https://beginnersbook.com/2015/04/composite-key-in-dbms/
**复合键的定义:**具有多个属性的键称为复合键。它也被称为复合键。
注意: 超键,主键,候选键等任何键都可以称为复合键,如果它超过一个属性。
让我们考虑一个表Sale
。该表有四列(属性) - cust_Id
,order_Id
,product_code
和 PRODUCT_COUNT
。
表 - Sale
cust_Id order_Id product_code product_count
-------- -------- ------------ -------------
C01 O001 P007 23
C02 O123 P007 19
C02 O123 P230 82
C01 O001 P890 42
这些列中没有一个可以在此表中充当主键。
单独的 cust_Id
列不能成为一个键,因为同一个客户可以下多个订单,因此同一个客户可以有多个记录。
单独的列 order_Id
不能是主键,因为相同的订单可以包含多个产品,因此可以多次出现相同的order_Id
。
列 product_code
不能是主键,因为多个客户可以为同一产品下订单。
单独的 product_count
列不能是主键,因为两个订单可以具有相同的产品数量。
基于此,可以安全地假设键应具有多个属性:
上表中的键:{cust_id, product_code}
这是一个复合键,因为它由多个属性组成。