Chapter :-2 (English)
3. Concept of Key in DBMS
Concept of Key in DBMS
Definition:
A key is an attribute or a set of attributes in a database table that is used to uniquely identify each record in that table.
It also helps to establish and enforce relationships between tables.
1. Primary Key (PK)
Definition:
A Primary Key is a field (or combination of fields) in a database table that uniquely identifies each record in that table.
· It cannot have NULL values.
· Each table can have only one primary key.
Example:
In a Student table, StudentID can be the primary key because it uniquely identifies each student.
✅ Advantages of Primary Key
1. Ensures Uniqueness – No two records can have the same primary key value.
2. Maintains Data Integrity – Helps enforce correct relationships between tables.
3. Faster Data Retrieval – Often indexed automatically, speeding up searches.
4. Supports Referential Integrity – Can be referenced by foreign keys in other tables.
5. Simplifies Updates and Deletes – Clear identification of records reduces errors.
✅ Disadvantages of Primary Key
1. Cannot Change Easily – Changing a primary key value may affect related tables.
2. Cannot Be NULL – Every record must have a value, which may not always be practical.
3. Adds Complexity – Choosing an appropriate primary key can be difficult.
4. Dependency Issues – Updates or deletions in parent table require handling in child tables.
5. Overhead for Large Tables – Indexing and maintaining a primary key in very large tables may slightly affect performance.
2. Candidate Key
Definition:
A Candidate Key is an attribute (or a set of attributes) in a table that can uniquely identify each record.
· A table can have one or more candidate keys.
· One of these candidate keys is selected as the Primary Key.
Example:
In a Student table:
· StudentID and Email could both uniquely identify a student.
· Either can be chosen as the primary key; the other remains a candidate key.
✅ Advantages of Candidate Key
1. Ensures Uniqueness – Can uniquely identify each record in a table.
2. Provides Options for Primary Key – Helps in selecting the best attribute as primary key.
3. Maintains Data Integrity – Supports consistent and reliable data.
4. Supports Relationships – Can be used as a foreign key in related tables.
5. Flexible – Multiple candidate keys allow alternate ways to identify records.
✅ Disadvantages of Candidate Key
1. Increases Complexity – More candidate keys make design slightly more complex.
2. Maintenance Overhead – Each candidate key must maintain uniqueness.
3. Cannot Handle NULL Values – Must have valid values to identify records.
4. Dependency Issues – Changing a candidate key may affect foreign key relationships.
5. Requires Careful Selection – Choosing the most suitable key is sometimes difficult.
3. Foreign Key (FK)
Definition:
A Foreign Key is an attribute (or set of attributes) in a table that refers to the primary key of another table.
· It is used to establish and enforce a link between two tables.
· It ensures referential integrity, meaning data in one table must match values in the related table.
Example:
· StudentID in an Enrollment table can be a foreign key referencing StudentID in the Student table.
✅ Advantages of Foreign Key
1. Maintains Referential Integrity – Ensures related data in different tables is consistent.
2. Prevents Orphan Records – Cannot insert a value in the child table unless it exists in the parent table.
3. Defines Relationships – Clearly establishes one-to-many or many-to-one relationships.
4. Supports Data Accuracy – Invalid or inconsistent data is prevented.
5. Improves Database Organization – Helps structure relational data effectively.
✅ Disadvantages of Foreign Key
1. Insert/Update/Delete Restrictions – Must satisfy constraints; otherwise, operations fail.
2. Slower Performance – Checking foreign key constraints can slow down inserts and updates.
3. Complexity – Makes database design more complex with multiple linked tables.
4. Dependency Issues – Changes in the parent table may require cascading changes in the child table.
5. Cannot Be NULL Easily – If a foreign key must reference a parent record, NULL values may be restricted depending on the design.
4. Composite Key
Definition:
A Composite Key is a primary key made up of two or more attributes in a table that together uniquely identify a record.
· Single attributes alone cannot uniquely identify the record.
Example:
In an Enrollment table:
| StudentID | CourseID | Grade |
· Neither StudentID nor CourseID alone is unique.
· The combination (StudentID + CourseID) forms a composite key.
✅ Advantages of Composite Key
1. Ensures Uniqueness – Can uniquely identify records when a single attribute is insufficient.
2. Maintains Data Integrity – Helps prevent duplicate entries for the same combination.
3. Supports Relationships – Can be used as a foreign key in related tables.
4. Flexible – Can combine multiple attributes as needed for uniqueness.
5. Efficient for Many-to-Many Relationships – Commonly used in junction tables.
❌ Disadvantages of Composite Key
1. Complexity – More difficult to design and use than a single primary key.
2. Larger Indexes – Indexing on multiple columns may reduce performance.
3. Difficult to Maintain – Updating any part of the composite key affects all relationships.
4. Not User-Friendly – Harder to read and remember composite key values.
5. Foreign Key Complications – Referencing a composite key in another table requires all components.
Concept of Key in DBMS
Definition:
A key is an attribute or a set of attributes in a database table that is used to uniquely identify each record in that table.
It also helps to establish and enforce relationships between tables.
1. Primary Key (PK)
Definition:
A Primary Key is a field (or combination of fields) in a database table that uniquely identifies each record in that table.
· It cannot have NULL values.
· Each table can have only one primary key.
Example:
In a Student table, StudentID can be the primary key because it uniquely identifies each student.
✅ Advantages of Primary Key
1. Ensures Uniqueness – No two records can have the same primary key value.
2. Maintains Data Integrity – Helps enforce correct relationships between tables.
3. Faster Data Retrieval – Often indexed automatically, speeding up searches.
4. Supports Referential Integrity – Can be referenced by foreign keys in other tables.
5. Simplifies Updates and Deletes – Clear identification of records reduces errors.
✅ Disadvantages of Primary Key
1. Cannot Change Easily – Changing a primary key value may affect related tables.
2. Cannot Be NULL – Every record must have a value, which may not always be practical.
3. Adds Complexity – Choosing an appropriate primary key can be difficult.
4. Dependency Issues – Updates or deletions in parent table require handling in child tables.
5. Overhead for Large Tables – Indexing and maintaining a primary key in very large tables may slightly affect performance.
2. Candidate Key
Definition:
A Candidate Key is an attribute (or a set of attributes) in a table that can uniquely identify each record.
· A table can have one or more candidate keys.
· One of these candidate keys is selected as the Primary Key.
Example:
In a Student table:
· StudentID and Email could both uniquely identify a student.
· Either can be chosen as the primary key; the other remains a candidate key.
✅ Advantages of Candidate Key
1. Ensures Uniqueness – Can uniquely identify each record in a table.
2. Provides Options for Primary Key – Helps in selecting the best attribute as primary key.
3. Maintains Data Integrity – Supports consistent and reliable data.
4. Supports Relationships – Can be used as a foreign key in related tables.
5. Flexible – Multiple candidate keys allow alternate ways to identify records.
✅ Disadvantages of Candidate Key
1. Increases Complexity – More candidate keys make design slightly more complex.
2. Maintenance Overhead – Each candidate key must maintain uniqueness.
3. Cannot Handle NULL Values – Must have valid values to identify records.
4. Dependency Issues – Changing a candidate key may affect foreign key relationships.
5. Requires Careful Selection – Choosing the most suitable key is sometimes difficult.
3. Foreign Key (FK)
Definition:
A Foreign Key is an attribute (or set of attributes) in a table that refers to the primary key of another table.
· It is used to establish and enforce a link between two tables.
· It ensures referential integrity, meaning data in one table must match values in the related table.
Example:
· StudentID in an Enrollment table can be a foreign key referencing StudentID in the Student table.
✅ Advantages of Foreign Key
1. Maintains Referential Integrity – Ensures related data in different tables is consistent.
2. Prevents Orphan Records – Cannot insert a value in the child table unless it exists in the parent table.
3. Defines Relationships – Clearly establishes one-to-many or many-to-one relationships.
4. Supports Data Accuracy – Invalid or inconsistent data is prevented.
5. Improves Database Organization – Helps structure relational data effectively.
✅ Disadvantages of Foreign Key
1. Insert/Update/Delete Restrictions – Must satisfy constraints; otherwise, operations fail.
2. Slower Performance – Checking foreign key constraints can slow down inserts and updates.
3. Complexity – Makes database design more complex with multiple linked tables.
4. Dependency Issues – Changes in the parent table may require cascading changes in the child table.
5. Cannot Be NULL Easily – If a foreign key must reference a parent record, NULL values may be restricted depending on the design.
4. Composite Key
Definition:
A Composite Key is a primary key made up of two or more attributes in a table that together uniquely identify a record.
· Single attributes alone cannot uniquely identify the record.
Example:
In an Enrollment table:
| StudentID | CourseID | Grade |
· Neither StudentID nor CourseID alone is unique.
· The combination (StudentID + CourseID) forms a composite key.
✅ Advantages of Composite Key
1. Ensures Uniqueness – Can uniquely identify records when a single attribute is insufficient.
2. Maintains Data Integrity – Helps prevent duplicate entries for the same combination.
3. Supports Relationships – Can be used as a foreign key in related tables.
4. Flexible – Can combine multiple attributes as needed for uniqueness.
5. Efficient for Many-to-Many Relationships – Commonly used in junction tables.
❌ Disadvantages of Composite Key
1. Complexity – More difficult to design and use than a single primary key.
2. Larger Indexes – Indexing on multiple columns may reduce performance.
3. Difficult to Maintain – Updating any part of the composite key affects all relationships.
4. Not User-Friendly – Harder to read and remember composite key values.
5. Foreign Key Complications – Referencing a composite key in another table requires all components.