데이터베이스이해와활용 세번째 과제

   

  • 제출 안내사항: 숙제 파일 (hw3_[your student id].doc 또는 hw3_[your student id].hwp)을 온라인 Uclass 강의실에 업로드해주세요. 답안은 한국어나 영어로 자유롭게 작성하실 수 있습니다.
  • 과제 제출 마감 : 12월 1일 금요일 오후 2시

       

과제와 관련하여 질문이 있는 경우 Ed Discussion 플랫폼에 자유롭게 올려주세요. 만약 개인적으로 질문하고 싶은 내용이 있는 경우 저 또는 조교님께 이메일을 보내주세요.

   

TA: 이상민(sangmin.lee.ai@gmail.com)

   


  1. (1점) 다음 예시 관계 대수로 표현된 쿼리들을 아래 데이터베이스 상태에 적용한 결과를 보여주세요. Figure 5.6

Q1 Q2 Q3 Q4

   


  1. (2점) 다음은 주어진 COMPANY 관계형 데이터베이스 스키마를 사용하여 특정 쿼리를 수행하는 내용입니다. 아래 그림을 참조하세요. Figure 5.5

각 쿼리에 대한 결과를 다음 데이터베이스 상태에 적용하여 보여주세요. Figure 5.6

a. 부서 5에서 일주일에 10시간 이상 ProductX 프로젝트에 참여하는 모든 직원의 이름을 검색하세요.

b. 'Franklin Wong'에게 직접 감독받는 모든 직원의 이름을 찾으세요.

c. 모든 프로젝트에 참여하는 모든 직원의 이름을 검색하세요.

d. 각 부서별로, 해당 부서에서 일하는 모든 직원의 평균 급여와 부서 이름을 검색하세요.

e. 부양 가족이 없는 모든 부서 관리자의 성을 나열하세요.

   


  1. (2점) 다음 UNIVERSITY 데이터베이스를 표현한 ER 다이어그램을 관계형 데이터베이스 스키마로 변환해보세요. Figure 3.20

   


  1. (1점) 다음 그림에 나타난 관계형 스키마를 ER 스키마로 매핑해 보세요. 이는 기존에 구현된 데이터베이스에 대해 개념적 스키마를 생성하는 과정, 즉 역공학(reverse engineering)의 일부입니다. 어떤 추가적인 가정을 하게되는 경우 반드시 명시해 주세요. Figure 6.14

   


  1. (2점) 학생들의 성적표를 추적하기 위해 사용되는 대학 데이터베이스에 대한 다음과 같은 요구사항이 있다고 가정해 봅시다:

    a. 대학은 각 학생의 이름(Sname), 학번(Snum), 사회보장번호(Ssn), 현재 주소(Sc_addr)와 전화번호(Sc_phone), 영구 주소(Sp_addr)와 전화번호(Sp_phone), 생년월일(Bdate), 성별(Sex), 학년(Class) (‘신입생’, ‘2학년’, …, ‘대학원생’), 전공 부서(Major_code), 부전공 부서(Minor_code) (해당되는 경우), 학위 프로그램(Prog) (‘b.a.’, ‘b.s.’, …, ‘ph.d.’)을 기록합니다. Ssn과 학번은 각 학생마다 고유한 값을 가집니다.

    b. 각 학과는 이름(Dname), 학과 코드(Dcode), 사무실 번호(Doffice), 사무실 전화(Dphone), 단과대학(Dcollege)으로 설명됩니다. 이름과 코드는 각 학과마다 고유한 값을 가집니다.

    c. 각 과목은 과목명(Cname), 설명(Cdesc), 과목 번호(Cnum), 학기당 학점 수(Credit), 수준(Level), 개설 학과(Cdept)를 가집니다. 과목 번호는 각 과목마다 고유합니다.

    d. 각 섹션은 강사(Iname), 학기(Semester), 연도(Year), 과목(Sec_course), 섹션 번호(Sec_num)를 가집니다. 섹션 번호는 같은 학기/연도에 가르치는 동일 과목의 다른 섹션을 구별합니다; 그 값은 1, 2, 3, …, 각 학기에 가르치는 섹션의 총 수까지입니다.

    e. 성적 기록은 학생(Ssn), 특정 섹션, 그리고 성적(Grade)을 참조합니다.

이 데이터베이스 애플리케이션을 위한 관계형 데이터베이스 스키마를 설계하세요. 먼저 모든 속성 간에 유지되어야 할 함수적 종속성(functional dependency)을 보여주세요. 그런 다음 데이터베이스의 관계 스키마를 각각 3NF 또는 BCNF로 설계하세요. 각 관계의 키 속성을 명시하세요. 만약 스키마를 완전히 만들기 위해 추가적인 요구조건이 필요한 경우에는 적절한 가정을 추가하여 만들어보세요.

   


  1. (1점) 아래 주어진 EMP_DEPT와 EMP_PROJ에서 데이터 갱신 시 발생할 수 있는 이상 현상(update anomaly)들이 어떤 것들이 있는지 설명해주세요. 이상 현상들을 제거하기 위해 어떤 방법을 사용할 수 있을지 설명해주세요.

Figure 14.3    


  1. (1점) 아래 그림의 LOTS 관계 스키마가 기본 키만을 고려하는 제한적인 정규형 해석에 따라 어떤 정규형에 해당하는지 알려주세요. 만약 일반적인 정규형 정의를 사용한다면 여전히 같은 정규형에 해당하게 될까요? Figure 14.12a