RDBMS CONCEPT
REFERENTIAL INTEGRITY
Referential Integrity is a system of rules that a DBMS uses to ensure that relationships between records in related table are valid, and that users don't accidentally delete or change related data.
Conditions to set Referential Integrity:
✓ The matching field from the primary table is a primary key or has a unique index
✓ The related fields have the same data type
✓ Both tables belong to the same database
When referential integrity is enforced, given rules should be followed:
✓ One can't enter a value in the foreign key field of the related table that doesn't exist in the primary key of the primary table.
✓ One can't delete a record from a primary table, if matching records exist in related table.
✓ One can't change a primary key value in the primary table, if that record has related records.
For example, suppose Table B has a foreign key that points to a field in Table A.
Referential integrity would prevent you from adding a record to Table B that cannot be linked to Table A.
In addition, the referential integrity rules might also specify that whenever you delete a record from Table A, any records in Table B that are linked to the deleted record will also be deleted. This is called cascading delete.
Finally, the referential integrity rules could specify that whenever you modify the value of a linked field in Table A, all records in Table B that are linked to it will also be modified accordingly. This is called cascading update.
CREATE TABLE Department (dept_id INT NOT NULL,
dept_name VARCHAR(256),
PRIMARY KEY (dept_id));
CREATE TABLE Employee (emp_id INT NOT NULL,
emp_name VARCHAR(256),
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES Department(dept_id));
Above SQL statements will create both Department and Employee table. dept_id is now foreign key in Employee table.
SQL Constraints
SQL constraints are used to specify rules for the data in a table.
Constraints are used to limit the type of data that can go into a table. This ensures the accuracy and reliability of the data in the table. If there is any violation between the constraint and the data action, the action is aborted.
Constraints can be column level or table level. Column level constraints apply to a column, and table level constraints apply to the whole table.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
CREATE TABLE Persons (
ID int ,
Sid integr check(sid>10),
LastName varchar(255) NOT NULL,
rol integer,
Qoh integer,
Age int,
Grade char(2), DEFAULT ‘A1’,
Check(ROL>QOH),
UNIQUE (ID)
);
Comments
Post a Comment