0% found this document useful (0 votes)
2K views11 pages

Types of Keys in Relational Databases

Keys play an important role in relational databases by uniquely identifying records. The primary key uniquely identifies each instance of an entity, while candidate keys can also uniquely identify records and foreign keys link tables by referencing the primary key of another table. There are different types of keys such as primary keys, candidate keys, super keys, and foreign keys.

Uploaded by

mother theressa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views11 pages

Types of Keys in Relational Databases

Keys play an important role in relational databases by uniquely identifying records. The primary key uniquely identifies each instance of an entity, while candidate keys can also uniquely identify records and foreign keys link tables by referencing the primary key of another table. There are different types of keys such as primary keys, candidate keys, super keys, and foreign keys.

Uploaded by

mother theressa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Keys

o Keys play an important role in the relational database.


o It is used to uniquely identify any record or row of data from the table. It is
also used to establish and identify relationships between tables.

For example: In Student table, ID is used as a key because it is unique for each
student. In PERSON table, passport_number, license_number, SSN are keys since
they are unique for each person.

Types of key:
1. Primary key

o It is the first key which is used to identify one and only one instance of an
entity uniquely. An entity can contain multiple keys as we saw in PERSON
table. The key which is most suitable from those lists become a primary key.
o In the EMPLOYEE table, ID can be primary key since it is unique for each
employee. In the EMPLOYEE table, we can even select License_Number and
Passport_Number as primary key since they are also unique.
o For each entity, selection of the primary key is based on requirement and
developers.
2. Candidate key

o A candidate key is an attribute or set of an attribute which can uniquely


identify a tuple.
o The remaining attributes except for primary key are considered as a candidate
key. The candidate keys are as strong as the primary key.

For example: In the EMPLOYEE table, id is best suited for the primary key. Rest of
the attributes like SSN, Passport_Number, and License_Number, etc. are considered
as a candidate key.
3. Super Key
Super key is a set of an attribute which can uniquely identify a tuple. Super key is a
superset of a candidate key.

For example: In the above EMPLOYEE table, for(EMPLOEE_ID, EMPLOYEE_NAME) the


name of two employees can be the same, but their EMPLYEE_ID can't be the same.
Hence, this combination can also be a key.

The super key would be EMPLOYEE-ID, (EMPLOYEE_ID, EMPLOYEE-NAME), etc.

4. Foreign key

o Foreign keys are the column of the table which is used to point to the primary
key of another table.
o In a company, every employee works in a specific department, and employee
and department are two different entities. So we can't store the information of
the department in the employee table. That's why we link these two tables
through the primary key of one table.
o We add the primary key of the DEPARTMENT table, Department_Id as a new
attribute in the EMPLOYEE table.
o Now in the EMPLOYEE table, Department_Id is the foreign key, and both the
tables are related.

Generalization
o Generalization is like a bottom-up approach in which two or more entities of
lower level combine to form a higher level entity if they have some attributes
in common.
o In generalization, an entity of a higher level can also combine with the entities
of the lower level to form a further higher level entity.
o Generalization is more like subclass and superclass system, but the only
difference is the approach. Generalization uses the bottom-up approach.
o In generalization, entities are combined to form a more generalized entity, i.e.,
subclasses are combined to make a superclass.

For example, Faculty and Student entities can be generalized and create a higher
level entity Person.

Specialization
o Specialization is a top-down approach, and it is opposite to Generalization. In
specialization, one higher level entity can be broken down into two lower level
entities.
o Specialization is used to identify the subset of an entity set that shares some
distinguishing characteristics.
o Normally, the superclass is defined first, the subclass and its related attributes
are defined next, and relationship set are then added.

For example: In an Employee management system, EMPLOYEE entity can be


specialized as TESTER or DEVELOPER based on what role they play in the company.
Aggregation
In aggregation, the relation between two entities is treated as a single entity. In
aggregation, relationship with its corresponding entities is aggregated into a higher
level entity.

For example: Center entity offers the Course entity act as a single entity in the
relationship which is in a relationship with another entity visitor. In the real world, if a
visitor visits a coaching center then he will never enquiry about the Course only or
just about the Center instead he will ask the enquiry about both.
Reduction of ER diagram to Table
The database can be represented using the notations, and these notations can be
reduced to a collection of tables.

In the database, every entity set or relationship set can be represented in tabular
form.

The ER diagram is given below:


There are some points for converting the ER diagram to the table:

o Entity type becomes a table.

In the given ER diagram, LECTURE, STUDENT, SUBJECT and COURSE forms individual
tables.

o All single-valued attribute becomes a column for the table.

In the STUDENT entity, STUDENT_NAME and STUDENT_ID form the column of


STUDENT table. Similarly, COURSE_NAME and COURSE_ID form the column of
COURSE table and so on.

o A key attribute of the entity type represented by the primary key.

In the given ER diagram, COURSE_ID, STUDENT_ID, SUBJECT_ID, and LECTURE_ID are


the key attribute of the entity.
o The multivalued attribute is represented by a separate table.

In the student table, a hobby is a multivalued attribute. So it is not possible to


represent multiple values in a single column of STUDENT table. Hence we create a
table STUD_HOBBY with column name STUDENT_ID and HOBBY. Using both the
column, we create a composite key.

o Composite attribute represented by components.

In the given ER diagram, student address is a composite attribute. It contains CITY,


PIN, DOOR#, STREET, and STATE. In the STUDENT table, these attributes can merge
as an individual column.

o Derived attributes are not considered in the table.

In the STUDENT table, Age is the derived attribute. It can be calculated at any point
of time by calculating the difference between current date and Date of Birth.

Using these rules, you can convert the ER diagram to tables and columns and assign
the mapping between the tables. Table structure for the given ER diagram is as
below:
Figure: Table structure

Common questions

Powered by AI

Reducing an ER diagram to a table involves several steps: each entity type becomes a table, with single-valued attributes becoming columns within these tables . Key attributes become primary keys for their respective tables . Multivalued attributes require an additional table because they cannot be represented in a single column due to their multiple values . For instance, the hobby attribute of a student necessitates a separate STUD_HOBBY table with STUDENT_ID and HOBBY as columns, allowing for a composite key that can handle the multiple hobby values for each student .

Generalization and specialization are opposite approaches in database design. Generalization is a bottom-up approach where multiple lower-level entities combine to form a higher-level entity when they share common attributes . It is similar to forming a superclass from subclasses, for instance, combining Faculty and Student entities into a higher-level Person entity . On the other hand, specialization is a top-down approach where a higher-level entity is divided into lower-level entities based on distinguishing characteristics . For example, the EMPLOYEE entity can be specialized into TESTER or DEVELOPER roles .

Entity relationships in ER diagrams transition into table structures by defining entities as tables and their attributes as columns, preserving relationships through keys . This transition involves mapping single-valued attributes directly into columns, utilizing key attributes as primary keys, and addressing multivalued attributes with additional tables . This transition is crucial for database management as it provides a clear and systematic way to convert conceptual designs into practical schemas that databases can implement and manage, ensuring consistency, integrity, and the efficiency of data storage and retrieval .

Derived attributes, such as Age in a STUDENT table, are not directly stored in tables because they can be calculated at any time using other stored data, like Date of Birth . Storing derived data would lead to redundancy and possible inconsistency, as the derived values would need frequent updates if the underlying values change. Instead, calculations are performed at runtime, ensuring accuracy without the need for storage space or maintenance of additional attributes within the database's physical schema .

Super keys are sets of attributes that can uniquely identify tuples within a table, and they include all potential keys that meet this criterion . Candidate keys are a subset of super keys in that they are minimal super keys, containing only the necessary attributes required for unique identification, without any extra attributes . Therefore, super keys are considered supersets of candidate keys because they encompass all combinations that could serve as keys, including those that are not minimal .

If a relational database system fails to accurately implement primary and foreign key constraints, it can lead to multiple issues such as data redundancy, inconsistencies, and loss of data integrity . Without a unique primary key, duplicate records might proliferate, undermining effective data retrieval and management . Similarly, improper foreign key implementation could result in orphaned records that reference nonexistent entities, breaking the referential integrity that keeps related tables consistent and unified . This breakdown can critically impact database reliability and the trustworthiness of the data held within it.

Aggregation in databases is used to treat relationships themselves as higher-level entities. This concept allows for the modeling of complex interactions where the relation between two entities is encapsulated and handled as a single entity . For instance, when a coaching center offers courses, the relationship between the center and the courses is aggregated to interact with entities like visitors, forming a higher-level conceptual entity that represents both components simultaneously . This method simplifies complex relationships by reducing their interaction to higher-level entities that can be more easily managed within the database schema .

Primary keys uniquely identify each record in a table and are crucial for ensuring that entries are distinct and easily retrievable . In contrast, foreign keys are used to create relationships between tables by referencing the primary key of another table. This helps enforce referential integrity within the database . For instance, in the EMPLOYEE and DEPARTMENT tables, the DEPARTMENT table's primary key, Department_Id, is included as a foreign key in the EMPLOYEE table to connect the two entities .

Composite keys are necessary for handling multivalued attributes because a single attribute cannot accommodate multiple values within a standard columnar database table . A composite key is formed by combining two or more columns to create a unique identifier for a record. In the case of a STUDENT table, where hobbies represent multivalued attributes, a separate table, such as STUD_HOBBY, is created. This table includes STUDENT_ID and HOBBY as columns, forming a composite key that handles the multiple values effectively. This allows for proper normalization and retrieval of data without redundancy .

Candidate keys ensure data integrity by providing multiple potential ways to uniquely identify tuples in a database table . While they are all capable of serving as primary keys, only one candidate key is designated as the primary key, which becomes the main reference point for ensuring entity uniqueness and data integrity within the table . The primary key is thus selected based on its suitability and potential constraints within the data model, whereas the remaining candidate keys serve as backups that can be utilized if the primary key needs to change or accommodate additional constraints .

You might also like