Advertisement
Guest User

university_basic

a guest
Nov 14th, 2019
560
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 12.86 KB | None | 0 0
  1. CREATE TABLE classroom
  2.  (building  VARCHAR(15),
  3.   room_number  VARCHAR(7),
  4.   capacity  NUMERIC(4,0),
  5.   PRIMARY KEY (building, room_number)
  6.  );
  7. CREATE TABLE department
  8.  (dept_name  VARCHAR(20),
  9.   building  VARCHAR(15),
  10.   budget          NUMERIC(12,2) CHECK (budget > 0),
  11.   PRIMARY KEY (dept_name)
  12.  );
  13. CREATE TABLE course
  14.  (course_id  VARCHAR(8),
  15.   title   VARCHAR(50),
  16.   dept_name  VARCHAR(20),
  17.   credits  NUMERIC(2,0) CHECK (credits > 0),
  18.   PRIMARY KEY (course_id),
  19.   FOREIGN KEY (dept_name) REFERENCES department(dept_name)
  20.   ON DELETE SET NULL
  21.  );
  22. CREATE TABLE instructor
  23.  (ID   VARCHAR(5),
  24.   name   VARCHAR(20) NOT NULL,
  25.   dept_name  VARCHAR(20),
  26.   salary   NUMERIC(8,2) CHECK (salary > 29000),
  27.   PRIMARY KEY (ID),
  28.   FOREIGN KEY (dept_name) REFERENCES department(dept_name)
  29.   ON DELETE SET NULL
  30.  );
  31. CREATE TABLE SECTION
  32.  (course_id  VARCHAR(8),
  33.          sec_id   VARCHAR(8),
  34.   semester  VARCHAR(6)
  35.   CHECK (semester IN ('Fall', 'Winter', 'Spring', 'Summer')),
  36.   YEAR   NUMERIC(4,0) CHECK (YEAR > 1701 AND YEAR < 2100),
  37.   building  VARCHAR(15),
  38.   room_number  VARCHAR(7),
  39.   time_slot_id  VARCHAR(4),
  40.   PRIMARY KEY (course_id, sec_id, semester, YEAR),
  41.   FOREIGN KEY (course_id) REFERENCES course(course_id)
  42.   ON DELETE cascade,
  43.   FOREIGN KEY (building, room_number) REFERENCES classroom(building, room_number)
  44.   ON DELETE SET NULL
  45.  );
  46. CREATE TABLE teaches
  47.  (ID   VARCHAR(5),
  48.   course_id  VARCHAR(8),
  49.   sec_id   VARCHAR(8),
  50.   semester  VARCHAR(6),
  51.   YEAR   NUMERIC(4,0),
  52.   PRIMARY KEY (ID, course_id, sec_id, semester, YEAR),
  53.   FOREIGN KEY (course_id,sec_id, semester, YEAR) REFERENCES SECTION(course_id,sec_id, semester, YEAR)
  54.   ON DELETE cascade,
  55.   FOREIGN KEY (ID) REFERENCES instructor(ID)
  56.   ON DELETE cascade
  57.  );
  58. CREATE TABLE student
  59.  (ID   VARCHAR(5),
  60.   name   VARCHAR(20) NOT NULL,
  61.   dept_name  VARCHAR(20),
  62.   tot_cred  NUMERIC(3,0) CHECK (tot_cred >= 0),
  63.   PRIMARY KEY (ID),
  64.   FOREIGN KEY (dept_name) REFERENCES department(dept_name)
  65.   ON DELETE SET NULL
  66.  );
  67. CREATE TABLE takes
  68.  (ID   VARCHAR(5),
  69.   course_id  VARCHAR(8),
  70.   sec_id   VARCHAR(8),
  71.   semester  VARCHAR(6),
  72.   YEAR   NUMERIC(4,0),
  73.   grade          VARCHAR(2),
  74.   PRIMARY KEY (ID, course_id, sec_id, semester, YEAR),
  75.   FOREIGN KEY (course_id,sec_id, semester, YEAR) REFERENCES SECTION(course_id,sec_id, semester, YEAR)
  76.   ON DELETE cascade,
  77.   FOREIGN KEY (ID) REFERENCES student(ID)
  78.   ON DELETE cascade
  79.  );
  80. CREATE TABLE advisor
  81.  (s_ID   VARCHAR(5),
  82.   i_ID   VARCHAR(5),
  83.   PRIMARY KEY (s_ID),
  84.   FOREIGN KEY (i_ID) REFERENCES instructor (ID)
  85.   ON DELETE SET NULL,
  86.   FOREIGN KEY (s_ID) REFERENCES student (ID)
  87.   ON DELETE cascade
  88.  );
  89. CREATE TABLE time_slot
  90.  (time_slot_id  VARCHAR(4),
  91.   DAY   VARCHAR(1),
  92.   start_hr  NUMERIC(2) CHECK (start_hr >= 0 AND start_hr < 24),
  93.   start_min  NUMERIC(2) CHECK (start_min >= 0 AND start_min < 60),
  94.   end_hr   NUMERIC(2) CHECK (end_hr >= 0 AND end_hr < 24),
  95.   end_min  NUMERIC(2) CHECK (end_min >= 0 AND end_min < 60),
  96.   PRIMARY KEY (time_slot_id, DAY, start_hr, start_min)
  97.  );
  98. CREATE TABLE prereq
  99.  (course_id  VARCHAR(8),
  100.   prereq_id  VARCHAR(8),
  101.   PRIMARY KEY (course_id, prereq_id),
  102.   FOREIGN KEY (course_id) REFERENCES course(course_id)
  103.   ON DELETE cascade,
  104.   FOREIGN KEY (prereq_id) REFERENCES course(course_id)
  105.  );
  106. DELETE FROM prereq;
  107. DELETE FROM time_slot;
  108. DELETE FROM advisor;
  109. DELETE FROM takes;
  110. DELETE FROM student;
  111. DELETE FROM teaches;
  112. DELETE FROM SECTION;
  113. DELETE FROM instructor;
  114. DELETE FROM course;
  115. DELETE FROM department;
  116. DELETE FROM classroom;
  117. INSERT INTO classroom VALUES ('Packard', '101', '500');
  118. INSERT INTO classroom VALUES ('Painter', '514', '10');
  119. INSERT INTO classroom VALUES ('Taylor', '3128', '70');
  120. INSERT INTO classroom VALUES ('Watson', '100', '30');
  121. INSERT INTO classroom VALUES ('Watson', '120', '50');
  122. INSERT INTO department VALUES ('Biology', 'Watson', '90000');
  123. INSERT INTO department VALUES ('Comp. Sci.', 'Taylor', '100000');
  124. INSERT INTO department VALUES ('Elec. Eng.', 'Taylor', '85000');
  125. INSERT INTO department VALUES ('Finance', 'Painter', '120000');
  126. INSERT INTO department VALUES ('History', 'Painter', '50000');
  127. INSERT INTO department VALUES ('Music', 'Packard', '80000');
  128. INSERT INTO department VALUES ('Physics', 'Watson', '70000');
  129. INSERT INTO course VALUES ('BIO-101', 'Intro. to Biology', 'Biology', '4');
  130. INSERT INTO course VALUES ('BIO-301', 'Genetics', 'Biology', '4');
  131. INSERT INTO course VALUES ('BIO-399', 'Computational Biology', 'Biology', '3');
  132. INSERT INTO course VALUES ('CS-101', 'Intro. to Computer Science', 'Comp. Sci.', '4');
  133. INSERT INTO course VALUES ('CS-190', 'Game Design', 'Comp. Sci.', '4');
  134. INSERT INTO course VALUES ('CS-315', 'Robotics', 'Comp. Sci.', '3');
  135. INSERT INTO course VALUES ('CS-319', 'Image Processing', 'Comp. Sci.', '3');
  136. INSERT INTO course VALUES ('CS-347', 'Database System Concepts', 'Comp. Sci.', '3');
  137. INSERT INTO course VALUES ('EE-181', 'Intro. to Digital Systems', 'Elec. Eng.', '3');
  138. INSERT INTO course VALUES ('FIN-201', 'Investment Banking', 'Finance', '3');
  139. INSERT INTO course VALUES ('HIS-351', 'World History', 'History', '3');
  140. INSERT INTO course VALUES ('MU-199', 'Music Video Production', 'Music', '3');
  141. INSERT INTO course VALUES ('PHY-101', 'Physical Principles', 'Physics', '4');
  142. INSERT INTO instructor VALUES ('10101', 'Srinivasan', 'Comp. Sci.', '65000');
  143. INSERT INTO instructor VALUES ('12121', 'Wu', 'Finance', '90000');
  144. INSERT INTO instructor VALUES ('15151', 'Mozart', 'Music', '40000');
  145. INSERT INTO instructor VALUES ('22222', 'Einstein', 'Physics', '95000');
  146. INSERT INTO instructor VALUES ('32343', 'El Said', 'History', '60000');
  147. INSERT INTO instructor VALUES ('33456', 'Gold', 'Physics', '87000');
  148. INSERT INTO instructor VALUES ('45565', 'Katz', 'Comp. Sci.', '75000');
  149. INSERT INTO instructor VALUES ('58583', 'Califieri', 'History', '62000');
  150. INSERT INTO instructor VALUES ('76543', 'Singh', 'Finance', '80000');
  151. INSERT INTO instructor VALUES ('76766', 'Crick', 'Biology', '72000');
  152. INSERT INTO instructor VALUES ('83821', 'Brandt', 'Comp. Sci.', '92000');
  153. INSERT INTO instructor VALUES ('98345', 'Kim', 'Elec. Eng.', '80000');
  154. INSERT INTO SECTION VALUES ('BIO-101', '1', 'Summer', '2009', 'Painter', '514', 'B');
  155. INSERT INTO SECTION VALUES ('BIO-301', '1', 'Summer', '2010', 'Painter', '514', 'A');
  156. INSERT INTO SECTION VALUES ('CS-101', '1', 'Fall', '2009', 'Packard', '101', 'H');
  157. INSERT INTO SECTION VALUES ('CS-101', '1', 'Spring', '2010', 'Packard', '101', 'F');
  158. INSERT INTO SECTION VALUES ('CS-190', '1', 'Spring', '2009', 'Taylor', '3128', 'E');
  159. INSERT INTO SECTION VALUES ('CS-190', '2', 'Spring', '2009', 'Taylor', '3128', 'A');
  160. INSERT INTO SECTION VALUES ('CS-315', '1', 'Spring', '2010', 'Watson', '120', 'D');
  161. INSERT INTO SECTION VALUES ('CS-319', '1', 'Spring', '2010', 'Watson', '100', 'B');
  162. INSERT INTO SECTION VALUES ('CS-319', '2', 'Spring', '2010', 'Taylor', '3128', 'C');
  163. INSERT INTO SECTION VALUES ('CS-347', '1', 'Fall', '2009', 'Taylor', '3128', 'A');
  164. INSERT INTO SECTION VALUES ('EE-181', '1', 'Spring', '2009', 'Taylor', '3128', 'C');
  165. INSERT INTO SECTION VALUES ('FIN-201', '1', 'Spring', '2010', 'Packard', '101', 'B');
  166. INSERT INTO SECTION VALUES ('HIS-351', '1', 'Spring', '2010', 'Painter', '514', 'C');
  167. INSERT INTO SECTION VALUES ('MU-199', '1', 'Spring', '2010', 'Packard', '101', 'D');
  168. INSERT INTO SECTION VALUES ('PHY-101', '1', 'Fall', '2009', 'Watson', '100', 'A');
  169. INSERT INTO teaches VALUES ('10101', 'CS-101', '1', 'Fall', '2009');
  170. INSERT INTO teaches VALUES ('10101', 'CS-315', '1', 'Spring', '2010');
  171. INSERT INTO teaches VALUES ('10101', 'CS-347', '1', 'Fall', '2009');
  172. INSERT INTO teaches VALUES ('12121', 'FIN-201', '1', 'Spring', '2010');
  173. INSERT INTO teaches VALUES ('15151', 'MU-199', '1', 'Spring', '2010');
  174. INSERT INTO teaches VALUES ('22222', 'PHY-101', '1', 'Fall', '2009');
  175. INSERT INTO teaches VALUES ('32343', 'HIS-351', '1', 'Spring', '2010');
  176. INSERT INTO teaches VALUES ('45565', 'CS-101', '1', 'Spring', '2010');
  177. INSERT INTO teaches VALUES ('45565', 'CS-319', '1', 'Spring', '2010');
  178. INSERT INTO teaches VALUES ('76766', 'BIO-101', '1', 'Summer', '2009');
  179. INSERT INTO teaches VALUES ('76766', 'BIO-301', '1', 'Summer', '2010');
  180. INSERT INTO teaches VALUES ('83821', 'CS-190', '1', 'Spring', '2009');
  181. INSERT INTO teaches VALUES ('83821', 'CS-190', '2', 'Spring', '2009');
  182. INSERT INTO teaches VALUES ('83821', 'CS-319', '2', 'Spring', '2010');
  183. INSERT INTO teaches VALUES ('98345', 'EE-181', '1', 'Spring', '2009');
  184. INSERT INTO student VALUES ('00128', 'Zhang', 'Comp. Sci.', '102');
  185. INSERT INTO student VALUES ('12345', 'Shankar', 'Comp. Sci.', '32');
  186. INSERT INTO student VALUES ('19991', 'Brandt', 'History', '80');
  187. INSERT INTO student VALUES ('23121', 'Chavez', 'Finance', '110');
  188. INSERT INTO student VALUES ('44553', 'Peltier', 'Physics', '56');
  189. INSERT INTO student VALUES ('45678', 'Levy', 'Physics', '46');
  190. INSERT INTO student VALUES ('54321', 'Williams', 'Comp. Sci.', '54');
  191. INSERT INTO student VALUES ('55739', 'Sanchez', 'Music', '38');
  192. INSERT INTO student VALUES ('70557', 'Snow', 'Physics', '0');
  193. INSERT INTO student VALUES ('76543', 'Brown', 'Comp. Sci.', '58');
  194. INSERT INTO student VALUES ('76653', 'Aoi', 'Elec. Eng.', '60');
  195. INSERT INTO student VALUES ('98765', 'Bourikas', 'Elec. Eng.', '98');
  196. INSERT INTO student VALUES ('98988', 'Tanaka', 'Biology', '120');
  197. INSERT INTO takes VALUES ('00128', 'CS-101', '1', 'Fall', '2009', 'A');
  198. INSERT INTO takes VALUES ('00128', 'CS-347', '1', 'Fall', '2009', 'A-');
  199. INSERT INTO takes VALUES ('12345', 'CS-101', '1', 'Fall', '2009', 'C');
  200. INSERT INTO takes VALUES ('12345', 'CS-190', '2', 'Spring', '2009', 'A');
  201. INSERT INTO takes VALUES ('12345', 'CS-315', '1', 'Spring', '2010', 'A');
  202. INSERT INTO takes VALUES ('12345', 'CS-347', '1', 'Fall', '2009', 'A');
  203. INSERT INTO takes VALUES ('19991', 'HIS-351', '1', 'Spring', '2010', 'B');
  204. INSERT INTO takes VALUES ('23121', 'FIN-201', '1', 'Spring', '2010', 'C+');
  205. INSERT INTO takes VALUES ('44553', 'PHY-101', '1', 'Fall', '2009', 'B-');
  206. INSERT INTO takes VALUES ('45678', 'CS-101', '1', 'Fall', '2009', 'F');
  207. INSERT INTO takes VALUES ('45678', 'CS-101', '1', 'Spring', '2010', 'B+');
  208. INSERT INTO takes VALUES ('45678', 'CS-319', '1', 'Spring', '2010', 'B');
  209. INSERT INTO takes VALUES ('54321', 'CS-101', '1', 'Fall', '2009', 'A-');
  210. INSERT INTO takes VALUES ('54321', 'CS-190', '2', 'Spring', '2009', 'B+');
  211. INSERT INTO takes VALUES ('55739', 'MU-199', '1', 'Spring', '2010', 'A-');
  212. INSERT INTO takes VALUES ('76543', 'CS-101', '1', 'Fall', '2009', 'A');
  213. INSERT INTO takes VALUES ('76543', 'CS-319', '2', 'Spring', '2010', 'A');
  214. INSERT INTO takes VALUES ('76653', 'EE-181', '1', 'Spring', '2009', 'C');
  215. INSERT INTO takes VALUES ('98765', 'CS-101', '1', 'Fall', '2009', 'C-');
  216. INSERT INTO takes VALUES ('98765', 'CS-315', '1', 'Spring', '2010', 'B');
  217. INSERT INTO takes VALUES ('98988', 'BIO-101', '1', 'Summer', '2009', 'A');
  218. INSERT INTO takes VALUES ('98988', 'BIO-301', '1', 'Summer', '2010', NULL);
  219. INSERT INTO advisor VALUES ('00128', '45565');
  220. INSERT INTO advisor VALUES ('12345', '10101');
  221. INSERT INTO advisor VALUES ('23121', '76543');
  222. INSERT INTO advisor VALUES ('44553', '22222');
  223. INSERT INTO advisor VALUES ('45678', '22222');
  224. INSERT INTO advisor VALUES ('76543', '45565');
  225. INSERT INTO advisor VALUES ('76653', '98345');
  226. INSERT INTO advisor VALUES ('98765', '98345');
  227. INSERT INTO advisor VALUES ('98988', '76766');
  228. INSERT INTO time_slot VALUES ('A', 'M', '8', '0', '8', '50');
  229. INSERT INTO time_slot VALUES ('A', 'W', '8', '0', '8', '50');
  230. INSERT INTO time_slot VALUES ('A', 'F', '8', '0', '8', '50');
  231. INSERT INTO time_slot VALUES ('B', 'M', '9', '0', '9', '50');
  232. INSERT INTO time_slot VALUES ('B', 'W', '9', '0', '9', '50');
  233. INSERT INTO time_slot VALUES ('B', 'F', '9', '0', '9', '50');
  234. INSERT INTO time_slot VALUES ('C', 'M', '11', '0', '11', '50');
  235. INSERT INTO time_slot VALUES ('C', 'W', '11', '0', '11', '50');
  236. INSERT INTO time_slot VALUES ('C', 'F', '11', '0', '11', '50');
  237. INSERT INTO time_slot VALUES ('D', 'M', '13', '0', '13', '50');
  238. INSERT INTO time_slot VALUES ('D', 'W', '13', '0', '13', '50');
  239. INSERT INTO time_slot VALUES ('D', 'F', '13', '0', '13', '50');
  240. INSERT INTO time_slot VALUES ('E', 'T', '10', '30', '11', '45 ');
  241. INSERT INTO time_slot VALUES ('E', 'R', '10', '30', '11', '45 ');
  242. INSERT INTO time_slot VALUES ('F', 'T', '14', '30', '15', '45 ');
  243. INSERT INTO time_slot VALUES ('F', 'R', '14', '30', '15', '45 ');
  244. INSERT INTO time_slot VALUES ('G', 'M', '16', '0', '16', '50');
  245. INSERT INTO time_slot VALUES ('G', 'W', '16', '0', '16', '50');
  246. INSERT INTO time_slot VALUES ('G', 'F', '16', '0', '16', '50');
  247. INSERT INTO time_slot VALUES ('H', 'W', '10', '0', '12', '30');
  248. INSERT INTO prereq VALUES ('BIO-301', 'BIO-101');
  249. INSERT INTO prereq VALUES ('BIO-399', 'BIO-101');
  250. INSERT INTO prereq VALUES ('CS-190', 'CS-101');
  251. INSERT INTO prereq VALUES ('CS-315', 'CS-101');
  252. INSERT INTO prereq VALUES ('CS-319', 'CS-101');
  253. INSERT INTO prereq VALUES ('CS-347', 'CS-101');
  254. INSERT INTO prereq VALUES ('EE-181', 'PHY-101');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement