
DEPARTMENT
name | code | total staff | chair | budget
CREATE TABLE DEPARTMENT(
name VARCHAR(50) NOT NULL,
code CHAR(5) NOT NULL,
total_staff_number DECIMAL(2) NOT NULL,
chair VARCHAR(50) NULL,
budget DECIMAL(9,1) NOT NULL,
CONSTRAINT dept_pkey PRIMARY KEY(name),
CONSTRAINT dept_ckey1 UNIQUE(code),
CONSTRAINT dept_ckey2 UNIQUE(chair),
CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
CREATE TABLE DEPARTMENT(
name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL,
name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL,
name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL,
CONSTRAINT dept_pkey PRIMARY KEY(name),
CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair),
CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
COURSE
cnum | title | credits | offered_by
CREATE TABLE COURSE(
cnum CHAR(7) NOT NULL,
title VARCHAR(200) NOT NULL,
credits DECIMAL(2) NOT NULL,
offered_by VARCHAR(50) NULL,
CONSTRAINT course_pkey PRIMARY KEY(cnum),
CONSTRAINT course_check1 CHECK (credits IN (6, 12)),
CONSTRAINT course_fkey1 FOREIGN KEY(offered_by)
REFERENCES DEPARTMENT(name)ON DELETE CASCADE );
CREATE TABLE COURSE(
cnum CHAR(7) NOT NULL, title VARCHAR(200) NOT NULL, credits DECIMAL(2) NOT NULL, offered_by VARCHAR(50) NULL,
cnum CHAR(7) NOT NULL, title VARCHAR(200) NOT NULL, credits DECIMAL(2) NOT NULL, offered_by VARCHAR(50) NULL,
cnum CHAR(7) NOT NULL, title VARCHAR(200) NOT NULL, credits DECIMAL(2) NOT NULL, offered_by VARCHAR(50) NULL,
CONSTRAINT course_pkey PRIMARY KEY(cnum),
CONSTRAINT course_check1 CHECK (credits IN (6, 12)),
CONSTRAINT course_fkey1 FOREIGN KEY(offered_by)
REFERENCES DEPARTMENT(name) ON DELETE CASCADE );
CREATE TABLE COURSE(
cnum CHAR(7) NOT NULL,
title VARCHAR(200) NOT NULL,
credits DECIMAL(2) NOT NULL,
offered_by VARCHAR(50) NULL,
CONSTRAINT course_pkey PRIMARY KEY(cnum),
CONSTRAINT course_check1 CHECK (credits IN (6, 12)),
CONSTRAINT course_fkey1 FOREIGN KEY(offered_by)
REFERENCES DEPARTMENT(name) ON DELETE CASCADE );

CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
CREATE TABLE COURSE(
cnum CHAR(7) NOT NULL,
title VARCHAR(200) NOT NULL,
credits DECIMAL(2) NOT NULL,
offered_by VARCHAR(50) NULL,
CONSTRAINT course_pkey PRIMARY KEY(cnum),
CONSTRAINT course_check1 CHECK (credits IN (6, 12)),
CONSTRAINT course_fkey1 FOREIGN KEY(offered_by)
REFERENCES DEPARTMENT(name) ON DELETE CASCADE )
DROP TABLE COURSE;
DROP TABLE DEPARTMENT;
DROP TABLE DEPARTMENT;
-------------- DROP TABLE DEPARTMENT -------------- ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
ALTER TABLE DEPARTMENT ADD COLUMN category VARCHAR(20);
ALTER TABLE DEPARTMENT ADD COLUMN vision_stmt VARCHAR(5000);
CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
ALTER TABLE DEPARTMENT DROP COLUMN budget;
CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
ALTER TABLE DEPARTMENT MODIFY code CHAR(6) NOT NULL;
ALTER TABLE DEPARTMENT MODIFY chair VARCHAR(80) NOT NULL;
CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
ALTER TABLE DEPARTMENT ADD CONSTRAINT dept_check2
CHECK (code = UPPER(code));
CREATE TABLE COURSE(
cnum CHAR(7) NOT NULL,
title VARCHAR(200) NOT NULL,
credits DECIMAL(2) NOT NULL,
offered_by VARCHAR(50) NULL,
CONSTRAINT course_pkey PRIMARY KEY(cnum),
CONSTRAINT course_check1 CHECK (credits IN (6, 12)),
CONSTRAINT course_fkey1 FOREIGN KEY(offered_by)
REFERENCES DEPARTMENT(name) ON DELETE CASCADE );
ALTER TABLE COURSE DROP FOREIGN KEY course_fkey1;
ALTER TABLE DEPARTMENT DROP PRIMARY KEY;
ALTER TABLE COURSE DROP CHECK COURSE_CHECK1;
CREATE TABLE DEPARTMENT( name VARCHAR(50) NOT NULL, code CHAR(5) NOT NULL, total_staff_number DECIMAL(2) NOT NULL, chair VARCHAR(50) NULL, budget DECIMAL(9,1) NOT NULL, CONSTRAINT dept_pkey PRIMARY KEY(name), CONSTRAINT dept_ckey1 UNIQUE(code), CONSTRAINT dept_ckey2 UNIQUE(chair), CONSTRAINT dept_check1 CHECK (total_staff_number BETWEEN 1 AND 50) );
ALTER TABLE DEPARTMENT RENAME TO NEWDEPARTMENT;