SlideShare a Scribd company logo
1 of 14
Download to read offline
- 1 -
2019학년도 2학기 과제물시험 (중간)
❍ 교과목명 : 데이터베이스 설계 및 구현
❍ 학 번 : 201934-363698
❍ 성 명 : 이상호
❍ 연 락 처 : 010-4078-7412
l 과 제 명 : 교재 1장~5장까지 학습한 후 MySQL 서버와 MySQL 워크벤치를 사용하여 다음 조
건에 따라 데이터베이스를 설계하시오.
< 목 차 >
I. 각 문제에 따른 실행 결과 ························································································ 2
II. 참고문헌 ······················································································································ 4
- 2 -
I. 각 문제에 따른 실행 결과
Ÿ MySQL 워크벤치를 사용하여 ER 다이어그램을 작성한다.
그림 1. 모델링에 대한 캡쳐본.
- 3 -
Ÿ MySQL 워크벤치의 forward engineering 기능을 이용하여 스키마를 생성하고 MySQL Server에 적용한
다.
그림 2. review the SQL script에 대한 캡쳐본.
- 4 -
그림 3. forward engineer process에 대한 캡쳐본.
그림 4. 내비게이터 스키마에 대한
캡쳐본.
- 5 -
Ÿ 사용자 요구사항과 문 5)를 참고하여 각 테이블에 적용되어야할 한 개 이상의 인덱스를 생성한다.
- CREATE INDEX 감독_INDEX ON ex_schema.감독 (이름);
- CREATE INDEX 배우_INDEX ON ex_schema.배우 (이름);
표 3. 인덱스 생성 SQL문 목록.
그림 5. SQL 쿼리 패널에 대한 캡쳐본 (1).
그림 6. 그림 6. SQL 쿼리 패널에 대한 캡쳐본 (2).
- 6 -
Ÿ 각 테이블에 10개 이상의 예제 레코드를 삽입하는 SQL문을 작성한다.
- 각 테이블에 따른 SQL문
-- 감독 테이블
INSERT INTO ex_schema.감독
(등록번호, 이름, 성별, 출생일, 출생지, 학력사항)
VALUES
(1, '감독01', '남', '2001-01-01', '출생지01', '학력01')
, (2, '감독02', '남', '2002-01-01', '출생지02', '학력02')
, (3, '감독03', '남', '2003-01-01', '출생지03', '학력03')
, (4, '감독04', '남', '2004-01-01', '출생지04', '학력04')
, (5, '감독05', '남', '2005-01-01', '출생지05', '학력05')
, (6, '감독06', '남', '2006-01-01', '출생지06', '학력06')
, (7, '감독07', '남', '2007-01-01', '출생지07', '학력07')
, (8, '감독08', '남', '2008-01-01', '출생지08', '학력08')
, (9, '감독09', '여', '2009-01-01', '출생지09', '학력09')
, (10, '감독10', '여', '2010-01-01', '출생지10', '학력10')
, (11, '명감독', '남', '2018-01-01', '출생지11', '학력11')
, (12, '명감독', '여', '2019-01-01', '출생지12', '학력12');
표 4. 감독 테이블에 대한 SQL문.
-- 배우 테이블
INSERT INTO ex_schema.배우
(배우코드, 생년월일, 이름, 성별, 출생지, 키, 몸무게, 혈액형, 감독_등록번호)
VALUES
(1, '2001-01-01', '배우01', '남', '출생지01', 170, 50, 'A ', 1)
, (2, '2002-01-01', '배우02', '남', '출생지02', 171, 51, 'A ', 1)
, (3, '2003-01-01', '배우03', '남', '출생지03', 172, 52, 'A ', 1)
, (4, '2004-01-01', '배우04', '남', '출생지04', 173, 53, 'A ', 2)
, (5, '2005-01-01', '배우05', '남', '출생지05', 174, 54, 'B ', 2)
, (6, '2006-01-01', '배우06', '남', '출생지06', 175, 55, 'B ', 2)
, (7, '2007-01-01', '배우07', '남', '출생지07', 176, 56, 'B ', 2)
, (8, '2008-01-01', '배우08', '남', '출생지08', 177, 57, 'AB', 4)
, (9, '2009-01-01', '배우09', '남', '출생지09', 178, 58, 'AB', 5)
, (10, '2010-01-01', '배우10', '여', '출생지10', 179, 59, 'O ', 6)
, (11, '2019-01-01', '명감독', '여', '출생지12', 180, 60, 'A ', 12);
표 5. 배우 테이블에 대한 SQL문.
- 7 -
-- 장르 테이블
INSERT INTO ex_schema.장르
(장르코드, 장르명)
VALUES
(1, '장르01')
, (2, '장르02')
, (3, '장르03');
표 6. 장르 테이블에 대한 SQL문.
-- 영화 테이블
INSERT INTO ex_schema.영화
(영화코드, 제목, 제작년도, 제작국가, 상영시간, 개봉일자, 제작사, 배급사, 장르_장
르코드)
VALUES
(1, '영화01', '2001', '대한민국', '02:10:00', '2001-01-01', '제작사01', '배급사01', 1)
, (2, '영화02', '2002', '대한민국', '02:10:00', '2002-01-01', '제작사02', '배급사02', 1)
, (3, '영화03', '2003', '대한민국', '02:10:00', '2003-01-01', '제작사03', '배급사03', 1)
, (4, '영화04', '2004', '대한민국', '02:10:00', '2004-01-01', '제작사04', '배급사04', 1)
, (5, '영화05', '2005', '대한민국', '02:10:00', '2005-01-01', '제작사05', '배급사05', 2)
, (6, '영화06', '2006', '대한민국', '02:10:00', '2006-01-01', '제작사06', '배급사06', 2)
, (7, '영화07', '2007', '대한민국', '02:10:00', '2007-01-01', '제작사07', '배급사07', 2)
, (8, '영화08', '2008', '대한민국', '02:10:00', '2008-01-01', '제작사08', '배급사08', 2)
, (9, '영화09', '2009', '대한민국', '02:10:00', '2009-01-01', '제작사09', '배급사09', 3)
, (10, '영화10', '2010', '대한민국', '02:10:00', '2010-01-01', '제작사10', '배급사10', 3)
, (11, '영화11', '2017', '대한민국', '02:10:00', '2017-01-01', '제작사11', '배급사11', 1)
, (12, '영화12', '2018', '대한민국', '02:10:00', '2018-01-01', '제작사12', '배급사12', 2)
, (13, '영화13', '2019', '대한민국', '02:10:00', '2019-01-01', '제작사13', '배급사13', 3)
, (14, '영화14', '2015', '대한민국', '02:10:00', '2018-01-01', '제작사14', '배급사14', 3);
표 7. 영화 테이블에 대한 SQL문.
-- 영화_has_감독
INSERT INTO ex_schema.영화_has_감독
(영화_영화코드, 감독_등록번호)
VALUES
(1, 1)
, (1, 2)
, (1, 3)
, (13, 11)
, (12, 12);
표 8. 영화_has_감독 테이블에 대한 SQL문.
- 8 -
그림 7. SQL 쿼리 패널 적용 캡쳐본.
- 9 -
Ÿ 다음 정보를 출력하기 위한 SQL문을 작성한다 (SQL문 제출 및 쿼리창 적용 화면 캡쳐하여 제출).
- 배우의 이름, 성별, 출생지를 출력하시오.
-- 1) 배우의 이름, 성별, 출생지를 출력하시오.
SELECT 이름
, 성별
, 출생지
FROM ex_schema.배우;
표 9. 문제 1에 대한 SQL문.
그림 8. 문제 1번에 대한 쿼리창 적용 캡쳐본.
- 10 -
- 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사를 출력하시오.
-- 2) 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사를 출력하시오.
SELECT 제목
, 제작국가
, 상영시간
, 제작사
FROM ex_schema.영화
WHERE 영화.제작년도 = STR_TO_DATE('2015', "%Y");
표 10. 문제 2에 대한 SQL문.
그림 9. 문제 2번에 대한 쿼리창 적용 캡쳐본.
- 11 -
- 현재 날짜를 기준으로 최근 3년 안에 제작된 영화의 제목, 제작국가, 개봉일, 제작사, 배급사를 출력
하시오.
-- 3) 현재 날짜를 기준으로 최근 3년 안에 제작된 영화의 제목, 제작국가, 개봉일, 제
작사, 배급사를 출력하시오.
SELECT 제목
, 제작국가
, 개봉일자 AS 개봉일
, 제작사
, 배급사
FROM ex_schema.영화
WHERE 제작년도 > YEAR(NOW() - INTERVAL 3 YEAR);
표 11. 문제 3에 대한 SQL문.
그림 10. 문제 3번에 대한 쿼리창 적용 캡쳐본.
- 12 -
- 이름이 ‘명감독’인 감독이 촬영한 영화의 제목을 출력하시오.
-- 4) 이름이 명감독인 감독이 촬영한 영화의 제목을 출력하시오.
SELECT A.제목
FROM ex_schema.영화 A
, ex_schema.감독 B
, ex_schema.영화_has_감독 C
WHERE A.영화코드 = C.영화_영화코드
AND B.등록번호 = C.감독_등록번호
AND B.이름 = '명감독';
표 12. 문제 4에 대한 SQL문.
그림 11. 문제 4번에 대한 쿼리창 적용 캡쳐본.
- 13 -
- 감독이 직접 출현한 영화의 제목, 제작국가, 상영시간을 출력하시오.
-- 5) 감독이 직접 출현한 영화의 제목과 제작국가, 상영 시간을 출력하시오.
SELECT AA.제목
, AA.제작국가
, AA.상영시간
FROM (
SELECT *
FROM ex_schema.영화 A
, ex_schema.감독 B
, ex_schema.영화_has_감독 C
WHERE A.영화코드 = C.영화_영화코드
AND B.등록번호 = C.감독_등록번호
) AA
, ex_schema.배우 D
WHERE AA.등록번호 = D.감독_등록번호
AND AA.이름 = D.이름;
표 13. 문제 5에 대한 SQL문.
그림 12. 문제 5번에 대한 쿼리창 적용 캡쳐본.
- 14 -
II. 참고문헌
1. 정재화와 이언배. (2014). “제 2장 데이터베이스 설계와 구현을 위한 도구”, 데이터베이스 설계 및 구
현, 한국방송통신대학교출판문화원.

More Related Content

What's hot

чулуун мандлын хөдөлгөөн
чулуун мандлын хөдөлгөөнчулуун мандлын хөдөлгөөн
чулуун мандлын хөдөлгөөн
Baterdene Tserendash
 
чулуулаг
чулуулагчулуулаг
чулуулаг
Buujaa
 
Эргэлтэт өрөмдлөгийн машины ажлын хэсэг
Эргэлтэт өрөмдлөгийн машины ажлын хэсэгЭргэлтэт өрөмдлөгийн машины ажлын хэсэг
Эргэлтэт өрөмдлөгийн машины ажлын хэсэг
2011_2013
 
монгол орны гол мөрөн нуурууд
монгол орны гол мөрөн нууруудмонгол орны гол мөрөн нуурууд
монгол орны гол мөрөн нуурууд
Gegeen_73
 
дэлхийн хэлбэр,хэмжээ
дэлхийн хэлбэр,хэмжээдэлхийн хэлбэр,хэмжээ
дэлхийн хэлбэр,хэмжээ
Baterdene Tserendash
 
хичээл №
хичээл  №хичээл  №
хичээл №
Dalaijargal
 

What's hot (20)

Bearings master
Bearings masterBearings master
Bearings master
 
чулуун мандлын хөдөлгөөн
чулуун мандлын хөдөлгөөнчулуун мандлын хөдөлгөөн
чулуун мандлын хөдөлгөөн
 
чулуулаг
чулуулагчулуулаг
чулуулаг
 
лекц1
лекц1лекц1
лекц1
 
мо хөрс Copy
мо хөрс   Copyмо хөрс   Copy
мо хөрс Copy
 
Эргэлтэт өрөмдлөгийн машины ажлын хэсэг
Эргэлтэт өрөмдлөгийн машины ажлын хэсэгЭргэлтэт өрөмдлөгийн машины ажлын хэсэг
Эргэлтэт өрөмдлөгийн машины ажлын хэсэг
 
сем №2
сем №2сем №2
сем №2
 
Physical properties of minerals
Physical properties of mineralsPhysical properties of minerals
Physical properties of minerals
 
Бутлалт crusher presentation
Бутлалт crusher presentationБутлалт crusher presentation
Бутлалт crusher presentation
 
Isostasy and basin analysis powerpoint
Isostasy and basin analysis powerpointIsostasy and basin analysis powerpoint
Isostasy and basin analysis powerpoint
 
Gazarzuin zurag
Gazarzuin zuragGazarzuin zurag
Gazarzuin zurag
 
Shale oil & gas in pakistan by junaid zahid
Shale oil & gas in pakistan by junaid zahidShale oil & gas in pakistan by junaid zahid
Shale oil & gas in pakistan by junaid zahid
 
Hotspots
HotspotsHotspots
Hotspots
 
The role of geomodeling in the multi disciplinary team
The role of geomodeling in the multi disciplinary teamThe role of geomodeling in the multi disciplinary team
The role of geomodeling in the multi disciplinary team
 
монгол орны гол мөрөн нуурууд
монгол орны гол мөрөн нууруудмонгол орны гол мөрөн нуурууд
монгол орны гол мөрөн нуурууд
 
Importance of joints (geology)
Importance of joints (geology)Importance of joints (geology)
Importance of joints (geology)
 
дэлхийн хэлбэр,хэмжээ
дэлхийн хэлбэр,хэмжээдэлхийн хэлбэр,хэмжээ
дэлхийн хэлбэр,хэмжээ
 
12 porphyry
12 porphyry12 porphyry
12 porphyry
 
Байрзүйн зураг
Байрзүйн зурагБайрзүйн зураг
Байрзүйн зураг
 
хичээл №
хичээл  №хичээл  №
хичээл №
 

More from Lee Sang-Ho

More from Lee Sang-Ho (20)

20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
 
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
 
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
 

[방송통신대 컴퓨터과학과] 데이터베이스 설계 및 구현 과제물 작성

  • 1. - 1 - 2019학년도 2학기 과제물시험 (중간) ❍ 교과목명 : 데이터베이스 설계 및 구현 ❍ 학 번 : 201934-363698 ❍ 성 명 : 이상호 ❍ 연 락 처 : 010-4078-7412 l 과 제 명 : 교재 1장~5장까지 학습한 후 MySQL 서버와 MySQL 워크벤치를 사용하여 다음 조 건에 따라 데이터베이스를 설계하시오. < 목 차 > I. 각 문제에 따른 실행 결과 ························································································ 2 II. 참고문헌 ······················································································································ 4
  • 2. - 2 - I. 각 문제에 따른 실행 결과 Ÿ MySQL 워크벤치를 사용하여 ER 다이어그램을 작성한다. 그림 1. 모델링에 대한 캡쳐본.
  • 3. - 3 - Ÿ MySQL 워크벤치의 forward engineering 기능을 이용하여 스키마를 생성하고 MySQL Server에 적용한 다. 그림 2. review the SQL script에 대한 캡쳐본.
  • 4. - 4 - 그림 3. forward engineer process에 대한 캡쳐본. 그림 4. 내비게이터 스키마에 대한 캡쳐본.
  • 5. - 5 - Ÿ 사용자 요구사항과 문 5)를 참고하여 각 테이블에 적용되어야할 한 개 이상의 인덱스를 생성한다. - CREATE INDEX 감독_INDEX ON ex_schema.감독 (이름); - CREATE INDEX 배우_INDEX ON ex_schema.배우 (이름); 표 3. 인덱스 생성 SQL문 목록. 그림 5. SQL 쿼리 패널에 대한 캡쳐본 (1). 그림 6. 그림 6. SQL 쿼리 패널에 대한 캡쳐본 (2).
  • 6. - 6 - Ÿ 각 테이블에 10개 이상의 예제 레코드를 삽입하는 SQL문을 작성한다. - 각 테이블에 따른 SQL문 -- 감독 테이블 INSERT INTO ex_schema.감독 (등록번호, 이름, 성별, 출생일, 출생지, 학력사항) VALUES (1, '감독01', '남', '2001-01-01', '출생지01', '학력01') , (2, '감독02', '남', '2002-01-01', '출생지02', '학력02') , (3, '감독03', '남', '2003-01-01', '출생지03', '학력03') , (4, '감독04', '남', '2004-01-01', '출생지04', '학력04') , (5, '감독05', '남', '2005-01-01', '출생지05', '학력05') , (6, '감독06', '남', '2006-01-01', '출생지06', '학력06') , (7, '감독07', '남', '2007-01-01', '출생지07', '학력07') , (8, '감독08', '남', '2008-01-01', '출생지08', '학력08') , (9, '감독09', '여', '2009-01-01', '출생지09', '학력09') , (10, '감독10', '여', '2010-01-01', '출생지10', '학력10') , (11, '명감독', '남', '2018-01-01', '출생지11', '학력11') , (12, '명감독', '여', '2019-01-01', '출생지12', '학력12'); 표 4. 감독 테이블에 대한 SQL문. -- 배우 테이블 INSERT INTO ex_schema.배우 (배우코드, 생년월일, 이름, 성별, 출생지, 키, 몸무게, 혈액형, 감독_등록번호) VALUES (1, '2001-01-01', '배우01', '남', '출생지01', 170, 50, 'A ', 1) , (2, '2002-01-01', '배우02', '남', '출생지02', 171, 51, 'A ', 1) , (3, '2003-01-01', '배우03', '남', '출생지03', 172, 52, 'A ', 1) , (4, '2004-01-01', '배우04', '남', '출생지04', 173, 53, 'A ', 2) , (5, '2005-01-01', '배우05', '남', '출생지05', 174, 54, 'B ', 2) , (6, '2006-01-01', '배우06', '남', '출생지06', 175, 55, 'B ', 2) , (7, '2007-01-01', '배우07', '남', '출생지07', 176, 56, 'B ', 2) , (8, '2008-01-01', '배우08', '남', '출생지08', 177, 57, 'AB', 4) , (9, '2009-01-01', '배우09', '남', '출생지09', 178, 58, 'AB', 5) , (10, '2010-01-01', '배우10', '여', '출생지10', 179, 59, 'O ', 6) , (11, '2019-01-01', '명감독', '여', '출생지12', 180, 60, 'A ', 12); 표 5. 배우 테이블에 대한 SQL문.
  • 7. - 7 - -- 장르 테이블 INSERT INTO ex_schema.장르 (장르코드, 장르명) VALUES (1, '장르01') , (2, '장르02') , (3, '장르03'); 표 6. 장르 테이블에 대한 SQL문. -- 영화 테이블 INSERT INTO ex_schema.영화 (영화코드, 제목, 제작년도, 제작국가, 상영시간, 개봉일자, 제작사, 배급사, 장르_장 르코드) VALUES (1, '영화01', '2001', '대한민국', '02:10:00', '2001-01-01', '제작사01', '배급사01', 1) , (2, '영화02', '2002', '대한민국', '02:10:00', '2002-01-01', '제작사02', '배급사02', 1) , (3, '영화03', '2003', '대한민국', '02:10:00', '2003-01-01', '제작사03', '배급사03', 1) , (4, '영화04', '2004', '대한민국', '02:10:00', '2004-01-01', '제작사04', '배급사04', 1) , (5, '영화05', '2005', '대한민국', '02:10:00', '2005-01-01', '제작사05', '배급사05', 2) , (6, '영화06', '2006', '대한민국', '02:10:00', '2006-01-01', '제작사06', '배급사06', 2) , (7, '영화07', '2007', '대한민국', '02:10:00', '2007-01-01', '제작사07', '배급사07', 2) , (8, '영화08', '2008', '대한민국', '02:10:00', '2008-01-01', '제작사08', '배급사08', 2) , (9, '영화09', '2009', '대한민국', '02:10:00', '2009-01-01', '제작사09', '배급사09', 3) , (10, '영화10', '2010', '대한민국', '02:10:00', '2010-01-01', '제작사10', '배급사10', 3) , (11, '영화11', '2017', '대한민국', '02:10:00', '2017-01-01', '제작사11', '배급사11', 1) , (12, '영화12', '2018', '대한민국', '02:10:00', '2018-01-01', '제작사12', '배급사12', 2) , (13, '영화13', '2019', '대한민국', '02:10:00', '2019-01-01', '제작사13', '배급사13', 3) , (14, '영화14', '2015', '대한민국', '02:10:00', '2018-01-01', '제작사14', '배급사14', 3); 표 7. 영화 테이블에 대한 SQL문. -- 영화_has_감독 INSERT INTO ex_schema.영화_has_감독 (영화_영화코드, 감독_등록번호) VALUES (1, 1) , (1, 2) , (1, 3) , (13, 11) , (12, 12); 표 8. 영화_has_감독 테이블에 대한 SQL문.
  • 8. - 8 - 그림 7. SQL 쿼리 패널 적용 캡쳐본.
  • 9. - 9 - Ÿ 다음 정보를 출력하기 위한 SQL문을 작성한다 (SQL문 제출 및 쿼리창 적용 화면 캡쳐하여 제출). - 배우의 이름, 성별, 출생지를 출력하시오. -- 1) 배우의 이름, 성별, 출생지를 출력하시오. SELECT 이름 , 성별 , 출생지 FROM ex_schema.배우; 표 9. 문제 1에 대한 SQL문. 그림 8. 문제 1번에 대한 쿼리창 적용 캡쳐본.
  • 10. - 10 - - 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사를 출력하시오. -- 2) 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사를 출력하시오. SELECT 제목 , 제작국가 , 상영시간 , 제작사 FROM ex_schema.영화 WHERE 영화.제작년도 = STR_TO_DATE('2015', "%Y"); 표 10. 문제 2에 대한 SQL문. 그림 9. 문제 2번에 대한 쿼리창 적용 캡쳐본.
  • 11. - 11 - - 현재 날짜를 기준으로 최근 3년 안에 제작된 영화의 제목, 제작국가, 개봉일, 제작사, 배급사를 출력 하시오. -- 3) 현재 날짜를 기준으로 최근 3년 안에 제작된 영화의 제목, 제작국가, 개봉일, 제 작사, 배급사를 출력하시오. SELECT 제목 , 제작국가 , 개봉일자 AS 개봉일 , 제작사 , 배급사 FROM ex_schema.영화 WHERE 제작년도 > YEAR(NOW() - INTERVAL 3 YEAR); 표 11. 문제 3에 대한 SQL문. 그림 10. 문제 3번에 대한 쿼리창 적용 캡쳐본.
  • 12. - 12 - - 이름이 ‘명감독’인 감독이 촬영한 영화의 제목을 출력하시오. -- 4) 이름이 명감독인 감독이 촬영한 영화의 제목을 출력하시오. SELECT A.제목 FROM ex_schema.영화 A , ex_schema.감독 B , ex_schema.영화_has_감독 C WHERE A.영화코드 = C.영화_영화코드 AND B.등록번호 = C.감독_등록번호 AND B.이름 = '명감독'; 표 12. 문제 4에 대한 SQL문. 그림 11. 문제 4번에 대한 쿼리창 적용 캡쳐본.
  • 13. - 13 - - 감독이 직접 출현한 영화의 제목, 제작국가, 상영시간을 출력하시오. -- 5) 감독이 직접 출현한 영화의 제목과 제작국가, 상영 시간을 출력하시오. SELECT AA.제목 , AA.제작국가 , AA.상영시간 FROM ( SELECT * FROM ex_schema.영화 A , ex_schema.감독 B , ex_schema.영화_has_감독 C WHERE A.영화코드 = C.영화_영화코드 AND B.등록번호 = C.감독_등록번호 ) AA , ex_schema.배우 D WHERE AA.등록번호 = D.감독_등록번호 AND AA.이름 = D.이름; 표 13. 문제 5에 대한 SQL문. 그림 12. 문제 5번에 대한 쿼리창 적용 캡쳐본.
  • 14. - 14 - II. 참고문헌 1. 정재화와 이언배. (2014). “제 2장 데이터베이스 설계와 구현을 위한 도구”, 데이터베이스 설계 및 구 현, 한국방송통신대학교출판문화원.