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.
Example: sql
Name VARCHAR(20) 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.
Example: sql
FOREIGN KEY (DepartmentCode) REFERENCES Department (Code)
Provide an example of a CREATE TABLE
statement with multiple constraints including a PRIMARY KEY
.
sql
CREATE TABLE Employee (
ID INT,
Name VARCHAR(20) NOT NULL,
DepartmentCode INT DEFAULT 999,
PRIMARY KEY (ID),
FOREIGN KEY (DepartmentCode) REFERENCES Department (Code)
);
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.
How can you enforce uniqueness in a column using a constraint?
Use the UNIQUE
constraint, which ensures that all values in a column or a group of columns are unique.
Example: sql
UNIQUE (ColumnName)
What is the purpose of a CHECK
constraint?
A CHECK
constraint specifies an expression that must be satisfied for data to be allowed in the table, violating when the expression is FALSE.
Example: sql
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.
Example: sql
CHECK (HireDate >= '2000-01-01' AND HireDate <= '2019-12-31')
How can you name a constraint when creating a table?
Use the CONSTRAINT
keyword followed by the name of the constraint and the constraint declaration.
Example: sql
CONSTRAINT ConstraintName UNIQUE (Column1, Column2)
What is the syntax to add a new CHECK
constraint using ALTER TABLE
?
Use the following syntax to add a CHECK constraint:
sql
ALTER TABLE TableName
ADD CONSTRAINT ConstraintName CHECK (condition);
What is the command to drop the UNIQUE constraint called UniqueNameMgr
from a table?
Use the following SQL command:
sql
ALTER TABLE Department
DROP INDEX UniqueNameMgr;
What is the syntax for adding a PRIMARY KEY
constraint to an existing table?
The syntax is:
sql
ADD [CONSTRAINT ConstraintName] PRIMARY KEY (Column1, Column2 ...)
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?
A composite PRIMARY KEY
is defined by specifying multiple columns in a table constraint.
Example:
sql
PRIMARY KEY (Column1, Column2)
What SQL command is used to add a UNIQUE
constraint to a table?
Use the ALTER TABLE
command with ADD CONSTRAINT
.
Example:
sql
ALTER TABLE TableName
ADD CONSTRAINT UniqueConstraintName UNIQUE (ColumnName);