2009-2 학기 데이터베이스 (CP 24150) 060 분반, 3 학점, 담당 교수, 김 경석
중간 시험, 2009.10.26 (월), 16:00-17:30 (90 분)
점수:_____/128 점 (mid01b), 맨 마지막에 "끝"이 나올 때까지 문제를 풀기 바랍니다.
* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름 (성적 게시용)을 적을 것
(딴 이름은 한글, 로마자, 숫자 등으로 5-8 자로 만든다.)
* 답은 요점 중심으로 짤막하게 말하라.
* 답안지는 세로로 반으로 접어서 쓸 것.
[2 점] 1. DB와 DBMS는 어떻게 다른가?
[2 점] 2. 일반적으로 어떤 기관에 DBMS가 있다고 그 기관에 필요한 DB가 저절로 만들어지는 것은 아니다. DB를 만들기 위하여는 무엇이 더 있어야 하나? (다시 말하여, 무엇으로 DB를 만들게 되나?)
[2 점] 3. E-R 모형에서 E와 R은 각각 무엇을 나타내는지 짤막하게 풀이하라.
[4 점] 4. OO 모형이나 관계형 모형과 견주어 볼 때, E-R 모형의 특징 두 가지를 풀이하라.
[4 점] 5. 관계 대수와 SQL 각각에 대하여, 절차적인지 비절차적인지, 그리고 결과가 집합인지 레코드 한 개인지 풀이하라.
[2 점] 6. 운영 체제와 DBMS와의 관계에 대하여 풀이하라.
[4 점] 7. 어떤 개체 집합에서든 superkey 가 적어도 한 개는 있다. 그 superkey를 말하고, 왜 superkey가 될 수 있는지 풀이하라.
[2 점] 8. candidate key 는 minimal ( ) 이다.
[4 점] 9. 속성이 하나뿐인 ( )key는 저절로 ( )key 이다.
[4 점] 10. 만일 주어진 집합에 ( )key 가 하나뿐이면 그것이 저절로 ( ) key 가 된다.
[4 점] 11. 만일 주어진 집합에 ( )key 가 둘 이상이면, 하나는 ( )key가 되고, 나머지는 ( ) key 가 된다.
[12 점] 12. index를 보기로 들어서 1) DBMS 환경에서는 자료 독립성 (data independence)이 있음을 풀이하고 (구체적인 SQL 명령등을 보여라), 2) 파일 처리 방식에서도 그러한지, 아니면 그렇지 않은지 풀이하라 (구체적인 프로그램/pseudo code를 보여라). 3) DBMS 환경에서는 index가 있을 때와 없을 때 사용자 관점에서 어떤 점은 같고, 어떤 점은 다른지 풀이하라.
[10 점] 13. 속성 세 개로 된 {P, Q, R} 이 superkey 인 때, 이 superkey 가 candidate key인지 아닌지 판정하는 방법(절차)을 구체적으로 자세하게 풀이하라.
[8 점] 14. 구체적인 표와 SQL 명령 보기를 들면서 외래 키 (foreign key)를 "정확하게"풀이하라.
// 이 뒤에도 문제가 있습니다. //
[12 점] 15. primary key, primary key 가 되지 못 한 candidate key, foreign key 를 모두 포함하는 table schema를 정의하는 SQL 명령 보기를 보여라 (foreign key 보기가 완전하도록 표를 두 개 정의하라)
[16 점] 16. 직원 객체 (직원 번호, 이름)와 과제 (과제 번호, 과제 이름) 객체가 있고, 이 두 객체 사이의 관계 "과제 책임자" (속성으로는 이 직원이 이 과제에 대한 참여율이 있음)가 있으며, 그 mapping cardinality 는 직원:과제 = 1:n 이다. 1) 이 상황을 E-R 그림으로 나타내고, 2) 그 E-R 그림을 create table 명령을 써서 관계형 표로 바꾸되, PK, FK, CK 등이 있으면 알맞게 나타내어라.
[16 점] 17. 직원 객체 (직원 번호, 이름)와 과제 (과제 번호, 과제 이름) 객체가 있고, 이 두 객체 사이의 관계 "과제 참여" (속성으로는 이 직원이 이 과제에 대한 참여율이 있음)가 있으며 그 mapping cardinality 는 직원:과제 = m:n 이다. 1) 이 상황을 E-R 그림으로 나타내고, 2) 그 E-R 그림을 create table 명령을 써서 관계형 표로 바꾸되, PK, FK, CK 등이 있으면 알맞게 나타내어라.
[20 점] 18. 학생=(학번, 평점)이라는 표가 있고, 여기에 다음과 같이 투플이 5 개 있다고 하자 (111, 3.4), (222, 4.0), (333, 2.1). (444, 3.8), (555, 4.3)
1) select 학생.*, 학생_444.* from 학생, 학생 학생_444 -- 이 경우 투플이 모두 몇 개 나오는지 풀이하라.
2) select 학생.*, 학생_444.*, 학생_555.* from 학생, 학생 학생_444, 학생 학생_555 -- 이 경우 투플이 모두 몇 개 나오는지 풀이하라.
3) select 학생.*, 학생_555.* from 학생, 학생 학생_555 where 학생_555.학번 = '555' -- 이 경우 투플이 모두 몇 개 나오는지 풀이하라.
4) select 학생.*, 학생_444.*, 학생_555.* from 학생, 학생 학생_444, 학생 학생_555 where 학생_444.학번 = '444' and 학생_555.학번 = '555' -- 이 경우 투플이 모두 몇 개 나오는지 풀이하라.
5) 학번이 222 인 학생의 평점보다는 낮고, 학번이 111인 학생보다는 평점이 높은 모든 학생의 학번을 보이는 SQL 문장을 만들고, 그 문장을 풀이하라. (단, nested subquery를 쓰지 말고, select 문장 하나와 tuple var. 여러 개를 써서 풀어라)
* * * 끝 * * *
2009-2 학기 데이터베이스 (CP 24150) 060 분반, 3 학점, 담당 교수: 김 경석
기말 시험, 2008.12.11 (금), 19:00-20:40 (100 분), 점수:______/100 점 (fin01_b)
* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름 (성적 게시용)을 적을 것.
* 답은 요점 중심으로 짤막하게 적을 것.
* 답안지는 세로로 반으로 접어서 쓸 것.
1 [10 점, 각 2 점씩]
1) transaction에서 원자성이 뜻하는 바를 구체적인 보기를 들어서 풀이하라.
2) transaction의 특성 네 개를 ACID로 보통 나타내는데, 이 가운데 일반 프로그래머가 책임져야 할 부분은 것인지, 그리고 그 내용은 무엇인지 풀이하라.
3) transaction의 특성 네 개 ACID 가운데 DBMS가 지원하는 기능은 어느 것인지 말하라.
4) SQL에서 transaction의 시작이 될 수 있는 곳을 아는 대로 풀이하라.
5) SQL에서 transaction의 끝이 될 수 있는 곳을 아는 대로 풀이하라.
2 [8 점, 2 점 * 2, 3)은 4 점]
1) BCNF의 정의를 말하라.
2) trivial FD란 무엇인지 말하고, 보기를 세 개 들어라.
3) 스키마 R이 있고, FD: α --> β가 있다고 하자. 그런데 만일 FD: α --> β가 BCNF 정의를 어긴다면, 이 때의 BCNF decomposition 과정을 풀이하라.
3 [8 점, 하나 틀릴 때마다 4 점 뺌. 최소 0 점]
1) 어떤 스키마가 BCNF에 있지 않을 때, 이 스키마를 함수적 종속을 유지하면서 BCNF에 있는 작은 스키마로 나누는 것이 늘 가능하다 (예, 아니오). 아니오에 답하면 그 이유를 짤막하게 풀이하라.
2) 어떤 스키마가 3NF에 있지 않을 때, 이 스키마를 함수적 종속을 유지하면서 3NF에 있는 작은 스키마로 나누는 것이 늘 가능하다 (예, 아니오). 아니오에 답하면 그 이유를 짤막하게 풀이하라.
3) 주어진 스키마 R은 3NF/BCNF에 있지 않아서 decompose를 하여 R3와 RBC가 나왔다고 하자. 스키마 R3는 3NF에는 있지만 BCNF에 있지는 않고, 스키마 RBC는 BCNF에 있다고 할 때 스키마 RBC가 R3보다 나은 점은 무엇인지 풀이하라.
4 [8 점, 하나 틀릴 때마다 2 점 뺌. 최소 0 점]
1) BCNF decomp.를 하기 위하여는 먼저 BCNF 정의를 어기는 모든 함수적 종속을 찾아내야 한다 (예, 아니오), 2) 3NF의 경우 (예, 아니오)
3) BCNF 정의를 어기는 함수적 종속이 하나만 있어도, 주어진 스키마는 BCNF에 있지 않다고 결론 내릴 수 있다 (예, 아니오), 4) 3NF의 경우 (예, 아니오)
5) 모든 함수적 종속이 BCNF 정의를 어기지 않는다는 것을 확인해야 비로소 주어진 스키마가 BCNF에 있다고 결론내릴 수 있다 (예, 아니오), 6) 3NF의 경우 (예, 아니오)
5 [6 점, 각 2 점씩]
1) 무엇을 가짜 투플(spurious tuple)이라고 하는지 풀이하라.
2) 구체적인 보기를 들어서 가짜 투플이 나오는 과정을 풀이하라.
3) lossless-join decomposition 또는 lossy decomposition이라고 할 때, loss가 뜻하는 바는 무엇인지 구체적으로 말하라?
<<<<<<<<<<<<<< 뒷 쪽에도 문제가 있습니다 !!! >>>>>>>>>>>>>>>>>>>>
6 [10 점, 각 2 점씩]
1) 무엇을 외톨이 투플 (dangling tuple)이라고 하는지 풀이하라.
2) 구체적인 보기를 들어서 외톨이 투플을 풀이하라.
3) 표1과 표2가 있고, 표1의 FK가 표2의 PK를 참조할 때, 표1의 FK와 표2의 PK를 공통 속성으로 하여 표1과 표2를 자연 조인을 한다고 하자.
3-1) 이 때 생길 수 있는 외톨이 투플의 두 가지 종류를 말하고,
3-2) 두 가지 종류 각각에서 심각한 잘못이 있는지 아니면 있을 수 있는지를 풀이하라.
3-3) 이 자연 조인 결과로 나오는 투플 수는 보통 대략 몇 개가 되는가?
7 [25 점]. 직원 (직원_번호, 직원_이름) 객체와 과제 (과제_번호, 과제_이름) 객체가 있고, 이 두 객체 사이의 관계 "과제_책임자"가 있으며, 그 mapping cardinality 는 직원:과제 = 1:n 이다.
이런 상황에서 직원_과제_1 표가 있고, 그 표의 속성으로는 (직원_번호, 직원_이름, 과제_번호, 과제_이름)가 있다.
1) 중요한 FD를 모두 보여라.
2) 이 표의 PK를 보여라.
3) 이 스키마가 BCNF 에 있는지 확인하되, 그 이유를 뚜렷하게 말하라.
4) 만일 직원_과제_1 표가 BCNF 에 있지 않으면 /*BCNF에 있으면 4)는 모두 건너뜀 */
4-1) BCNF decomp. algo. 에 따라 decomp 하고 (중간 과정과 결과를 모두 보임),
4-2) 새로 만들어진 각 스키마에 대하여, 중요한 FD 및 PK, CK, FK 를 보이고,
또한 그 스키마가 BCNF 에 있는지 확인하라 (이유도 적어야 함).
4-3) 이 decomp.은 종속을 유지하는 (dependency preserving) decomp 인지 아닌지 자세히 풀이하라.
4-4) 직원_과제_1 표에서는 정보를 잘 나타낼 수 없는 경우가 있는데, 어떤 경우이며 왜 그런지 풀이하라 (실마리: 과제가 없는 직원은??)
4-5) 새로 만들어진 스키마에서는 원래 스키마보다 어떤 점이 좋은지, decomp. 하기 전과 뒤의 구체적인 인스턴스를 보이면서 풀이하라.
8 [25 점]. 직원 (직원_번호, 직원_이름) 객체와 과제 (과제 번호, 과제_이름) 객체가 있고, 이 두 객체 사이의 관계 "과제_참여" (속성으로는 이 직원이 이 과제에 대한 참여율이 있음)가 있으며 그 mapping cardinality 는 직원:과제 = m:n 이다.
이런 상황에서 직원_과제_2 표가 있고, 그 표의 속성으로는 (직원_번호, 직원_이름, 과제_번호, 과제_이름, 참여율)이 있다.
1) 중요한 FD를 모두 보여라.
2) 이 표의 PK를 보여라.
3) 이 스키마가 BCNF 에 있는지 확인하되, 그 이유를 뚜렷하게 말하라.
4) 만일 직원_과제_2 표가 BCNF 에 있지 않으면 /*BCNF에 있으면 4)는 모두 건너뜀 */
4-1) BCNF decomp. algo. 에 따라 decomp 한 마지막 결과를 보이고 (중간 과정은 보이지 않아도 됨),
4-2) 새로 만들어진 각 스키마에 대하여, 중요한 FD 및 PK, CK, FK 를 보이고,
또한 그 스키마가 BCNF 에 있는지 확인하라 (이유도 적어야 함).
4-3) 이 decomp.은 종속을 유지하는 (dependency preserving) decomp 인지 아닌지 자세히 풀이하라.
4-4) 새로 만들어진 스키마에서는 원래 스키마보다 어떤 점이 좋은지, decomp. 하기 전과 뒤의 구체적인 인스턴스를 보이면서 풀이하라. ([중요] 다만, 문제 7의 4-4), 4-5)와 꼭 같은 내용을 적지는 말 것.)
<<<<<<<<<<<<<< 앞 쪽에도 문제가 있습니다 !!! >>>>>>>>>>>>>>>>>>>>
'Programming > Database' 카테고리의 다른 글
DB 2007 (0) | 2012.11.04 |
---|---|
DB 2008 (0) | 2012.11.04 |
DB 2010 (0) | 2012.11.04 |
DB 2011 기출 (0) | 2012.11.04 |
Must have Problem Solution!! (0) | 2012.10.31 |