English

Explain the use of ‘Foreign Key’ in a Relational Database Management System. Give example to support your answer. - Computer Science (Python)

Advertisements
Advertisements

Question

Explain the use of ‘Foreign Key’ in a Relational Database Management System. Give example to support your answer.

Answer in Brief

Solution

A foreign key is used to set or represent a relationship between two relations ( or tables) in a database. Its value is derived from the primary key attribute of another relation.

For example: In the tables TRAINER and COURSE given below, TID is the primary key in the TRAINER table but the foreign key in the COURSE table.

TRAINER

TID TNAME CITY HIRE DATE SALARY
101 Mohan Delhi 1987-09-05 57000
102 Sohan Goa 1997-11-15 70000
103 Jyoti Mumbai 2000-08-21 75000
104 Jayesh Nagpur 2005-06-10 65000
105 Leena Agra 1990-11-05 85000
106 Juhi Chandigarh 2004-09-25 50000

COURSE

CID CNAME FEES START DATE TID
C201 Sujay 12000 2018-07-02 101
C202 Kartik 15000 2018-07-15 103
C203 Deepa 10000 2018-10-01 102
C204 Anagha 9000 2018-09-15 104
C205 Yash 20000 2018-08-01 101
shaalaa.com
Keys in a Relational Database
  Is there an error in this question or solution?
2022-2023 (March) Sample

RELATED QUESTIONS

Minimal superkeys are known as?


The attributes which have all the properties of primary key


The primary key can be?  


______ refers to the attribute that can uniquely identify tuples within the relation. 


Attributes that are candidates for primary keys are called ______.


The attribute chosen by the database designer to uniquely identify tuples is known as ______.


An attribute in a table whose value is derived from primary key of another table is known as ______.


Which of the following is true for a tuple and attribute?


Why foreign keys are allowed to have NULL values? Explain with an example.


Differentiate between Primary key and foreign key.


In a multiplex, movies are screened in different auditoriums. One movie can be shown in more than one auditorium. In order to maintain the record of movies, the multiplex maintains a relational database consisting of two relations viz. MOVIE and AUDI respectively as shown below:

Movie(Movie_ID, MovieName, ReleaseDate) Audi(AudiNo, Movie_ID, Seats, ScreenType, TicketPrice)

Is it correct to assign Movie_ID as the primary key in the MOVIE relation? If no, then suggest an appropriate primary key.


In a multiplex, movies are screened in different auditoriums. One movie can be shown in more than one auditorium. In order to maintain the record of movies, the multiplex maintains a relational database consisting of two relations viz. MOVIE and AUDI respectively as shown below:

Movie(Movie_ID, MovieName, ReleaseDate) Audi(AudiNo, Movie_ID, Seats, ScreenType, TicketPrice)

Is it correct to assign AudiNo as the primary key in the AUDI relation? If no, then suggest an appropriate primary key.


In a multiplex, movies are screened in different auditoriums. One movie can be shown in more than one auditorium. In order to maintain the record of movies, the multiplex maintains a relational database consisting of two relations viz. MOVIE and AUDI respectively as shown below:

Movie(Movie_ID, MovieName, ReleaseDate) Audi(AudiNo, Movie_ID, Seats, ScreenType, TicketPrice)

  1. Is it correct to assign Movie_ID as the primary key in the MOVIE relation? If no, then suggest an appropriate primary key.
  2. Is it correct to assign AudiNo as the primary key in the AUDI relation? If no, then suggest an appropriate primary key.
  3. Is there any foreign key in any of these relations?

Student Project Database
Table: STUDENT
Roll No Name Class Section Registration_ID
11 Mohan XI 1 IP-101-15
12 Sohan XI 2 IP-104-15
21 John XII 1 CS-103-14
22 Meena XII 2 CS-101-14
23 Juhi XII 2 CS-101-10
Table: PROJECT
ProjectNo PName SubmissionDate    
101 Airline Database 12/01/2018    
102 Library Database 12/01/2018    
103 Employee Database 15/01/2018    
104 Student Database 12/01/2018    
105 Inventory Database 15/01/2018    
106 Railway Database 15/01/2018    
PROJECT ASSIGNED      
Registration_ID ProjectNo      
IP-101-15 101      
IP-104-15 103      
CS-103-14 102      
CS-101-14 105      
CS-101-10 104      
 
For the above-given database STUDENT-PROJECT, answer the following:
  1. Name the primary key of each table.
  2. Find foreign key(s) in table PROJECT-ASSIGNED.
  3. Is there any alternate key in table STUDENT? Give justification for your answer.
  4. Can a user assign duplicate value to the field RollNo of STUDENT table? Justify.

Student Project Database
Table: STUDENT
Roll No Name Class Section Registration_ID
11 Mohan XI 1 IP-101-15
12 Sohan XI 2 IP-104-15
21 John XII 1 CS-103-14
22 Meena XII 2 CS-101-14
23 Juhi XII 2 CS-101-10
Table: PROJECT
ProjectNo PName SubmissionDate    
101 Airline Database 12/01/2018    
102 Library Database 12/01/2018    
103 Employee Database 15/01/2018    
104 Student Database 12/01/2018    
105 Inventory Database 15/01/2018    
106 Railway Database 15/01/2018    
PROJECT ASSIGNED      
Registration_ID ProjectNo      
IP-101-15 101      
IP-104-15 103      
CS-103-14 102      
CS-101-14 105      
CS-101-10 104      

For the above-given database STUDENT-PROJECT, can we perform the following operations?

  1. Insert a student record with a missing roll number value.
  2. Insert a student record with a missing registration number value.
  3. Insert a project detail without a submission date.
  4. Insert a record with registration ID IP-101-19 and ProjectNo 206 in the table PROJECT-ASSIGNED.

Student Project Database
Table: STUDENT
Roll No Name Class Section Registration_ID
11 Mohan XI 1 IP-101-15
12 Sohan XI 2 IP-104-15
21 John XII 1 CS-103-14
22 Meena XII 2 CS-101-14
23 Juhi XII 2 CS-101-10
Table: PROJECT
ProjectNo PName SubmissionDate    
101 Airline Database 12/01/2018    
102 Library Database 12/01/2018    
103 Employee Database 15/01/2018    
104 Student Database 12/01/2018    
105 Inventory Database 15/01/2018    
106 Railway Database 15/01/2018    
PROJECT ASSIGNED      
Registration_ID ProjectNo      
IP-101-15 101      
IP-104-15 103      
CS-103-14 102      
CS-101-14 105      
CS-101-10 104      

For the above-given database STUDENT-PROJECT, can we perform the following operation?

Insert a student record with a missing registration number value.


Explain the concept of “Alternate Key” in a Relational Database Management System with an appropriate example.


The school has asked their estate manager Mr Rahul to maintain the data of all the labs in a table LAB. Rahul has created a table and entered data from 5 labs.

LAB NO LAB_NAME INCNCHARGE CAPACITY FLOOR
L001 CHEMISTRY Daisy 20 I
L002 BIOLOGY Venky 20 II
L003 MATH Preeti 15 I
L004 LANGUAGE Daisy 36 III
L005 COMPUTER Mary 37 II

Based on the data given above answer the following questions:

(i) Identify the columns which can be considered as Candidate keys.

(ii) Write the degree and cardinality of the table.

(iii) Write the statements to:

      (a) Insert a new row with appropriate data.

      (b) Increase the capacity of all the labs by 10 students which are on
           the 'I' Floor.

                                     OR

(iii) Write the statements to:

        (a) Add a constraints PRIMARY KEY to the column LABNO in the table.

        (b) Delete the table LAB.


Which of the following statements is FALSE about keys in a relational database?


Give one difference between alternate key and candidate key.


Share
Notifications

Englishहिंदीमराठी


      Forgot password?
Use app×