# Database Exercise
# Use SOURCE command to run this script
DROP DATABASE MYDB;
CREATE DATABASE MYDB;
USE MYDB;
CREATE TABLE DEPARTMENT (
DEPT_NAME VARCHAR (20),
BUILDING VARCHAR (15),
BUDGET NUMERIC (12,2),
PRIMARY KEY (DEPT_NAME));
CREATE TABLE COURSE (
COURSE_ID VARCHAR (7),
TITLE VARCHAR (50),
DEPT_NAME VARCHAR (20),
CREDITS NUMERIC (2,0),
PRIMARY KEY (COURSE_ID),
FOREIGN KEY (DEPT_NAME) REFERENCES DEPARTMENT(DEPT_NAME));
CREATE TABLE INSTRUCTOR (
ID VARCHAR (5),
NAME VARCHAR (20) NOT NULL,
DEPT_NAME VARCHAR (20),
SALARY NUMERIC (8,2),
PRIMARY KEY (ID),
FOREIGN KEY (DEPT_NAME) REFERENCES DEPARTMENT(DEPT_NAME));
CREATE TABLE STUDENT (
ID VARCHAR (5),
NAME VARCHAR (20) NOT NULL,
DEPT_NAME VARCHAR (20),
TOT_CRED INT,
PRIMARY KEY (ID),
FOREIGN KEY (DEPT_NAME) REFERENCES DEPARTMENT(DEPT_NAME));
CREATE TABLE PREREQ (
COURSE_ID VARCHAR (7),
PREREQ_ID VARCHAR (7),
PRIMARY KEY (COURSE_ID, PREREQ_ID),
FOREIGN KEY (COURSE_ID) REFERENCES COURSE(COURSE_ID),
FOREIGN KEY (PREREQ_ID) REFERENCES COURSE(COURSE_ID));
CREATE TABLE SECTION (
COURSE_ID VARCHAR (7),
SEC_ID VARCHAR (7),
SEMESTER VARCHAR (6),
YEAR NUMERIC (4,0),
BUILDING VARCHAR (15),
ROOM_NUMBER VARCHAR (7),
TIME_SLOT_ID VARCHAR (5),
PRIMARY KEY (COURSE_ID, SEC_ID, SEMESTER, YEAR),
FOREIGN KEY (COURSE_ID) REFERENCES COURSE(COURSE_ID));
CREATE TABLE TEACHES (
ID VARCHAR (5),
COURSE_ID VARCHAR (7),
SEC_ID VARCHAR (7),
SEMESTER VARCHAR (6),
YEAR NUMERIC (4,0),
PRIMARY KEY (ID, COURSE_ID, SEC_ID, SEMESTER, YEAR),
FOREIGN KEY (ID) REFERENCES INSTRUCTOR(ID),
FOREIGN KEY (COURSE_ID, SEC_ID, SEMESTER, YEAR) REFERENCES SECTION(COURSE_ID, SEC_ID, SEMESTER, YEAR));
CREATE TABLE TAKES (
ID VARCHAR (5),
COURSE_ID VARCHAR (7),
SEC_ID VARCHAR (7),
SEMESTER VARCHAR (6),
YEAR NUMERIC (4,0),
GRADE VARCHAR (5),
PRIMARY KEY (ID, COURSE_ID, SEC_ID, SEMESTER, YEAR),
FOREIGN KEY (ID) REFERENCES STUDENT(ID),
FOREIGN KEY (COURSE_ID, SEC_ID, SEMESTER, YEAR) REFERENCES SECTION(COURSE_ID, SEC_ID, SEMESTER, YEAR));
INSERT INTO DEPARTMENT VALUES ('Biology', 'Watson', 90000);
INSERT INTO DEPARTMENT VALUES ('Comp. Sci.', 'Taylor', 100000);
INSERT INTO DEPARTMENT VALUES ('Elec. Eng.', 'Taylor', 85000);
INSERT INTO DEPARTMENT VALUES ('Finance', 'Painter', 120000);
INSERT INTO DEPARTMENT VALUES ('History', 'Painter', 50000);
INSERT INTO DEPARTMENT VALUES ('Music', 'Packard', 80000);
INSERT INTO DEPARTMENT VALUES ('Physics', 'Watson', 70000);
INSERT INTO COURSE VALUES ('BIO-101', 'Intro. to Biology', 'Biology', 4);
INSERT INTO COURSE VALUES ('BIO-301', 'Genetics', 'Biology', 4);
INSERT INTO COURSE VALUES ('BIO-399', 'Computational Biology', 'Biology', 3);
INSERT INTO COURSE VALUES ('CS-101', 'Intro. to Computer Science', 'Comp. Sci.', 4);
INSERT INTO COURSE VALUES ('CS-190', 'Game Design', 'Comp. Sci.', 4);
INSERT INTO COURSE VALUES ('CS-315', 'Robotics', 'Comp. Sci.', 3);
INSERT INTO COURSE VALUES ('CS-319', 'Image Processing', 'Comp. Sci.', 3);
INSERT INTO COURSE VALUES ('CS-347', 'Database System Concepts', 'Comp. Sci.', 3);
INSERT INTO COURSE VALUES ('EE-181', 'Intro. to Digital Systems', 'Elec. Eng.', 3);
INSERT INTO COURSE VALUES ('FIN-201', 'Investment Banking', 'Finance', 3);
INSERT INTO COURSE VALUES ('HIS-351', 'World History', 'History', 3);
INSERT INTO COURSE VALUES ('MU-199', 'Music Video Production', 'Music', 3);
INSERT INTO COURSE VALUES ('PHY-101', 'Physical Principles', 'Physics', 4);
INSERT INTO INSTRUCTOR VALUES ('10101', 'Srinivasan', 'Comp. Sci.', 65000);
INSERT INTO INSTRUCTOR VALUES ('12121', 'Wu', 'Finance', 90000);
INSERT INTO INSTRUCTOR VALUES ('15151', 'Mozart', 'Music', 40000);
INSERT INTO INSTRUCTOR VALUES ('22222', 'Einstein', 'Physics', 95000);
INSERT INTO INSTRUCTOR VALUES ('32343', 'El Said', 'History', 60000);
INSERT INTO INSTRUCTOR VALUES ('33456', 'Gold', 'Physics', 87000);
INSERT INTO INSTRUCTOR VALUES ('45565', 'Katz', 'Comp. Sci.', 75000);
INSERT INTO INSTRUCTOR VALUES ('58583', 'Califieri', 'History', 62000);
INSERT INTO INSTRUCTOR VALUES ('76543', 'Singh', 'Finance', 80000);
INSERT INTO INSTRUCTOR VALUES ('76766', 'Crick', 'Biology', 72000);
INSERT INTO INSTRUCTOR VALUES ('83821', 'Brandt', 'Comp. Sci.', 92000);
INSERT INTO INSTRUCTOR VALUES ('98345', 'Kim', 'Elec. Eng.', 80000);
INSERT INTO STUDENT VALUES ('00128', 'Zhang', 'Comp. Sci.', 102);
INSERT INTO STUDENT VALUES ('12345', 'Shankar', 'Comp. Sci.', 32);
INSERT INTO STUDENT VALUES ('19991', 'Brandt', 'History', 80);
INSERT INTO STUDENT VALUES ('23121', 'Chavez', 'Finance', 110);
INSERT INTO STUDENT VALUES ('44553', 'Peltier', 'Physics', 56);
INSERT INTO STUDENT VALUES ('45678', 'Levy', 'Physics', 46);
INSERT INTO STUDENT VALUES ('54321', 'Williams', 'Comp. Sci.', 54);
INSERT INTO STUDENT VALUES ('55739', 'Sanchez', 'Music', 38);
INSERT INTO STUDENT VALUES ('70557', 'Snow', 'Physics', 0);
INSERT INTO STUDENT VALUES ('76543', 'Brown', 'Comp. Sci.', 58);
INSERT INTO STUDENT VALUES ('76653', 'Aoi', 'Elec. Eng.', 60);
INSERT INTO STUDENT VALUES ('98765', 'Bourikas', 'Elec. Eng.', 98);
INSERT INTO STUDENT VALUES ('98988', 'Tanaka', 'Biology', 120);
INSERT INTO PREREQ VALUES ('BIO-301', 'BIO-101');
INSERT INTO PREREQ VALUES ('BIO-399', 'BIO-101');
INSERT INTO PREREQ VALUES ('CS-190', 'CS-101');
INSERT INTO PREREQ VALUES ('CS-315', 'CS-101');
INSERT INTO PREREQ VALUES ('CS-319', 'CS-101');
INSERT INTO PREREQ VALUES ('CS-347', 'CS-101');
INSERT INTO PREREQ VALUES ('EE-181', 'PHY-101');
INSERT INTO SECTION VALUES ('BIO-101', '1', 'Summer', 2009, 'Painter', '514', 'B');
INSERT INTO SECTION VALUES ('BIO-301', '1', 'Summer', 2010, 'Painter', '514', 'A');
INSERT INTO SECTION VALUES ('CS-101', '1', 'Fall', 2009, 'Packard', '101', 'H');
INSERT INTO SECTION VALUES ('CS-101', '1', 'Spring', 2010, 'Packard', '101', 'F');
INSERT INTO SECTION VALUES ('CS-190', '1', 'Spring', 2009, 'Taylor', '3128', 'E');
INSERT INTO SECTION VALUES ('CS-190', '2', 'Spring', 2009, 'Taylor', '3128', 'A');
INSERT INTO SECTION VALUES ('CS-315', '1', 'Spring', 2010, 'Watson', '120', 'D');
INSERT INTO SECTION VALUES ('CS-319', '1', 'Spring', 2010, 'Watson', '100', 'B');
INSERT INTO SECTION VALUES ('CS-319', '2', 'Spring', 2010, 'Taylor', '3128', 'C');
INSERT INTO SECTION VALUES ('CS-347', '1', 'Fall', 2009, 'Taylor', '3128', 'A');
INSERT INTO SECTION VALUES ('EE-181', '1', 'Spring', 2009, 'Taylor', '3128', 'C');
INSERT INTO SECTION VALUES ('FIN-201', '1', 'Spring', 2010, 'Packard', '101', 'B');
INSERT INTO SECTION VALUES ('HIS-351', '1', 'Spring', 2010, 'Painter', '514', 'C');
INSERT INTO SECTION VALUES ('MU-199', '1', 'Spring', 2010, 'Packard', '101', 'D');
INSERT INTO SECTION VALUES ('PHY-101', '1', 'Fall', 2009, 'Watson', '100', 'A');
INSERT INTO TEACHES VALUES ('10101', 'CS-101', '1', 'Fall', 2009);
INSERT INTO TEACHES VALUES ('10101', 'CS-315', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('10101', 'CS-347', '1', 'Fall', 2009);
INSERT INTO TEACHES VALUES ('12121', 'FIN-201', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('15151', 'MU-199', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('22222', 'PHY-101', '1', 'Fall', 2009);
INSERT INTO TEACHES VALUES ('32343', 'HIS-351', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('45565', 'CS-101', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('45565', 'CS-319', '1', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('76766', 'BIO-101', '1', 'Summer', 2009);
INSERT INTO TEACHES VALUES ('76766', 'BIO-301', '1', 'Summer', 2010);
INSERT INTO TEACHES VALUES ('83821', 'CS-190', '1', 'Spring', 2009);
INSERT INTO TEACHES VALUES ('83821', 'CS-190', '2', 'Spring', 2009);
INSERT INTO TEACHES VALUES ('83821', 'CS-319', '2', 'Spring', 2010);
INSERT INTO TEACHES VALUES ('98345', 'EE-181', '1', 'Spring', 2009);
INSERT INTO TAKES VALUES ('00128', 'CS-101', '1', 'Fall', 2009, 'A');
INSERT INTO TAKES VALUES ('00128', 'CS-347', '1', 'Fall', 2009, 'A-');
INSERT INTO TAK