반응형

     정보

    • 업무명     : 데이터베이스 설계 및 구현 프로그래밍 과제물

    • 작성자     : 이상호

    • 작성일     : 2019-12-17

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [개요]

    • 안녕하세요? 웹 개발 및 연구 개발을 담당하고 있는 해솔입니다.

    • 오늘 포스팅은 데이터베이스 설계 및 구현 프로그래밍 과제물을 소개드리고자 합니다.

     

     

    [특징]

    • 데이터베이스 설계 및 구현 과제물에 대한 이해를 돕기위해 작성

     

    [기능]

    • 과제물 지시사항

    • 과제물 작성요령

     

    [활용자료]

    • 인터넷 검색

    [과제물 작성 요령]

    • 과제물 작성 계획 세우기

      • 과제물 작성을 위하여 계획 및 준비, 글쓰기, 제출과 같이 3 단계로 구성

      • 1 단계는 우선 계획 및 준비로서 공고 확인, 제출 기간 확인, 과제물 문제를 파악

      • 2단계의 경우 글쓰기로서 자료 검색 수집 및 개요 작성 그리고 본문 쓰기 및 수정

      • 끝으로 제출 마감일뿐만 아니라 파일 용량 검사 및 온라인시스템 제출

    • 과제물 문제 파악 요령

      • 과제물 문제에서 교수님의 지시사항을 정확히 간파하여 작성 

      • 특히 제출 파일의 양식/용량 및 스타일 형식 그리고 작성 분량에 유의

    • 나만의 글쓰기 전략

      • 앞서 작성 계획에서와 같이 단계별로 수행이 필연

      • 추가로 각 과제물마다 한글 또는 워드 양식에서 각자만의 스타일을 바탕으로 글의 내용 작성

      • 또한 각종 인터넷 검색 및 도서를 참조하여 내용을 제시할 뿐만 아니라 그에 따른 판단의 근거에 대한 명확한 인용 및 출처가 정확하게 표시

    • 학술 검색을 위한 유용한 방법

      • 인터넷은 1950대에 컴퓨터의 개발과 더불어 너무 많은 정보의 바다에서 살고 있기 때문에 자신에게 필요한 정보 발굴 능력 요구 

      • 인터넷 검색이 익숙하지 않을 경우 네이버 검색을 추천하고 익숙하면 구글 검색이 유용

      • 그러나 일반적으로 네이버 또는 구글로 검색할 경우 다수의 블로그에서 중복되는 정보를 확인할 수 있고 이러한 정보들은 대부분 복사 붙여넣기로 인해 남용되고 있는 실정

      • 따라서 이 보다는 전 세계 검색엔진 2위를 차지한 Yahoo! JAPAN (https://www.yahoo.co.jp)에서 검색하여 구글 번역할 경우 원하는 정보를 쉽게 얻음

      • 연구 보고서 또는 SCI/SCIE 논문을 보기 위해서 대학교에서 저널을 구독하는 것이 일반적이나 모든 저널을 구독하기에는 상당한 경제적 부담이 되기 때문에 SCI-HUB (https://sci-hub.tw/)를 통해 보는 것을 추천

     

    [사용법]

    • 과제물 서식을 바탕으로 작성

     

    [사용 OS]

    • Windows 10

     

    [사용 언어]

    • MySQL

    • 한글 2018

     

     과제물 문제

     

     소스 코드

    [명세]

    -- 1) 배우의 이름, 성별, 출생지를 출력하시오.
    SELECT 이름
    			, 성별
    			, 출생지
    FROM ex_schema.배우;
    
    -- 2) 2015년에 제작된 영화의 제목, 제작국가, 상영시간, 제작사를 출력하시오.
    SELECT 제목
    			, 제작국가
                , 상영시간
                , 제작사
    FROM ex_schema.영화
    WHERE 영화.제작년도 = STR_TO_DATE('2015', "%Y");
    
    -- 3) 현재 날짜를 기준으로 최근 3년 안에 제작된 영화의 제목, 제작국가, 개봉일, 제작사, 배급사를 출력하시오.
    SELECT 제목
    			, 제작국가
                , 개봉일자 AS 개봉일
                , 제작사
                , 배급사
    FROM ex_schema.영화
    WHERE 제작년도 > YEAR(NOW() - INTERVAL 3 YEAR);
    
    -- 4) 이름이 명감독인 감독이 촬영한 영화의 제목을 출력하시오.
    SELECT A.제목
    FROM ex_schema.영화 A
    		   , ex_schema.감독 B
    		   , ex_schema.영화_has_감독 C
    WHERE A.영화코드 = C.영화_영화코드
    			AND B.등록번호 = C.감독_등록번호
    			AND B.이름 = '명감독';
    	
    -- 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.이름;
    
            
    
    ;
    CREATE INDEX 감독_INDEX ON ex_schema.감독 (이름)
    ;
    CREATE INDEX 배우_INDEX ON ex_schema.배우 (이름)
    ;
    SHOW INDEX FROM ex_schema.감독
    ;
    SHOW INDEX FROM ex_schema.배우
    ;
    
    -- 감독 테이블
    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');
      
    -- 배우 테이블
    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);
    
    -- 장르 테이블
    INSERT INTO ex_schema.장르
      (장르코드, 장르명)
    VALUES
      (1, '장르01')
      , (2, '장르02')
      , (3, '장르03');
    
    -- 영화 테이블
    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);
    
    -- 영화_has_감독
    INSERT INTO ex_schema.영화_has_감독
      (영화_영화코드, 감독_등록번호)
    VALUES
      (1, 1)
      , (1, 2)
      , (1, 3)
      , (13, 11)
      , (12, 12);

     

    [GitHub Gist]

     

     관련 자료

    [제출본]

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기