0% found this document useful (0 votes)
75 views

Course 1 Module 03 Lesson 4

This document discusses integrity constraints in relational databases. It provides examples of SQL syntax for defining primary keys, foreign keys, unique constraints, and check constraints. Primary keys ensure each row is unique, foreign keys enforce relationships between tables, and check constraints validate column values. Constraints can be defined inline within column definitions or externally after the column list. The document also notes MySQL has some limitations for check constraints compared to other databases.

Uploaded by

Rom
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Course 1 Module 03 Lesson 4

This document discusses integrity constraints in relational databases. It provides examples of SQL syntax for defining primary keys, foreign keys, unique constraints, and check constraints. Primary keys ensure each row is unique, foreign keys enforce relationships between tables, and check constraints validate column values. Constraints can be defined inline within column definitions or externally after the column list. The document also notes MySQL has some limitations for check constraints compared to other databases.

Uploaded by

Rom
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Information Systems Program

Module 3
Relational Data Model and
CREATE TABLE Statement

Lesson 4: Integrity Constraint Syntax


Lesson Objectives
• Read and write CREATE TABLE statements with
PK constraints
• Read and write CREATE TABLE statements with
FK constraints
• Read and write CREATE TABLE statements with
simple CHECK constraints

Information Systems Program


Constraint Overview

• Primary key
• Foreign key
Subject • Unique
• Required (NOT NULL)
• Check

• Inline
Placement • External

Information Systems Program


Constraint Syntax Examples

• CONSTRAINT PKCourse PRIMARY KEY(CourseNo)


• CONSTRAINT PKEnrollment PRIMARY KEY
(OfferNo, StdNo)
• CONSTRAINT UniqueCrsDesc UNIQUE (CrsDesc)
• CONSTRAINT FKOfferNo FOREIGN KEY (OfferNo)
REFERENCES Offering
• CONSTRAINT OffCourseNoReq NOT NULL

Information Systems Program


External PK Constraint Placement

CREATE TABLE Course


( CourseNo CHAR(6),
CrsDesc VARCHAR(250),
CrsUnits SMALLINT,
CONSTRAINT PKCourse PRIMARY KEY(CourseNo),

CONSTRAINT UniqueCrsDesc UNIQUE (CrsDesc) )

Information Systems Program


External FK Constraint Placement

CREATE TABLE Enrollment


( OfferNo INTEGER,
StdNo CHAR(11),
EnrGrade DECIMAL(3,2),
CONSTRAINT PKEnrollment PRIMARY KEY
(OfferNo, StdNo),
CONSTRAINT FKOfferNo FOREIGN KEY (OfferNo)
REFERENCES Offering,
CONSTRAINT FKStdNo FOREIGN KEY (StdNo)
REFERENCES Student );

Information Systems Program


Inline Constraint Placement
CREATE TABLE Offering
( OfferNo INTEGER,
CourseNo CHAR(6) CONSTRAINT OffCourseNoReq NOT NULL,
OffLocation VARCHAR(50),
OffDays CHAR(6),
OffTerm CHAR(6) CONSTRAINT OffTermReq NOT NULL,
OffYear INTEGER CONSTRAINT OffYearReq NOT NULL,
FacNo CHAR(11),
OffTime DATE,
CONSTRAINT PKOffering PRIMARY KEY (OfferNo),
CONSTRAINT FKCourseNo FOREIGN KEY (CourseNo)
REFERENCES Course,
CONSTRAINT FKFacNo FOREIGN KEY (FacNo)
REFERENCES Faculty );

Information Systems Program


Check Constraint Examples
• Syntax: CHECK ( <row-condition> )
• Row conditions with columns from the same table
CONSTRAINT ValidGPA CHECK ( StdGPA BETWEEN 0 AND 4 )

CONSTRAINT ValidStdClass
CHECK ( StdClass IN ('FR','SO', 'JR', 'SR' )

CONSTRAINT OffYearValid CHECK ( OffYear > 1970 )

CONSTRAINT EnrollDropValid
CHECK ( EnrollDate < DropDate )

Information Systems Program


Summary
• Importance of PK and FK constraints
• Use constraint names
• CHECK constraint limitations
• MySQL syntax limitations

Information Systems Program

You might also like