Section 2.12 Constraints Flashcards
What is a constraint in the context of a database?
- A constraint is a rule that governs allowable values in a database and is implemented with special keywords in a
CREATE TABLE
statement. - The database automatically rejects any insert, update, or delete statements that violate a constraint.
What is the syntax for creating a NOT NULL
constraint in a CREATE TABLE
statement?
A NOT NULL
constraint is placed after the column name and data type.
CREATE TABLE table_name ( column1_name data_type NOT NULL, column2_name data_type NOT NULL, ... );
How do you define a FOREIGN KEY
constraint in SQL?
A FOREIGN KEY
constraint is defined in a separate clause of a CREATE TABLE
statement.
CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, Name VARCHAR(255), DepartmentCode INT, FOREIGN KEY (DepartmentCode) REFERENCES Departments(Code) );
This statement provides an example with which types of constraints?
- PRIMARY KEY: Uniquely identifies each row in the Employee table (ID column).
- NOT NULL: Ensures the Name column always has a value.
- FOREIGN KEY: Links Employee records to valid Department records (DepartmentCode referencing Code).
- DEFAULT: Sets a default value of ‘999’ for DepartmentCode if none is given.
These constraints ensure data integrity and consistency in the database.
What does the DEFAULT
constraint do?
The DEFAULT
constraint specifies a value inserted ; when a column is omitted from an INSERT
statement, but does not limit allowable values.
- The
UNIQUE
constraint, which ensures that all values in a column; or a group of columns are unique. - Demonstrate the
UNIQUE
constraint (create, alter)?
CREATE TABLE your_table_name ( column_name DATA_TYPE UNIQUE, -- other columns and constraints ); ALTER TABLE your_table_name ADD CONSTRAINT unique_constraint_name UNIQUE (column_name);
A CHECK
constraint specifies an expression that must be satisfied for data to be allowed in the table, violated when the expression is FALSE.
Demonstrate a CHECK
constraint (create, alter)?
CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, LastName VARCHAR(255) NOT NULL, FirstName VARCHAR(255), BirthDate DATE, HireDate DATE, CHECK (BirthDate < HireDate) ); ALTER TABLE Employees ADD CONSTRAINT CK_BirthDate CHECK (BirthDate < HireDate);
How do you add a CHECK
constraint in a CREATE TABLE
statement?
It can be added in the column declaration or as a separate clause.
How can you name a constraint when creating a table?
What is the syntax to add a new CHECK
constraint using ALTER TABLE
?
Use the following syntax to add a CHECK
constraint:
ALTER TABLE TableName ADD CONSTRAINT ConstraintName CHECK (condition);
What is the command to drop the UNIQUE
constraint called UniqueNameMgr
from a table called DEPARTMENT
?
Use the following SQL command:
ALTER TABLE Department
DROP INDEX UniqueNameMgr;
What is the syntax for adding a PRIMARY KEY
constraint to an existing table?
What type of constraint is used to ensure that a column cannot have a NULL value?
The NOT NULL
constraint is used to ensure that a column cannot contain NULL values.
Example:
sql
ColumnName VARCHAR(50) NOT NULL
What is the syntax for defining a composite PRIMARY KEY
in a CREATE TABLE
statement?
-
Inline constraint definition you specify the
PRIMARY KEY
constraint directly within the column definitions. -
OOL constraint definition you specify the
PRIMARY KEY
constraint directly within the column definitions.
What SQL command is used to add a UNIQUE
constraint to a table?
Use the ALTER TABLE
command with ADD CONSTRAINT
.
Example:
ALTER TABLE TableName
ADD CONSTRAINT UniqueConstraintName UNIQUE (ColumnName);