You are on page 1of 2

ASSIGNMENT PART 2

CREATE TABLE DrivingSchool(


name VARCHAR( 100 ) UNIQUE PRIMARY KEY
)

Office
CREATE TABLE Office(
branchCode VARCHAR( 5 ) UNIQUE PRIMARY KEY ,
numberOrHouse VARCHAR( 50 ) ,
postCode VARCHAR( 50 ) ,
staffCode VARCHAR( 4 ) UNIQUE ,
name VARCHAR( 100 ) UNIQUE ,
FOREIGN KEY ( staffCode ) REFERENCES Instructor( staffCode ) ON UPDATE CA
SCADE ON DELETE CASCADE ,
FOREIGN KEY ( name ) REFERENCES DrivingSchool( name ) ON UPDATE CASCA
DE ON DELETE CASCADE
)

Instructor
CREATE TABLE Instructor(
staffCode VARCHAR( 5 ) UNIQUE PRIMARY KEY ,
lastName VARCHAR( 20 ) ,
firstName VARCHAR( 20 ) ,
dateOfBirth DATE,
sex VARCHAR( 1 ) DEFAULT 'M' CHECK (
TYPE IN (
'M',
'F'
)
),
branchCode VARCHAR( 4 ) ,
name VARCHAR( 20 ) ,
FOREIGN KEY ( branchCode ) REFERENCES Office( branchCode ) ON UPDATE CA
SCADE ON DELETE CASCADE ,
FOREIGN KEY ( name ) REFERENCES DrivingSchool( name ) ON UPDATE CASCA
DE ON DELETE CASCADE
)

CAR

CREATE TABLE Car(


Plate VARCHAR( 8 ) UNIQUE PRIMARY KEY ,
Make VARCHAR( 20 ) ,
branchCode VARCHAR( 4 ) ,
FOREIGN KEY ( branchCode ) REFERENCES Office( branchCode ) ON UPDATE CA
SCADE ON DELETE CASCADE
)

Client
CREATE TABLE Client(
clientCode VARCHAR( 4 ) UNIQUE PRIMARY KEY ,
lastName VARCHAR( 50 ) ,
firstName VARCHAR( 50 ) ,
numberOrHouse VARCHAR( 50 ) ,
postCode VARCHAR( 50 ) ,
staffCode VARCHAR( 4 ) ,
FOREIGN KEY ( staffCode ) REFERENCES Instructor( staffCode ) ON UPDATE CA
SCADE ON DELETE CASCADE
)

Lesson
CREATE TABLE Lesson(
staffCode VARCHAR( 4 ) NOT NULL ,
clientCode VARCHAR( 4 ) NOT NULL ,
plate VARCHAR( 8 ) NOT NULL ,
startingTime DATETIME,
mileage INT,
FOREIGN KEY ( StaffCode ) REFERENCES Instructor( StaffCode ) ON UPDATE CA
SCADE ON DELETE CASCADE ,
FOREIGN KEY ( ClientCode ) REFERENCES Client( ClientCode ) ON UPDATE CAS
CADE ON DELETE CASCADE ,
FOREIGN KEY ( plate ) REFERENCES Car( plate ) ON UPDATE CASCADE ON DEL
ETE CASCADE
)

You might also like