우리 회사 ‘가칭 HNU 엔터테인먼트(HNU-E)’는 연예 매니지먼트 사업을 진행하는 회사로 TV 프로그램과 영화, 음반 등을 제작하며, 배우(영화, 뮤지컬 등), 코미디언, 가수 등을 양성하고 지원 및 관리하는 종합 연예기획사입니다.

Untitled

우리 회사는 각 핵심 분야별로 현재 7개의 부서로 구성됩니다. 앞으로 사업의 확장으로 부서가 추가될 수 있습니다. 현재 우리 회사 부서의 종류는 [표 1]과 같습니다. ENTERTAINMENT 데이터베이스를 생성한 후, [표 1]의 내용을 참조하여 부서(DEPARTMENT) 테이블을 생성한 후, 데이터를 삽입하세요.

Untitled

CREATE TABLE department
(
    dept_code VARCHAR(10) PRIMARY KEY,
    dept_name VARCHAR(20),
    dept_loc  VARCHAR(10)
);

INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D001', '배우', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D002', '뮤지컬배우', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D003', '가수(솔로)', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D004', '가수(그룹)', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D005', '코미디언', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D101', '드라마제작', '서울특별시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D102', '영화제작', '대전광역시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D103', '음반제작', '수원시');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D104', '예능제작', '서울특별시');
INSERT INTO department(dept_code, dept_name)
VALUES ('D201', '스태프');
INSERT INTO department(dept_code, dept_name, dept_loc)
VALUES ('D301', '임원', '서울특별시');

우리 회사는 사장과 이사로 구성된 임원진과 대중에게 사랑을 받는 유명한 엔터테이너, 그리고 엔터테이너를 관리하는 스태프가 있습니다. 현재 우리 회사를 구성하는 엔터테이너와 연예 관계자는 [표 2]와 같습니다. [표 2]의 정보를 참조하여 연예관계자(EMPLOYEE) 테이블을 생성하고, 관련 정보를 삽입하시오.

Untitled

CREATE TABLE emp_role
(
    emp_rcode VARCHAR(10) PRIMARY KEY,
    emp_rname VARCHAR(10)
);

INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R001', '엔터테이너');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R002', '국장');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R003', '실장');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R004', '대리');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R005', '사원');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R006', '이사');
INSERT INTO emp_role(emp_rcode, emp_rname)
VALUES ('R007', '사장');

CREATE TABLE employee
(
    emp_code  VARCHAR(10) PRIMARY KEY,
    emp_name  VARCHAR(10),
    emp_mgt   VARCHAR(10),
    emp_sal   INTEGER,
    emp_rcode VARCHAR(10),

    FOREIGN KEY (emp_rcode) REFERENCES emp_role (emp_rcode)
);

INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E001', '김민훈', 'E202', 5500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E002', '손지민', 'E201', 4500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E003', '이순신', 'E203', 9500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E004', '강혁민', 'E201', 3500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E005', '옥주인', 'E201', 3500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E006', '신승모', 'E202', 7500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E007', '김건훈', 'E202', 7500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E008', '소년시대', 'E203', 8500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E009', '유재동', 'E203', 8500, 'R001');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E101', '강동민', 'E902', 7500, 'R002');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E102', '문성준', 'E902', 7500, 'R002');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E103', '한동화', 'E902', 7500, 'R002');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E201', '홍길동', 'E902', 3000, 'R003');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E202', '일지매', 'E101', 2750, 'R004');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E203', '김수현', 'E102', 2750, 'R004');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E204', '신용주', 'E103', 2500, 'R005');
INSERT INTO employee (emp_code, emp_name, emp_sal, emp_rcode)
VALUES ('E901', '이수민', 5000, 'R007');
INSERT INTO employee (emp_code, emp_name, emp_mgt, emp_sal, emp_rcode)
VALUES ('E902', '김형석', 'E901', 4000, 'R006');

우리 회사의 연예관계자는 특정 부서와 관계를 맺습니다. 이때, 연예관계자는 자신의 직무에 따라 다수의 부서와 관계를 맺을 수 있습니다. [표 3]의 내용을 참조하여 연예관계자의 소속 부서(REL_DEPARTMENT) 테이블을 생성하고, 관련 정보를 삽입하시오.

Untitled

CREATE TABLE rel_department
(
    rd_emp_code  VARCHAR(10),
    rd_dept_code VARCHAR(10),

		PRIMARY KEY (rd_emp_code, rd_dept_code),
    FOREIGN KEY (rd_emp_code) REFERENCES employee (emp_code),
    FOREIGN KEY (rd_dept_code) REFERENCES department (dept_code)
);

INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E001', 'D001');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E001', 'D002');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E002', 'D001');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E003', 'D001');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E003', 'D003');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E004', 'D001');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E004', 'D002');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E005', 'D002');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E006', 'D003');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E007', 'D003');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E008', 'D004');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E009', 'D005');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E101', 'D101');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E102', 'D102');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E103', 'D103');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E201', 'D201');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E202', 'D201');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E203', 'D201');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E204', 'D201');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E901', 'D301');
INSERT INTO rel_department (rd_emp_code, rd_dept_code)
VALUES ('E902', 'D301');