Difference between Primary Key and Foreign Key
Primary Key: A primary key is used to ensure that data in the specific column is unique. A column cannot have NULL values. It is either an existing table column or a column that is specifically generated by the database according to a defined sequence.
Example: Refer the figure –
STUD_NO, as well as STUD_PHONE both, are candidate keys for relation STUDENT but STUD_NO can be chosen as the primary key (only one out of many candidate keys).
Foreign Key:
A foreign key is a column or group of columns in a relational database table that provides a link between data in two tables. It is a column (or columns) that references a column (most often the primary key) of another table.
Example: Refer the figure –
STUD_NO in STUDENT_COURSE is a foreign key to STUD_NO in STUDENT relation.
Figure:
Let’s see the difference between Primary Key and Foreign Key:
S.NO. | PRIMARY KEY | FOREIGN KEY |
---|---|---|
1 | A primary key is used to ensure data in the specific column is unique. | A foreign key is a column or group of columns in a relational database table that provides a link between data in two tables. |
2 | It uniquely identifies a record in the relational database table. | It refers to the field in a table which is the primary key of another table. |
3 | Only one primary key is allowed in a table. | Whereas more than one foreign key are allowed in a table. |
4 | It is a combination of UNIQUE and Not Null constraints. | It can contain duplicate values and a table in a relational database. |
5 | It does not allow NULL values. | It can also contain NULL values. |
6 | Its value cannot be deleted from the parent table. | Its value can be deleted from the child table. |
7 | It constraint can be implicitly defined on the temporary tables. | It constraint cannot be defined on the local or global temporary tables. |
Please Login to comment...