2007-2 학기 데이터베이스 (CA 24150) 059 분반, 3 학점, 담당 교수, 김 경석
중간 시험, 2007.10.24 (수), 16:00-17:30 (90 분)
점수:______/ 104 점 (mid01b)
* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름 (성적 게시용)을 적을 것
(딴 이름은 한글, 로마자, 숫자 등으로 5-8 자로 만든다.)
* 답은 요점 중심으로 짤막하게 말하라.
* 답안지는 세로로 반으로 접어서 쓸 것.
1. [4 점] 보기를 들면서, 원자성의 개념을 짤막하게 풀이하라.
2. [4 점] 보기를 들면서, 동시 접근 제어를 제대로 하지 못 했을 때 생길 수 있는 문제점을 풀이하라.
3. [4 점] SQL 문장으로 구체적인 보기로 들어서, 자료의 독립성을 풀이하라.
4. [4 점] 개체-관계 (E-R) 모형은 주로 어떤 목적으로 쓰는지 말하라.
5. [4 점] 보기를 들면서, 자료 조작어가 비절차적 (non-procedural)이라는 것이 무엇을 뜻하는지 풀이하라.
6. [4 점] 자료 조작어가 비절차적인지 절차적인지, 또한 결과가 집합인지 레코드 한 개인지에 따라 네 가지로 나눌 때, 각각에 해당하는 자료 조작어의 보기를 들어라.
7. [4 점] 운영 체제가 볼 때, 데이터베이스 관리 체제는 어떤 종류의 프로그램인가?
8. [4 점] 보기를 들면서, 속성의 도메인을 나타내는 방법 두 가지를 짤막하게 풀이하고, 두 가지의 다른 점도 풀이하라.
9. [4 점] '만일' SQL에서 복합 속성 (compound attribute)을 지원한다면, 복합 속성이 들어가는 '가상적인 'create table 문장과 select 문장을 보여라.
10. [4 점] '만일' SQL에서 값이 여럿인 속성 (multi-valued attribute)을 지원한다면, 값이 여럿인 속성이 들어가는 '가상적인 'create table 문장과 select 문장을 보여라.
11. [8 점] 손님이 은행에 계좌 (계좌 번호)를 가지고 있는데,
가) [4 점] 손님 한 사람은 여러 계좌를 가질 수 있지만, 각 계좌의 주인 (주민등록 번호)은 한 사람만 될 수 있다는 제약이 있을 때,
나) [4 점] 손님 한 사람은 여러 계좌를 가질 수 있고, 더욱이 각 계좌의 주인 (주민 등록 번호)은 여러 사람이 될 수 있다고 할 때,
가)와 나) 각각의 경우 계좌 번호와 주민 등록 번호 사이의 사상 크기 (mapping cardinality)를 말하라. 단, 중복되는 주민 등록 번호는 없다고 가정.
12. [4 점] 널 (null) 값이 뜻하는 바는 여러 가지가 있는데, 아는 대로 보기를 들면서 풀이하라.
13. [8 점] E-R 모형에서 이떤 것 (사실)을 객체로 나타낼 수도 있고, 속성으로 나타낼 수도 있는데 (어떤 경우에는 한 방식이 다른 방식보다 훨씬 나을 수도 있지만), 구체적인 보기를 들면서 풀이하라.
14. [8 점] {학번, 학과_번호, 과목_번호} 가 수퍼 키일 때, 이 수퍼 키가 후보 키 (candidate key)인지 아닌지 판별하는 구체적인 방법 (절차)을 말하라.
15 [28 점]
- 사원 (사원_번호, 주번, 이름) 표에서 사원_번호가 일차 키이고 주번이 이차 키이다.
- 과제_참여 (사원_번호, 과제_번호) 표에서 사원_번호가 foreign key 이다.
- 사원 표에 투플이 1,000 개 있고, 과제_참여 표에 투플이 1,300 개 있다.
가) [4 점] 사원 표와 과제_참여 표에 대한 create table 문장을 보이되, 키 관련 사실을 정확하게 나타내어라.
나) [4 점] 이 표 두 개 사이의 자연 조인을 관계형 대수의 기본 연산만 써서 나타내라.
다) [4 점] 이 표 두 개 사이의 자연 조인을 SQL 로 나타내라.
라) [4 점] 이 표 두 개 사이의 cartesian product 를 SQL 로 나타내라.
마) [4 점] 이 표 두 개 사이의 자연 조인 결과의 투플 수는 대략 몇 개쯤 되는지 보이고, 그렇게 되는 이유를 풀이하라.
바) [8 점] 사원_번호 "111" 인 사원이 참여하는 과제 가운데 적어도 한 과제에라도 참여하는 다른 사원의 사원_번호를 (겹치지 않게) 모두 찍어내는 SQL 명령을 보여라.
16. [8 점] select r.A1, s.A2 from r, s where cond1
이 SQL 명령이 뜻하는 바를 관계 대수로 나타내라.
* * *
2007-2 학기 데이터베이스 (CA 24150) 059 분반, 3 학점, 담당 교수: 김 경석
기말 시험, 2007.12.21 (금), 16:00-18:00 (120 분)
점수:______/ 112 점 (fin01b)
* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름 (성적 게시용)을 적을 것
(딴 이름은 한글, 로마자, 숫자 등으로 5-8 자로 만든다.)
* 답은 요점 중심으로 짤막하게 말하라.
* 답안지는 세로로 반으로 접어서 쓸 것.
1. 신용 카드 거래 내역을 보관하는 상황을 생각해 보자. 거래 승인 번호는 하루 안에서는 유일하지만, 다른 날짜에서는 꼭 같은 거래 승인 번호가 있을 수 있으며, 신용_카드 번호 하나에 소유자는 한 사람뿐이라고 가정하자. 다음과 같이 표가 세 개 있을 때, 아래 물음에 답하라.
거래_내역 표: 거래_날짜, 거래_승인_번호, (구매자의) 신용_카드_번호,
(판매자의) 사업자_등록_번호, 거래_금액
신용_카드 표: 신용_카드_번호, (신용 카드 소유자의) 주민_등록_번호
사업자 표 : 사업자_등록_번호, 업체_이름
* 아래 1) ~ 4) 각각에서 필요하다면 "현실적이고 합리적인" 가정을 하고, 그 가정을 답지에 적은 뒤 답하라.
1) [2 점] 거래_내역 표에서 일차 키는 무엇인지 보이고, 이유를 말하라.
2) [2 점] 신용_카드 표에서 일차 키는 무엇인지 보이고, 이유를 말하라.
3) [4 점] 사업자 표에서 일차 키는 무엇인지 보이고, 이유를 말하라.
4) [4 점] 위에서 외래 키가 될 수 있는 것을 모두 보이고, 이유를 말하라.
5) [8 점] 위의 1) ~ 4) 조건을 모두 포함하는 표를 만드는 SQL 명령을 보여라 (속성의 형은 나타내지 않아도 됨).
6) [6 점] 거래_내역 표와 신용_카드 표를 자연 조인할 때 생길 수 있는 6-1) 외톨이 투플 (dangling tuple)의 종류 각각에 대해, 어떤 상황인지, 각각의 경우 일어날 수 있는지 아니면 심각하게 잘못되었는지 말하라. 6-2) 정상적인 경우라면 자연 조인 결과의 투플 수는 몇 개가 되는지 말하라.
7) [4 점] 거래_내역 표, 신용_카드 표, 그리고 사업자 표를 자연 조인할 때에, 정상적인 경우라면 자연 조인 결과의 투플 수는 몇 개가 되는지 말하라.
8) [4 점] 주민 등록 번호가 '123456-7890123' 인 사람의 거래 내역을 모두 보이는 SQL 명령을 보여라.
9) [4 점] 각 거래마다 거래_승인_번호, 신용_카드_번호, 주민_등록_번호, 사업자_등록_번호, 업체_이름, 거래_날짜, 거래_금액을 보이는 SQL 명령을 보여라 (속성 차례는 중요하지 않음).
10) [4 점] 만일 신용 카드 소유자의 주민 등록 번호뿐만 아니라 소유자의 이름까지도 넣고자 하면 어떻게 바꾸어야 할지 (표를 고칠 수도 있고, 표를 새로 만들 수도 있고, 표를 고치고 또한 표를 새로 만들 수도 있을 것임) 보이되, 표는 BCNF 에 있게 하라.
다음 각 경우에 "참조 무결성"을 유지하려면 어떻게 해야 하는지 말하라.
11) ~ 15) 까지의 모든 문제에 대해 [10 점]
11) 거래_내역 표에 투플을 하나 넣을 때
12) 거래_내역 표에서 투플을 하나 지울 때
13) 신용_카드 표에 투플을 하나 넣을 때
14) 신용_카드 표에서 투플을 하나 지울 때
15) 사업자 표에서 투플을 하나 고칠 (수정할) 때
16) [6 점] 함수적 종속은 수퍼키 개념을 일반화한 것이라고 하는데, 아래의 상황에서 구체적인 보기를 들면서 풀이하라.
상세_거래_내역 표: 거래_날짜, 거래_승인_번호, 신용_카드_번호, 주민_등록_번호,
사업자_등록_번호, 거래_금액
17) [2 점] 수퍼키의 개념을 함수적 종속으로 정의하라.
18) [2 점] 뜻이 없는 함수적 종속이란 무엇인지, 특히 LHS 와 RHS 의 관계를 중심으로 풀이하라.
2. 인터넷에서 물건을 주문하는 상황에서 아래와 같은 정보가 필요하다고 가정하자.
주문_날짜, 주문_번호, 물품_번호, 물품_이름, 주문_수량, 회원_번호, 회원_주민_등록_번호, 회원_이름, 회원_전화_번호
- 주민 등록 번호는 겹치지 않는다고 가정
- 주문 번호는 하루 안에서는 유일하지만, 다른 날짜에서는 꼭 같은 주문 번호가 있을 수 있다고 가정하자.
1) [4 점] 이 모든 정보를 하나의 표에 넣었을 때 만일 문제점이 있다면 두 가지 문제점만 풀이하라. 필요한 경우, 합리적인 가정을 하고 그 가정을 적은 뒤에 풀이를 적어라.
(만일 이무런 문제가 생기지 않는다면 아래 2) ~ 4) 문항에 답하지 말 것)
2) [8 점] 현실적인 상황에서 있을 듯한 중요한 함수적 종속을 보여라 (필요하면 가정도 보여라).
3) [8 점] 모든 표가 BCNF 에 있도록 1) 의 표를 나누라 (decompose).
4) [10 점] 3)에서 나눈 뒤, 새로 만든 각 스키마마다
일차 키와 함수적 종속을 보이고, 또한 그 스키마가 BCNF 에 있는지 확인하라.
3. [20 점] 출판사에서 책을 관리하는 상황에서 데이터베이스를 설계하라 (되도록 BCNF).
. 필요한 정보와 가정은 아래와 같으며, 만일 가정이 더 필요하면 합리적으로 가정을 하되, 그 가정을 모두 보여라.
. 정규화 과정을 풀이할 필요는 없으면 BCNF 로 정규화한 최종 설계만 보이면 됨.
. 최종 설계에는 표 이름, 각 표에 있는 속성 목록, 일차 키, 외래 키, 함수적 종속 등을 포함한다 (속성의 형은 나타내지 않아도 됨).
- 제목, ISBN, 판_번호 (1, 2, ... ), 책의 분야 (컴퓨터, 전자, ...)
- 지은이 정보 (공저가 가능함): 이름, 주민 등록 번호, 전화 번호
- 공저의 경우, 판에 따라 지은이 목록이 다를 수 있음.
- 주민 등록 번호는 겹치지 않는다고 가정.
- 판 번호가 바뀌어도 ISBN, 책 제목, 책의 분야는 바뀌지 않는다고 가정.
* * *
'Programming > Database' 카테고리의 다른 글
DB 2008 (0) | 2012.11.04 |
---|---|
DB 2009 (0) | 2012.11.04 |
DB 2010 (0) | 2012.11.04 |
DB 2011 기출 (0) | 2012.11.04 |
Must have Problem Solution!! (0) | 2012.10.31 |