Skip to content

Files

Latest commit

b431ea2 · Aug 29, 2019

History

History
37 lines (23 loc) · 1.64 KB

26.md

File metadata and controls

37 lines (23 loc) · 1.64 KB

DBMS 中的复合键

原文: https://beginnersbook.com/2015/04/composite-key-in-dbms/

**复合键的定义:**具有多个属性的键称为复合键。它也被称为复合键。

注意: 超键主键候选键等任何键都可以称为复合键,如果它超过一个属性。

复合键示例

让我们考虑一个表Sale。该表有四列(属性) - cust_Idorder_Idproduct_codePRODUCT_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}

这是一个复合键,因为它由多个属性组成。