Grab Deal : Flat 30% off on live classes + 2 free self-paced courses! - SCHEDULE CALL

- SQL Server Blogs -

What is Composite Key in SQL? Composite Primary & Foreign Key Explain with Example

Keys are the vital piece of DBMS they are utilized to distinguish and set up a connection between the tables in a mapping. Now, today we will examine three imperative keys of DBMS, for example, Composite Key, Composite Primary key and Foreign key, and we will likewise talk about the distinction between primary key and foreign key. In transit let me reveal to you the primary distinction among primary key and foreign key which is that the primary key is one of the picked applicant keys by database fashioner while a foreign key is a key that alludes to the primary key of some another relation. The Blog covers the following points- 

What does Composite Key mean?

A composite key, with regards to social databases, is a blend of at least two columns in a table that can be utilized to remarkably recognize each row in the table. Uniqueness is possibly ensured when the columns are consolidated; when taken separately the columns don't ensure uniqueness. Any column(s) that can ensure uniqueness is known as an applicant key; however, a composite key is an extraordinary sort of a SQL candidate key that is just framed by a blend of at least two columns. Some of the time the applicant key is only a solitary section, and in some cases, it is shaped by joining numerous columns Think about a case of a specific table in the database of a business bank. This table is utilized to store records of people's ledgers. Expecting that the table has separate columns for the record type (C for checking, S for reserve funds, etc), trailed by another column for the year and month of the record's creation, and another column for a successive number inside that month, clearly any of these columns independent from anyone else can't recognize a record – one can reason that there would be a few C's in the "Record Type" column, there would be a few passages for May 2008 in the "Date of Creation" column, etc. In any case, in the event that each of the three columns is consolidated, at that point, an interesting record for every single record is created. A speculative record number in this precedent would be "C 200807 001" for the primary record made in July 2008, which is a financial record. Another is "S 201003 004" for the fourth investment account made in March 2010. This is a composite key, that is, a competitor key that ensures uniqueness just when at least two columns are combined. SQL Server Curriculum A composite key can be characterized as the primary key. This is finished utilizing SQL articulations at the season of table creation. It implies that information in the whole table is characterized and listed on the arrangement of sections characterized as the primary key. In your database configuration on table level, database heads can make a composite primary key which is comprised of at least two sections in that table. In SQL Server database designers or executives can utilize composite keys (composite primary key or records on various columns) rather than characterizing a primary key on a solitary table column. In the event that the composite primary key is being made with the table itself, it is conceivable to include the primary key definition inside the table creation DDL explanation. In any case, on the off chance that you are attempting to make a primary key (regardless of whether the composite primary key or not) on a table with no primary key, ALTER TABLE ADD CONSTRAINT structure can be utilized for alteration on a target database table.

Read: Most Popular SQL Server Performance Tuning Tips

Definition of Composite Primary Key

A primary key exceptionally characterizes tuples in a connection. It tends to be a solitary property in a connection, or it very well may be a lot of characteristics in a connection. The estimation of the primary key trait should never or seldom change. Since it is central, intend to recognize any record in a database. Change in any property estimation of the primary key would make disarray. Database architect picks one of the candidate keys as a primary key, mulling over a few. The principal thought is primary key quality esteem can never contain NULL esteem. Since, if a primary key primary value contains NULL, it implies we cannot recognize that record in the table. It likewise damages the substance uprightness imperative. Second thought is, no two tuples in a table can contain a similar incentive for a primary key characteristic, as it would damage uniqueness among the tuples. SQL Server quiz There must be one primary key for any relation. The primary key is naturally group ordered, which implies all tuples in a table are arranged, in light of the primary keys characteristics esteems. The primary key imperative can be characterized by a temporary table. Delegate tables made amid the execution of an inquiry are called temporary tables. While erasing a tuple from a connection, one must take care that the erased tuple's primary key esteem, isn't at present in the foreign key section of referencing connection. Though the inclusion does not have any imperatives on a primary key. The primary key of a table when used in some other table then it becomes a foreign key for that table. The following SQL Primary Key example sets ID as a primary key in a CUSTOMERS table. The primary key of a table when utilized in some other table then it winds up foreign key for that table. The accompanying SQL Primary Key example sets ID as a primary key in a CUSTOMERS TABLE [php]CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), Salary DECIMAL (18, 2), PRIMARY KEY (ID) [/php]

Definition of Foreign Key

At the point when a relation R1, among its qualities, has a primary key of other relation R2, at that point that trait is called Foreign key for relation R1. The relation R1containing the foreign key is called referencing relation as it alludes the primary key of relation R2 and relation R2 is called the referenced relation. In contrast to the primary key, the foreign key can acknowledge NULL qualities since, it doesn't have the errand of distinguishing a record unmistakably in relation, as we have the primary key for this. Similarly, the foreign key likewise acknowledges duplicate values. A relation can have numerous foreign keys, as it can have diverse characteristics that are primary keys in various relations. The foreign key limitation cannot be characterized on the transitory tables, nor a foreign key is a group listed attribute. While inserting a value into a foreign key section of referencing connection, ensure that the embeddings esteem must be available in the primary key column of referenced connection. Though, there is no limitation while deleting an incentive from the foreign key column. CUSTOMER table that incorporates all client information, and an ORDERS table that incorporates all client orders. Business rationale necessitates that all requests must be related to a client that is as of now in the CUSTOMER table. To authorize this rationale, we place a foreign key on the ORDERS table and have it reference the primary key of the CUSTOMER table. Along these lines, we can guarantee that all requests in the ORDERS table are identified with a client in the CUSTOMER table. At the end of the day, the ORDERS table can't contain data on a client that isn't in the CUSTOMER table. free SQL Server demo

Read: A Comprehensive SQL Server Tutorial Guide for Beginners & Experienced

Key Differences between Primary Key and Foreign Key

  1. A primary is a lot of properties/an applicant key that particularly recognizes a record in a connection. Nonetheless, a foreign key in a table alludes to the primary key of another table.
  2. No primary key properties can contain NULL values though, a foreign key trait can acknowledge NULL value.
  3. A primary key ought to have extraordinary characteristic qualities though, a foreign key may have duplicate attribute values.
  4. There might be numerous foreign keys in relation, however, a relation has just a single primary key.
  5. The primary key limitation can be connected to the transitory tables. Notwithstanding, foreign key imperative cannot be connected to the transitory tables.
  6. A primary key is as a matter, of course, bunched ordered though, a foreign key isn't group filed naturally, however it tends to be done physically.
  7. While embeddings a value into a foreign key section, ensure that the embeddings quality value is available in the referenced primary key column. Be that as it may, there is no limitation on insertion commands in the primary key section.
  8. While erasing an incentive from primary key section ensure that the erased trait value is absent in the referencing foreign key column. In any case, there is no imperative on erasing a value from a foreign key column. 


This is everything that you need to know about the SQL keys such as Composite Key, Primary Key and Foreign Key. You have also seen how to use them in examples You also know the differences between Primary and Foreign Key. Happy Reading! Continue Exploring!

Read: What is a CASE Statement in the SQL?

SQL Tutorial Overview

fbicons FaceBook twitterTwitter lingedinLinkedIn pinterest Pinterest emailEmail


    JanBask Training

    A dynamic, highly professional, and a global online training course provider committed to propelling the next generation of technology learners with a whole new way of training experience.

  • fb-15
  • twitter-15
  • linkedin-15


Trending Courses

Cyber Security Course

Cyber Security

  • Introduction to cybersecurity
  • Cryptography and Secure Communication 
  • Cloud Computing Architectural Framework
  • Security Architectures and Models
Cyber Security Course

Upcoming Class

16 days 05 Jul 2024

QA Course


  • Introduction and Software Testing
  • Software Test Life Cycle
  • Automation Testing and API Testing
  • Selenium framework development using Testing
QA Course

Upcoming Class

8 days 27 Jun 2024

Salesforce Course


  • Salesforce Configuration Introduction
  • Security & Automation Process
  • Sales & Service Cloud
  • Apex Programming, SOQL & SOSL
Salesforce Course

Upcoming Class

7 days 26 Jun 2024

Business Analyst Course

Business Analyst

  • BA & Stakeholders Overview
  • BPMN, Requirement Elicitation
  • BA Tools & Design Documents
  • Enterprise Analysis, Agile & Scrum
Business Analyst Course

Upcoming Class

9 days 28 Jun 2024

MS SQL Server Course

MS SQL Server

  • Introduction & Database Query
  • Programming, Indexes & System Functions
  • SSIS Package Development Procedures
  • SSRS Report Design
MS SQL Server Course

Upcoming Class

9 days 28 Jun 2024

Data Science Course

Data Science

  • Data Science Introduction
  • Hadoop and Spark Overview
  • Python & Intro to R Programming
  • Machine Learning
Data Science Course

Upcoming Class

2 days 21 Jun 2024

DevOps Course


  • Intro to DevOps
  • GIT and Maven
  • Jenkins & Ansible
  • Docker and Cloud Computing
DevOps Course

Upcoming Class

5 days 24 Jun 2024

Hadoop Course


  • Architecture, HDFS & MapReduce
  • Unix Shell & Apache Pig Installation
  • HIVE Installation & User-Defined Functions
  • SQOOP & Hbase Installation
Hadoop Course

Upcoming Class

2 days 21 Jun 2024

Python Course


  • Features of Python
  • Python Editors and IDEs
  • Data types and Variables
  • Python File Operation
Python Course

Upcoming Class

17 days 06 Jul 2024

Artificial Intelligence Course

Artificial Intelligence

  • Components of AI
  • Categories of Machine Learning
  • Recurrent Neural Networks
  • Recurrent Neural Networks
Artificial Intelligence Course

Upcoming Class

10 days 29 Jun 2024

Machine Learning Course

Machine Learning

  • Introduction to Machine Learning & Python
  • Machine Learning: Supervised Learning
  • Machine Learning: Unsupervised Learning
Machine Learning Course

Upcoming Class

23 days 12 Jul 2024

 Tableau Course


  • Introduction to Tableau Desktop
  • Data Transformation Methods
  • Configuring tableau server
  • Integration with R & Hadoop
 Tableau Course

Upcoming Class

2 days 21 Jun 2024

Search Posts


Receive Latest Materials and Offers on SQL Server Course