Vibha Gupta
Technical Content Writer at almaBetter
Learn about different types of integrity constraints in DBMS with detailed examples, ensuring data accuracy, consistency, and reliability in database systems.
What is Integrity Constraints in DBMS? - Integrity constraints in DBMS play a crucial role in maintaining the quality and integrity of information in a database management system (DBMS). These constraints act as a set of rules that ensure data insertion, updating, and other processes are performed in a way that does not compromise the integrity of the data. In this article, we will explain integrity constraints in DBMS and explore the different types of integrity constraints and their significance in safeguarding the accuracy and reliability of a database.
Domain constraints define integrity constraints in DBMS as the valid set of values for an attribute in a database. Each attribute has a specific data type: string, character, integer, time, date, currency, etc. The domain constraint ensures that the value of an attribute falls within the defined data type. For example, if the domain constraint for a "Name" attribute is set to a string of a maximum of 50 characters, any data inserted into that attribute must comply with this constraint.
Domain constraints are defined for each attribute in a database to ensure that the data entered into the attribute adheres to the specified data type. For example, if the "Age" attribute is defined as an integer, any value entered into it must be a whole number. This constraint helps maintain data integrity and prevents incorrect or irrelevant data insertion. By defining domain constraints, the DBMS can validate the input and reject any data that does not meet the specified criteria.
Data Type Constraints: These constraints specify the type of data that can be stored in a column. For example:
Range Constraints: Range constraints restrict the allowable values for a column within a specified range. For example:
Enum Constraints: Enumerated (enum) constraints define a list of allowable values for a column. For example:
Constraint Type | Column Name | Example | Description |
---|---|---|---|
Data Type Constraints | DateOfBirth | Date | Ensures that only valid dates are stored in the column. |
PhoneNumber | String | Ensures that phone numbers are stored as text. | |
Range Constraints | Age | Integer (0-120) | Allows values between 0 and 120 to ensure that ages are within a reasonable range. |
Price | Decimal (>= 0) | Specifies that prices must be greater than or equal to zero to prevent negative values. | |
Enum Constraints | Gender | Enum ("Male," "Female," "Non-Binary") | Allows only specified values like "Male," "Female," or "Non-Binary." |
Status | Enum ("Active," "Inactive," "Pending") | Specifies that the column should only contain values like "Active," "Inactive," or "Pending." |
Entity integrity constraints over relations in DBMS focus on maintaining the uniqueness and validity of primary key values within a table. The primary key serves as a unique identifier for individual rows in a relation. An entity integrity constraint states that the primary key value cannot be null. This is because it becomes impossible to identify and distinguish rows within a table without a valid primary key value. However, other fields in a table can contain null values.
To illustrate this, consider a table called "Customers" with attributes such as "Customer_ID," "Name," and "Address." The "Customer_ID" attribute is designated as the primary key. This constraint ensures that every row in the "Customers" table has a unique customer ID, allowing for easy identification and retrieval of specific customer records. It also prevents the insertion of null values in the primary key field, ensuring the integrity of the data.
Consider a database for a library system with a "Books" table. In this table, the "book_id" column serves as the primary key, uniquely identifying each book in the library. An entity integrity constraint for this table would be:
Entity Integrity Constraint Example:
In the "Books" table:
Table Name | Column Name | Primary Key | Description |
---|---|---|---|
Customers | Customer_ID | Yes | Ensures that every row has a unique and non-null customer ID, allowing for easy identification. |
Name | No | Other fields like "Name" can contain null values. | |
Address | No | Other fields like "Address" can contain null values. | |
Books | Book_ID | Yes | Ensures that each value in the "book_id" column is unique and non-null, identifying each book uniquely. |
Title | No | Other fields like "Title" can contain null values. | |
Author | No | Other fields like "Author" can contain null values. |
What are referential integrity constraints in DBMS? - Referential integrity constraints in DBMS establish a relationship between two tables in a DBMS. These constraints ensure that if a foreign key in Table 1 references the primary key of Table 2, every value of the foreign key in Table 1 must either be null or exist in Table 2. This constraint prevents inconsistencies and data integrity issues when referencing data across different tables. By enforcing referential integrity, the DBMS guarantees that the relationships between tables are maintained accurately.
For example, consider two tables: "Customers" and "Orders." The "Customers" table has a primary key called "Customer_ID," while the "Orders" table has a foreign key called "Customer_ID" that references the primary key in the "Customers" table. The referential integrity constraint ensures that any value entered into the "Customer_ID" field in the "Orders" table must exist in the "Customers" table. This constraint prevents the creation of orphaned rows and maintains the integrity of the data across tables.
Imagine a scenario involving two lists: a list of "Tasks" and a list of "Categories" for organizing those tasks.
Now, we want to apply referential integrity constraints to ensure that tasks can only be assigned to categories that actually exist in the "Categories" list.
Here's how this would work:
You have a task called "Finish Report" that you want to categorize as "Work."
To enforce referential integrity, you check whether the "Work" category exists in the "Categories" list.
If "Work" exists in the "Categories" list, you can successfully assign the "Finish Report" task to the "Work" category.
However, if you try to assign the "Finish Report" task to a non-existent category like "Vacation," the referential integrity constraint would prevent it, ensuring that tasks are only associated with valid categories.
Keys are entity sets used to identify entities within their respective sets uniquely. While an entity set can have multiple keys, there is typically one designated primary key. The primary key must contain a unique value for each row in the relational table. However, a primary key can also allow null values as long as they remain unique within the table.
Key constraints play a vital role in ensuring the uniqueness of data within a table. While an entity set can have multiple keys, there is typically one designated primary key. The primary key must contain a unique value for each row in the relational integrity constraints in DBMS. However, a primary key can also allow null values as long as they remain unique within the table.
In addition to the primary key, there can be other key constraints, such as unique keys and candidate keys. A unique key constraint ensures that the values in a specific attribute or combination of attributes are unique across the table. This constraint helps maintain data integrity by preventing duplicate values from being inserted. On the other hand, candidate keys are attributes or combinations of attributes that could serve as the primary key. They must also guarantee uniqueness within the table.
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50)
);
In this example, the StudentID column is defined as the primary key, ensuring that each student has a unique identifier.
CREATE TABLE Employees (
EmployeeID INT UNIQUE,
FirstName VARCHAR(50),
LastName VARCHAR(50)
);
Here, the EmployeeID column must contain unique values, but it's not necessarily the primary key.
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
In this case, the CustomerID column in the Orders table references the CustomerID column in the Customers table, ensuring that orders are associated with valid customers.
CREATE TABLE Products (
ProductID INT PRIMARY KEY,
ProductName VARCHAR(100),
Price DECIMAL(10, 2) CHECK (Price > 0)
);
This check constraint ensures that the Price column always contains a positive value.
CREATE TABLE Addresses (
AddressID INT PRIMARY KEY,
Street VARCHAR(100) NOT NULL,
City VARCHAR(50),
State VARCHAR(50)
);
In this case, the Street column must always have a value.
Implementing integrity constraints in DBMS offers several benefits, including:
Integrity constraints are a fundamental aspect of database management systems. They ensure the quality and integrity of data by enforcing rules and constraints on data insertion, updating, and referencing processes. By implementing domain constraints, entity integrity constraints, referential integrity constraints, and key constraints, a DBMS can maintain the data's accuracy, consistency, and security. Understanding and implementing these integrity constraints is crucial for organizations to ensure the reliability and effectiveness of their databases.
In conclusion, integrity constraints in DBMS are essential for maintaining a high-quality database that can be relied upon for accurate and consistent information. To gain profound expertise in integrity constraints, enrolling in a web development course is crucial. Explore our "pay after placement" courses for comprehensive learning opportunities. By adhering to these constraints, organizations can enhance data integrity, security, and performance. Implementing and enforcing integrity constraints in DBMS should be a standard practice in any DBMS to ensure the reliability and effectiveness of the database.
Related Articles
Top Tutorials