A non-key attribute, whose values are derived from the primary key of another table, is known as foreign key.
- The foreign key of a table should declare as a primary key in another table.
- The name of the primary key and foreign key may or may not be same but their data type and length of the field should same.
- The every value of the foreign keys should present in the master table as primary key. Primary key values are unique, but the same value in foreign key may present more than one times.
For example, Lets Consider, two relation called emp and dept
Emp_SSN | Emp_No | Emp_Name | Dept |
1234544434 | E-001 | Pradipta Pal | 20 |
5345232444 | E-002 | Abhijit Ganguly | 30 |
4645673422 | E-003 | Suman Banerjee | 30 |
Dno | Dname |
---|---|
20 | Sales |
30 | Production |
Here,Dept column in emp table is a foreign key as it points to the primary key of the dept table. Here name of the primary key of dept(Dno) and foreign key of emp(Dept) are not same but their data type and length of the field should be same. And dno of sales department appear more than one once in emp table as foreign key.