학교
[자료] 실습을 위한 CREATE / INSERT 구문
1. Instructor 테이블
-- Create Instructor table
CREATE TABLE Instructor (
ID INTEGER PRIMARY KEY,
name VARCHAR(50),
dept_name VARCHAR(50),
salary DECIMAL(10,2)
);
-- Insert data into Instructor table
INSERT INTO Instructor VALUES
(10101, 'Srinivasan', 'Comp. Sci.', 65000.00),
(12121, 'Wu', 'Finance', 90000.00),
(15151, 'Mozart', 'Music', 40000.00),
(22222, 'Einstein', 'Physics', 95000.00),
(32343, 'El Said', 'History', 60000.00),
(33456, 'Gold', 'Physics', 87000.00),
(45565, 'Katz', 'Comp. Sci.', 75000.00),
(58583, 'Califieri', 'History', 62000.00),
(76543, 'Singh', 'Finance', 80000.00),
(76766, 'Crick', 'Biology', 72000.00),
(83821, 'Brandt', 'Comp. Sci.', 92000.00),
(98345, 'Kim', 'Elec. Eng.', 80000.00);테이블명 | 컬럼명 | 설명 |
|---|---|---|
Instructor (교수 정보) |
| 교수의 고유 ID (기본 키) |
| 교수 이름 | |
| 교수가 속한 학과 이름 | |
| 교수의 급여 (소수점 2자리까지 저장) |
2. Teaches 테이블
-- Create Teaches table
CREATE TABLE Teaches (
ID INTEGER,
course_id VARCHAR(20),
sec_id INTEGER,
semester VARCHAR(10),
year INTEGER,
PRIMARY KEY (ID, course_id, sec_id, semester, year),
FOREIGN KEY (ID) REFERENCES Instructor(ID)
);
-- Insert data into Teaches table
INSERT INTO Teaches VALUES
(76766, 'BIO-101', 1, 'Summer', 2017),
(76766, 'BIO-301', 1, 'Summer', 2018),
(10101, 'CS-101', 1, 'Fall', 2017),
(45565, 'CS-101', 1, 'Spring', 2018),
(83821, 'CS-190', 1, 'Spring', 2017),
(83821, 'CS-190', 2, 'Spring', 2017),
(10101, 'CS-315', 1, 'Spring', 2018),
(45565, 'CS-319', 1, 'Spring', 2018),
(83821, 'CS-319', 2, 'Spring', 2018),
(10101, 'CS-347', 1, 'Fall', 2017),
(98345, 'EE-181', 1, 'Spring', 2017),
(12121, 'FIN-201', 1, 'Spring', 2018),
(32343, 'HIS-351', 1, 'Spring', 2018),
(15151, 'MU-199', 1, 'Spring', 2018),
(22222, 'PHY-101', 1, 'Fall', 2017);테이블명 | 컬럼명 | 설명 |
|---|---|---|
Teaches (교수의 강의 배정 정보) |
| 강의를 담당하는 교수의 ID ( |
| 담당하는 강의 ID | |
| 강의 섹션 ID | |
| 강의가 개설된 학기 (예: 'Fall', 'Spring') | |
| 강의가 개설된 연도 | |
(기본 키) |
|
3. Course 테이블
-- Create Course table
CREATE TABLE Course (
course_id VARCHAR(8) PRIMARY KEY,
title VARCHAR(50),
dept_name VARCHAR(20),
credits INTEGER
);
-- Insert data into Course table
INSERT INTO Course VALUES
('BIO-101', 'Intro. to Biology', 'Biology', 4),
('BIO-301', 'Genetics', 'Biology', 4),
('BIO-399', 'Computational Biology', 'Biology', 3),
('CS-101', 'Intro. to Computer Science', 'Comp. Sci.', 4),
('CS-190', 'Game Design', 'Comp. Sci.', 4),
('CS-315', 'Robotics', 'Comp. Sci.', 3),
('CS-319', 'Image Processing', 'Comp. Sci.', 3),
('CS-347', 'Database System Concepts', 'Comp. Sci.', 3),
('EE-181', 'Intro. to Digital Systems', 'Elec. Eng.', 3),
('FIN-201', 'Investment Banking', 'Finance', 3),
('HIS-351', 'World History', 'History', 3),
('MU-199', 'Music Video Production', 'Music', 3),
('PHY-101', 'Physical Principles', 'Physics', 4);테이블명 | 컬럼명 | 설명 |
|---|---|---|
Course (강의 정보) |
| 강의의 고유 ID (기본 키) |
| 강의명 | |
| 강의가 속한 학과 이름 | |
| 강의의 학점 수 |
4. Takes 테이블
-- Create Takes table
CREATE TABLE Takes (
ID VARCHAR(5),
course_id VARCHAR(8),
sec_id INTEGER,
semester VARCHAR(6),
year INTEGER,
grade VARCHAR(2),
PRIMARY KEY (ID, course_id, sec_id, semester, year),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
-- Insert data into Takes table
INSERT INTO Takes VALUES
('00128', 'CS-101', 1, 'Fall', 2017, 'A'),
('00128', 'CS-347', 1, 'Fall', 2017, 'A-'),
('12345', 'CS-101', 1, 'Fall', 2017, 'C'),
('12345', 'CS-190', 2, 'Spring', 2017, 'A'),
('12345', 'CS-315', 1, 'Spring', 2018, 'A'),
('12345', 'CS-347', 1, 'Fall', 2017, 'A'),
('19991', 'HIS-351', 1, 'Spring', 2018, 'B'),
('23121', 'FIN-201', 1, 'Spring', 2018, 'C+'),
('44553', 'PHY-101', 1, 'Fall', 2017, 'B-'),
('45678', 'CS-101', 1, 'Fall', 2017, 'F'),
('45678', 'CS-101', 1, 'Spring', 2018, 'B+'),
('45678', 'CS-319', 1, 'Spring', 2018, 'B'),
('54321', 'CS-101', 1, 'Fall', 2017, 'A-'),
('54321', 'CS-190', 2, 'Spring', 2017, 'B+'),
('55739', 'MU-199', 1, 'Spring', 2018, 'A-'),
('76543', 'CS-101', 1, 'Fall', 2017, 'A'),
('76543', 'CS-319', 2, 'Spring', 2018, 'A'),
('76653', 'EE-181', 1, 'Spring', 2017, 'C'),
('98765', 'CS-101', 1, 'Fall', 2017, 'C-'),
('98765', 'CS-315', 1, 'Spring', 2018, 'B'),
('98988', 'BIO-101', 1, 'Summer', 2017, 'A'),
('98988', 'BIO-301', 1, 'Summer', 2018, NULL);테이블명 | 컬럼명 | 설명 |
|---|---|---|
Takes (학생의 수강 정보) |
| 수강하는 학생의 ID |
| 학생이 수강하는 강의 ID ( | |
| 수강하는 강의의 섹션 ID | |
| 강의가 개설된 학기 | |
| 강의가 개설된 연도 | |
| 학생이 해당 강의에서 받은 성적 | |
(기본 키) |
|
5. Student table
-- Create Student table
CREATE TABLE Student (
ID VARCHAR(5) PRIMARY KEY,
name VARCHAR(20),
dept_name VARCHAR(20),
tot_cred INTEGER
);
-- Insert data into Student table
INSERT INTO Student VALUES
('00128', 'Zhang', 'Comp. Sci.', 102),
('12345', 'Shankar', 'Comp. Sci.', 32),
('19991', 'Brandt', 'History', 80),
('23121', 'Chavez', 'Finance', 110),
('44553', 'Peltier', 'Physics', 56),
('45678', 'Levy', 'Physics', 46),
('54321', 'Williams', 'Comp. Sci.', 54),
('55739', 'Sanchez', 'Music', 38),
('70557', 'Snow', 'Physics', 0),
('76543', 'Brown', 'Comp. Sci.', 58),
('76653', 'Aoi', 'Elec. Eng.', 60),
('98765', 'Bourikas', 'Elec. Eng.', 98),
('98988', 'Tanaka', 'Biology', 120);테이블명 | 컬럼명 | 설명 |
|---|---|---|
Student (학생 정보) |
| 학생의 고유 ID (기본 키) |
| 학생 이름 | |
| 학생이 속한 학과 이름 | |
| 학생이 이수한 총 학점 |