0% found this document useful (0 votes)
13 views

Integrity Rules and Constraints - Database Design Fundamentals For Software Engineers

The document discusses different types of integrity constraints in relational databases including domain constraints, entity integrity, referential integrity constraints, and key constraints. Domain constraints specify that attribute values must be of the correct data type. Entity integrity requires each relation to have a primary key without null values. Referential integrity constraints enforce relationships between primary and foreign keys across tables. Key constraints require primary keys to be unique for each tuple.

Uploaded by

Enrique Gonzalez
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Integrity Rules and Constraints - Database Design Fundamentals For Software Engineers

The document discusses different types of integrity constraints in relational databases including domain constraints, entity integrity, referential integrity constraints, and key constraints. Domain constraints specify that attribute values must be of the correct data type. Entity integrity requires each relation to have a primary key without null values. Referential integrity constraints enforce relationships between primary and foreign keys across tables. Key constraints require primary keys to be unique for each tuple.

Uploaded by

Enrique Gonzalez
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

26/7/23, 18:32 Integrity Rules and Constraints - Database Design Fundamentals for Software Engineers

Integrity Rules and Constraints


In this lesson, we will discuss the different types of constraints present on relational
databases.

We'll cover the following

• Relational integrity constraints


• Domain constraints
• Entity integrity
• Referential integrity constraint
• Key constraints

Constraints are a very important feature in a relational model. In fact, the


relational model supports the well-defined theory of constraints on
attributes or tables. Constraints are useful because they allow a designer to
specify the semantics of data in the database. Constraints are the rules that
force DBMSs to check that data satisfies the semantics.

Relational integrity constraints


Relational integrity constraints are the conditions that must be present for a
valid relation. These integrity constraints are derived from the rules in the
mini-world that the database represents.

There are many types of integrity constraints, but we will focus on the
following:

Domain constraints
https://www.educative.io/courses/database-design-fundamentals/gxN1XONDovG 1/5
26/7/23, 18:32 Integrity Rules and Constraints - Database Design Fundamentals for Software Engineers

Domain constraints specify that within each tuple, the value of each
attribute must appear in the corresponding domain (in other words, it
should belong to the appropriate data type). We have already discussed how
domains can be specified in the previous lessons. The data types associated
with domains typically include integers, real numbers, characters, booleans,
etc. Let’s consider the following example:

Std_Id Name Age


1 Jack 22
2 Jill 25
3 Ahmed 19
4 Anderson A

Here, value ‘A’ is not allowed since only integer values can be taken by the
Age attribute.

Entity integrity

To ensure entity integrity, it is required that every relation has a primary


key. Neither the primary key nor any part of it can contain NULL values. This
is because the presence of a NULL value in the primary key violates the
uniqueness property. Let’s say we have the following table with Std_Id as the
primary key:

Std_Id Name Age


1 Jack 22
2 Jill 25
3 Ahmed 19
NULL Anderson 21

https://www.educative.io/courses/database-design-fundamentals/gxN1XONDovG 2/5
26/7/23, 18:32 Integrity Rules and Constraints - Database Design Fundamentals for Software Engineers

This relation does not satisfy the entity integrity constraint as here the
primary key contains a NULL value.

Referential integrit y constraint

This constraint is enforced when a foreign key references the primary key of
a relation. It specifies that all the values taken by the foreign key must either
be available in the relation of the primary key or be NULL.

Referential integrity constraint has two very important results:

Rule 1: We cannot insert a record into a referencing relation if the


corresponding record does not exist in the referenced relation.

Example: Let us consider two relations: STUDENT and DEPARTMENT. Here,


STUDENT is the referencing relation while DEPARTMENT is the referenced
relation as Dep_No acts as the foreign key in the STUDENT relation.

Std_Id Name Dep_No


1 Jack D1
2 Jill D4
3 Ahmed D5

Dep_No Dep_Name
D1 Physics
D4 Biology
D5 Computer Science
D7 Electrical Engineering

Now we insert the following tuple into the STUDENT table; <4, ‘Anderson’,
‘D9’>

https://www.educative.io/courses/database-design-fundamentals/gxN1XONDovG 3/5
26/7/23, 18:32 Integrity Rules and Constraints - Database Design Fundamentals for Software Engineers

Std_Id Name Dep_No


1 Jack D1
2 Jill D4
3 Ahmed D5
4 Anderson D9

We now see that the STUDENT relation does not satisfy the referential
integrity constraint. This is because, in the DEPARTMENT relation, no value
of a primary key specifies department no. 9. Hence, the referential integrity
constraint is violated.

Rule 2: We cannot delete or update the record of the referenced relation if


the corresponding record exists in the referencing relation.

Example: Again consider the STUDENT and DEPARTMENT relations as seen


above.

Now if we try to delete the tuple in the DEPARTMENT relation with Dep_No =
‘D1’. This will again violate the referential integrity constraint, as some
students are already enrolled in the course and this will lead to
inconsistencies in the database.

Key constraints

As we know, a primary key uniquely identifies each record in a table.


Therefore, it must have a unique value for each tuple in the relation R. For
example:

Std_Id Name Age


1 Jack 22
2 Jill 25
3 Ahmed 19
1 Anderson 21
https://www.educative.io/courses/database-design-fundamentals/gxN1XONDovG 4/5
26/7/23, 18:32 Integrity Rules and Constraints - Database Design Fundamentals for Software Engineers

The key constraint is violated as the primary key Std_Id has the same value
for the first and fourth tuple.

In the next lesson, we will define what a relational database schema is and
how it is used to represent integrity constraints.

Back Next

Introduction to Databa…
Relational Database S…

Mark as
Completed

https://www.educative.io/courses/database-design-fundamentals/gxN1XONDovG 5/5

You might also like