Please login


Prepinsta Prime

Video courses for company/skill based Preparation

(Check all courses)
Get Prime Video

Prepinsta Prime

Purchase mock tests for company/skill building

(Check all mocks)
Get Prime mock

Composite Key in DBMS

Composite key in DBMS


In this article, we will learn about Composite Key in DBMS.

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.

Definition of the composite key

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.

Composite Key in DBMS


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
  • 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.