×
>
<

Aptitude

Composite Key in DBMS

Composite Key

A composite key is a combination of one or more attributes

Note: Any key such as super key, primary key, candidate key, etc. can be called composite key if it has more than one attributes.

If a single column alone fails to be served as a primary key then combination columns would help to uniquely access a record from table such type of keys or nothing but composite keys.

Examples

If a table contains three columns [name, address, course] individually feel to access the record uniquely combination of either [name, course],[name, address],[course, address] would help to access records uniquely

  • Consider a table  with three  attitudes customer ID, product ID, product quantity
  • Customer ID needs to be entered for each time the customer purchases an  order hence customer ID appears more than once in the customer ID table hence it cannot be served as the primary key i.e it failed to uniquely identify a record
  • Example customer ID 66 has placed two orders hence customer ID appeared 66 two times in the customer ID column

Customer_IDProduct_IDOrder_Quantity
66902310
67902315
68903120
69903118
66911150

  • Product  ID and product quality cannot be declared as the primary key because of more than one customer purchase same product and the same quantity
  • In this situation all three attributes fail  to serve as a primary key .Hence  combination of these  attribute can be used as a primary key
  • For example [customer ID, product ID] can be used as the primary key table customers this combination helps to uniquely access records of customer.

  
Create table ORDER
(
    Customer_ID int ,
    Product_ID int ,
    Order_Quantity int ,
    Primary key (Customer_ID, Product_ID)
)
  

  • While choosing a set of attributes for a primary key, we always choose the minimal set that has a minimum number of attributes.
  • For example, if there are two sets that can identify a row in the table, the set that has a minimum number of attributes should be chosen as the primary key.