티스토리 뷰
2019년도 2학기 데이터베이스설계및구현 출석수업대체시험
과제 내용
교재 1 장~5 장까지 학습한 후, MySQL 서버와 MySQL 워크벤치를 사용하여 다음 조건에 따라 데이터베이스를 설계하시오.
요구사항
- (주) 영화광은 국내에서 상영․유 통되는 영화 컨텐츠에 대한 종합적인 정보를 관리하기 위해 데이터베이스 시스템을 구축하고자 한다.
- 영화에 대하여 영화코드번호, 제목, 제작년도, 제 작국가, 상영시간, 개봉일자, 제작사, 배급사 정보를 저장한다.
- 감독에 대해 서는 등록번호, 이름, 성별, 출생일, 출생지, 학력사항을 저장한다.
- 배우에 대해서는 배우번호, 생년월일, 이름, 성별, 출생지, 키, 몸무게, 혈액형 정보를 저장한다.
- 혈액형에는 'A', 'B', 'AB', 'O' , 성별에는 '남', '여' 값만 입력될 수 있다.
- 한 영화에 여러 명의 감독이 참여할 수 있으며, 감독 또한 여러 영화에 참여할 수 있다.
- 감독과 유사하게 한 영화에 여러 명의 배우가 출연할 수 있으며, 출연 시 배역이 정해진다.
- 한 배우 또한 여러 영화에 출연할 수 있다. 장르에 대해 장르코드와 장르명이 저장되며, 각 영화에는 한 장르코드만 부여되고, 한 장르코드는 여 러 영화에 부여될 수 있다.
※ 위 요구사항은 최소한의 의무사항을 나타내며 문제 해결을 위해 추가적인 엔티티, 속성, 관계 및 데이터 타입을 수험자가 자유롭게 결정, 정의하여 사용할 수 있다.
문제
- 문1) MySQL 워크벤치를 사용하여 ER 다이어그램 을 작성한다. (모델링 화면 캡쳐) - 5점
- 문2) MySQL 워크벤치의 forward engineering 기 능을 이용하여 스키마를 생성하고 MySQL Server 에 적용한다. (review the SQL script, forward engineer process, 내비게이터 스키마 부분 화 면 캡쳐) - 3점
- 문3) 사용자 요구사항과 문5)를 참고하여 각 테 이블에 적용되어야할 한 개 이상의 인덱스를 생성한다. (인덱스 생성 SQL문 목록 및 SQL 쿼리 패널에 적용 화면 캡쳐 ) - 2점
- 문4) 각 테이블에 10개 이상의 예제 레코드를 삽입하는 SQL문을 작성한다. (SQL문 제출 및 SQL 쿼리 패널 적용 화면 캡쳐) - 5점
- 문5) 다음 정보를 출력하기 위한 SQL문을 작성 한다. (SQL문 제출 및 쿼리창 적용 화면 캡쳐하 여 제출) - 각 3점
- 1) 배우의 이름, 성별, 출생지를 출력하시오.
- 2) 2015년에 제작된 영화의 제목, 제작국가, 상 영시간, 제작사를 출력하시오.
- 3) 현재 날짜를 기준으로 최근 3년 안에 제작 된 영화의 제목, 제작국가, 개봉일, 제작사, 배급사를 출력하시오.
- 4) 이름이 ‘명감독’인 감독이 촬영한 영화의 제목을 출력하시오.
- 5) 감독이 직접 출현한 영화의 제목과, 제작국 각, 상영시간을 출력하시오.
과제 풀이
1. MySQL 워크벤치를 사용하여 ER 다이어그램 작성
2. MySQL 워크벤치의 forward engineering 기능을 이용하여 스키마를 생성하고 MySQL Server에 적용
- review the SQL script
- forward engineer process
- 내비게이터 스키마
3. 테이블에 적용되어야 할 한 개 이상의 인덱스를 생성
- SQL문
ALTER TABLE 영화 DROP INDEX yearIndex;
ALTER TABLE 배우 DROP INDEX nameIndex;
ALTER TABLE 감독 DROP INDEX directorNameIndex;
ALTER TABLE 영화참여 DROP INDEX directorCodeIndex;
ALTER TABLE 영화출연 DROP INDEX actorNumIndex;
ALTER TABLE 장르 DROP INDEX jangreNameIndex;
- SQL 쿼리 패널
4. 각 테이블에 10개 이상의 예제 레코드 삽입하는 SQL문 작성
- SQL 문
insert into 감독 values(1, '명감독', '남', '2001-05-06', '대전', '고려대 불문과 졸업');
insert into 감독 values(2, '김감독', '여', '1990-07-01', '서울', '서울대 경영학과 졸업');
insert into 감독 values(3, '이감독', '남', '1980-09-06', '대구', '고려대 연극영화과 졸업');
insert into 감독 values(4, '박감독', '여', '1977-11-12', '부산', '서강대 고고학과 졸업');
insert into 감독 values(5, '최감독', '여', '1971-12-29', '대천', '대전 컴퓨터공학과 졸업');
insert into 감독 values(6, '나감독', '남', '1965-02-19', '서산', '충남대 사회복지학과 졸업');
insert into 감독 values(7, '마감독', '여', '1953-03-16', '홍천', '한남대 컴퓨터과학과 졸업');
insert into 감독 values(8, '차감독', '남', '1999-07-10', '강릉', '성균관대 유아교육과 졸업');
insert into 감독 values(9, '아감독', '남', '1996-10-28', '속초', '경희대 산업공학 졸업');
insert into 감독 values(10, '강감독', '여', '1977-06-09', '제천', '연세대 신문방송학과 졸업');
insert into 배우 values(1, '1999-05-06', '김배우', '남', '서울', 171.2, 76.1, 'A');
insert into 배우 values(2, '1953-05-06', '이배우', '여', '부산', 165.6, 59.4, 'B');
insert into 배우 values(3, '1977-05-06', '강배우', '남', '대구', 186.7, 86.7, 'AB');
insert into 배우 values(4, '1996-05-06', '나배우', '여', '속초', 157.9, 106.8, 'O');
insert into 배우 values(5, '1953-03-16', '마감독', '여', '홍천', 179.2, 96.2, 'A');
insert into 배우 values(6, '1969-05-06', '공배우', '여', '파주', 178.3, 46.4, 'B');
insert into 배우 values(7, '1999-05-06', '아배우', '여', '철원', 166.4, 62.3, 'AB');
insert into 배우 values(8, '1980-05-06', '박배우', '남', '김포', 185.7, 98.2, 'O');
insert into 배우 values(9, '1971-05-06', '최배우', '남', '인천', 181.2, 92.7, 'O');
insert into 배우 values(10, '1998-05-06', '명배우', '여', '대전', 183.1, 85.1, 'A');
insert into 장르 values('A', '멜로');
insert into 장르 values('B', '공포');
insert into 장르 values('C', '코미디');
insert into 장르 values('D', '재난');
insert into 장르 values('E', '교육');
insert into 장르 values('F', '판타지');
insert into 장르 values('G', '전쟁');
insert into 장르 values('H', '종교');
insert into 장르 values('I', '성인');
insert into 장르 values('J', '모헝');
insert into 영화 values(1, '나의 여행기', 2018, '한국', 123, '2018-05-11', '바른미래', 'CJ엔터테인먼트', 'J');
insert into 영화 values(2, '스타이즈본', 2015, '미국', 180, '2015-01-21', '마블스튜디오', '롯데엔터테인먼트', 'D');
insert into 영화 values(3, '스타워즈', 2002, '중국', 174, '2002-08-05', '월트디즈니스튜디오', '오드', 'A');
insert into 영화 values(4, '걸리버여행기', 2001, '일본', 152, '2001-06-02', '미라맥스', '소나무픽쳐스', 'B');
insert into 영화 values(5, '공포영화', 1999, '대만', 124, '1999-09-01', '우리집', '소니픽처스', 'E');
insert into 영화 values(6, '나를 돌아봐', 2009, '프랑스', 175, '2009-08-01', '대한건아', '월트디즈니', 'C');
insert into 영화 values(7, '추격자', 2007, '독일', 102, '2007-10-01', '영화사랑', '안나프루나', 'F');
insert into 영화 values(8, '공조', 2006, '러시아', 117, '2006-12-01', 'DC필름스', '유니버설픽처스', 'I');
insert into 영화 values(9, '공부', 2004, '한국', 147, '2004-06-01', '굿코리아', '대원미디어', 'G');
insert into 영화 values(10, '빈집', 2019, '일본', 130, '2019-07-01', '터치스톤', '영화사빛', 'H');
insert into 영화참여 values(1, 1);
insert into 영화참여 values(2, 2);
insert into 영화참여 values(3, 3);
insert into 영화참여 values(4, 4);
insert into 영화참여 values(5, 5);
insert into 영화참여 values(6, 6);
insert into 영화참여 values(7, 7);
insert into 영화참여 values(8, 8);
insert into 영화참여 values(9, 9);
insert into 영화참여 values(10, 10);
insert into 영화출연 values(1, 1);
insert into 영화출연 values(2, 2);
insert into 영화출연 values(3, 3);
insert into 영화출연 values(4, 4);
insert into 영화출연 values(5, 7);
insert into 영화출연 values(6, 6);
insert into 영화출연 values(7, 5);
insert into 영화출연 values(8, 8);
insert into 영화출연 values(9, 9);
insert into 영화출연 values(10, 10);
- SQL 쿼리 패널(생략)
5. 다음 정보를 출력하기 위한 SQL문 작성
- 배우의 이름 성별, 출생지를 출력
select 이름, 성별, 출생지 from 배우;
- 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사 출력
select 제목, 제작국가, 상영시간, 제작사 from 영화 where 제작년도 = 2015;
- 현재 날짜를 기준으로 최근 3년안에 제작된 영화의 제목, 제작국가, 개봉일, 제작사, 배급사를 출력
select 제목, 제작국가, 개봉일자, 제작사, 배급사 from 영화 where 제작년도 > (NOW() - INTERVAL 3 YEAR);
- 이름이 ‘명감독’인 감독이 촬영한 영화의 제목 출력
select 제목 from 영화
inner join 영화참여 on 영화참여.영화_영화코드번호 = 영화.영화코드번호
inner join 감독 on 감독.등록번호 = 영화참여.감독_등록번호 and 감독.이름 = '명감독';
- 감독이 직접 출연한 영화의 제목과, 제작국가, 상영시간 출력
select 제목, 제작국가, 상영시간 from 영화
inner join 영화출연 on 영화출연.영화_영화코드번호 = 영화.영화코드번호
inner join 배우 on 배우.배우번호 = 영화출연.배우_배우번호
right outer join 감독 on 배우.이름 = 감독.이름 where 배우.이름 is not null;
끝으로
이 글이 도움이 되었다면, 하단의 Google 광고 👎👎👎 한번씩 클릭 부탁 드립니다. 🙏🙏🙏
광고 클릭은 많은 힘이 됩니다!
반응형
'학교' 카테고리의 다른 글
[방송통신대학교] 2019년도 사진의 이해 과제물 (0) | 2020.04.07 |
---|---|
[방송통신대학교] 2019년도 대중 영화의 이해 과제물 (0) | 2020.04.07 |
[방송통신대학교] 2019년도 컴퓨터의 이해 과제물 (0) | 2020.04.07 |
[방송통신대학교] C++ 프로그래밍 출석수업대체시험 실습 과제물 (0) | 2020.04.07 |
[방송통신대학교] 2019년도 언어의 이해 중간 과제물 (0) | 2020.04.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- git
- 일본 배낭여행
- JavaFX Window Close
- windows
- 배낭 여행
- effectivejava
- intelij
- 자전거 여행
- 일본여행
- 인텔리제이
- Java UI
- 일본 여행
- java
- 자전거
- JavaFX 테이블뷰
- 배낭여행
- JavaFX Table View
- 이펙티브 자바
- 자바
- TableView
- 방통대 과제물
- JavaFX 종료
- JavaFX
- 이펙티브자바
- 스프링부트
- springboot
- 텐트
- 일본 자전거 여행
- 이펙티브
- effective java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함