CONSTRAINTS
Constraints enable you to further control how data is entered into a table and are used to restrict values that can be inserted into a field and to establish referential integrity
Constraint - is a mechanism use to protect the relationship between data within an Oracle table or the correspondence between data in two different tables.
NULL / NOT NULL - used to indicate if a field can be left blank when records are entered into a table.
PRIMARY KEY - used to uniquely identify every record in a table
FOREIGN KEY - used to link records of a table to the records of another table
UNIQUE - used to ensure that every value in a column is different
CHECK - used to set criterion for the data entered into a column.
PRIMARY KEY
NOT NULL
UNIQUE
CHECK
FOREIGN KEY
NO ACTION
CASCADE
Guidleines for primary keys and Foreign keys
No duplicate values are allowed in a primary key
Primary keys generally cannot be changed
Foreign keys are based on data values and are purely logical, not physical, pointers
A foreign keys value must match an existing primary key value or unique key value or else be null
You cannot define foreign keys without existing primary (unique keys)
Adding Constraints
Adding constraints to your tables will make them more efficient and increase the integrity of the data
Constraints are used to establish relationships between tables
Adds a constraint to a table
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint
Adds a new column to a table of the specified data type
ALTER TABLE table_name
ADD table_column datatype
Removing Constraints
Removes a constraint from a table
ALTER TABLE table_name
DROP CONSTRAINT constraint_name
Changing Constraints
Changes the data type of a column to a new datatype
ALTER TABLE table_name
MODIFY table_column
Changes a constraint on a column
ALTER TABLE table_name
MODIFY (column_name CONSTRAINT constraint_name constraint)
Referential Integrity Constraints
A relationship database usually has relationships set up between its tables.
A referential integrity constraint is one in which a row in one table (with a foreign key) cannot exist unless a value (column) in that row refers to a primary key value (column) in another table.
This is the primary key/foreign key relationship between two tables
Cascading Deletes and Updates
In SQL Server there is an option available that allows us to CASCADE the Delete and Update operations
An "ordinary" Delete or Update would fail if any referenced rows would be orphaned
A "cascaded" Delete or Update would delete all the referenced rows as well.
Defining a Referential Integrity Constraint
First the column that is being referenced must be defined as a primary key
Lets suppose we have two tables: Products and Orders
and lets assume that the Products table has a primary key on the ProductID
The Orders table will be the referencing table and will contain the foreign key.
Applying on Creation
CREATE TABLE ORDERS
(
OrderID INTEGER CONSTRAINT constraint.name1 PRIMARY KEY
Quantity INTEGER
ProductID INTEGER CONSTRAINT constraint.name2 REFERENCES Products(ProductID)
)
Applying After Creation
ALTER TABLE ORDERS
(
ADD CONSTRAINT constraint.name2 FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
)
© 2024 Better Solutions Limited. All Rights Reserved. © 2024 Better Solutions Limited TopPrevNext