본문 바로가기

Programming/Database

DB 2010

2010-2 학기 데이터베이스 (CP 24150) 060 분반, 3 학점, 담당 교수, 김 경석

중간 시험, 2010.11.10 (), 16:00-17:30 (90 )

점수:_____/136 (mid03), 맨 마지막에 ""이 나올 때까지 문제를 풀기 바랍니다.

 

* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름(성적 게시용)을 적을 것

(딴 이름은 한글, 로마자, 숫자 등으로 5-8 자로 만든다.)

* 답은 요점 중심으로 짤막하게 말하라.

* 답안지는 세로로 반으로 접어서 쓸 것.

 

[4 ] 1. 데이터베이스(DB)와 데이터베이스 관리 시스템(DBMS)의 다른 점을 말하라.

 

[4 ] 2. 데이터베이스(DB), 데이터베이스 관리 시스템(DBMS), DB 응용 프로그램(application)은 각각 C 프로그래밍 언어 환경에서는 무엇에 대응한다고 볼 수 있는가? (정확한 대응은 아닐 수 있지만, 비슷하게 대응한다고 볼 수 있음)

 

[4 ] 3. 현재 9:00에 떠나는 기차표 예약이 되어 있는데, 이를 10:00에 떠나는 기차표로 바꾸고자 하는데, 이를 atomicity (원자성) 관점에서 풀이하라.

 

[10 ] 4. 보기를 들어 학번으로 찾고자 할 때, 학번에 대한 색인이 있을 때와 없을 때, 4.1 파일 처리 접근 방식에서는 프로그램이 어떻게 다른가? 4.2 DB/DBMS를 쓸 때 DB 응용 프로그램은 어떻게 다른가? 4.3 색인이 있으면 없을 때에 견주어, 파일 처리 접근 방식과 DB/DBMS 방식 모두에서 "공통적으로" 보통 어떻게 바뀌는가 (무엇이 달라지는가)?

 

[4 ] 5. 관계형 모형 또는 객체 지향형 모형과 견주어 볼 때, E-R 모형의 다른 점(특징)을 아는 대로 풀이하라.

 

[2 ] 6.1 속성 하나만으로 이루어진 ( )key는 저절로 ( )key 이다.

[2 ] 6.2 만일 주어진 집합에 ( ) key가 하나뿐이면 그것이 저절로 ( ) key가 된다.

[2 ] 6.3 만일 주어진 집합에 ( ) key가 둘 이상이면, 하나는 ( )key가 되고, 나머지는 ( ) key 가 된다.

 

[4 ] 7. select 상품.상품_이름 from 상품 where 상품.상품_번호 = '111' 명령에서

7.1 tuple variable과 표 이름 각각 있는 대로 다 말하라.

7.2 위에서 tuple variable 'tv상품'을 정의한 뒤, 이에 맞추어 select 명령을 고쳐 써라.

 

[4 ] 8.1 '만일' SQL에서 복합 속성(composite attribute)을 지원한다면, 복합 속성이 들어가는 '가상적인' create table 문장을 보이고 그 뜻을 풀이하라.

[4 ] 8.2 '만일' SQL에서 값이 여럿인 속성(multi-valued attribute)을 지원한다면, 값이 여럿인 속성이 들어가는 '가상적인' create table 문장을 보이고 그 뜻을 풀이하라.

 

[8 ] 9. 출석부_표에서 {학번, 학과_번호, 과목_번호}가 수퍼키일 때, 이 수퍼키가 후보 키(candidate key)인지 아닌지 판별하는 구체적인 방법(절차)을 말하라.

 

[8 ] 10. select t1.A11, t2.A21 from t1, t2 where cond1 이라는 SQL 명령이 뜻하는 바를 관계 대수로 나타내어라.

 

[중요] >>>>>>>>>>>>> 이 뒤 쪽에도 문제가 있습니다. <<<<<<<<<<<<<<<<<<<<

 

[12 ] 11. 주어진 표 R1 (A, B, C, D)이 있을 때:

11.1 {A, D}superkey인 때, 이 사실을 함수적 종속으로 나타내어라.

11.2 주어진 표 R1 (A, B, C, D)FD: {A} --> {B, C}가 있는지 없는지를 확인하는 문제는, R1에서 11.2.1{__________}project 한 뒤 겹치는 투플은 하나만 남긴 표 R2에서 11.2.2{____}/superkey인지 확인하는 문제와 같게 된다.

 

[8 ] 12.1 표 두 개 t1(속성 2 : a11, a12; 투플 수 1,800 )t2 (속성 3 : a21, a22, a23; 투플 수 20,000 )cartesian product를 구하는 SQL 명령을 보여라.

12.2 12.1 결과로 나오는 표의 속성 수와 투플 수를 각각 말하되, 계산 과정을 보여라.

 

[12 ] 13. E-R 그림에서 회원 객체=(회원 번호, 이름, 주소), PK={회원 번호}; 신용 카드 객체=(신용 카드 번호, 유효 기한), PK={신용 카드 번호}; 회원과 신용 카드 사이의 관계=1:n이라고 하자.

13.1 이런 때에 아래와 같이 표(table)로 바꾸면 어떤 문제가 있는지 인스턴스를 보이면서 풀이하라? (문제점이 없으면 아래 13.2는 풀지 말 것)

카드 소유 표=(회원 번호, 이름, 주소, 신용 카드 번호), PK={회원 번호, 신용 카드 번호};

신용 카드 표=(신용 카드 번호, 유효 기한), PK={신용 카드 번호};

13.2 "만일" 위의 13.1에서 문제점이 있다면, 이 문제점을 없애기 위하여는 어떻게 표를 만들어야 하는지, 인스턴스를 보이면서 풀이하라?

 

14. 인터넷에서 상품을 주문하는 다음과 같은 상황을 가정하자.

1) 주문을 하게 되면 유일한 주문 번호가 주어지는데, 한 주문에서 상품 번호가 다른 상품을 여러 가지 주문할 수 있으며, 각 상품에 대하여 주문 수량을 지정할 수 있다.

- 다만 하나의 주문에 상품 번호가 같은 상품은 두 번 이상 나올 수 없으며, 그 대신 그 상품의 주문 수량을 조절함으로써 해결해야 한다.

2) 주문에 대하여 주문 번호, 주문자 이름, 주문 날짜가 있다.

3) 상품에 대하여 상품 번호, 상품 이름, 상품 단가가 있다 (상품 번호가 다른 상품의 상품 이름이 같을 수도 있다).

4) 그 밖의 사항은 평범한 상황을 가정하되, 만일 중요한 사항이 위에 빠져 있다고 생각하면 시험 감독관에게 묻거나, 본인이 가정한 바를 적은 뒤 풀어라.

 

[4 ] 14.1 주문(주문 번호)과 상품(상품 번호) 사이의 mapping cardinality는 무엇이며, 그에 대한 근거를 풀이하라.

 

[4 ] 14.2 위의 상황을 나타내는 E-R 그림을 보여라 (무엇을 개체로 나타내고 무엇을 관계로 나타낼지, 개체의 속성과 관계의 속성은 무엇인지 잘 생각할 것).

 

[12 ] 14.3 E-R 그림을 참조하여 위의 상황에 알맞은 스키마(표의 스키마)SQL 명령으로 보이되, PK, FK, CK 등이 있을 때에는 이를 잘 나타내어라. 주의. 불필요하게 자료가 되풀이되지 않도록 할 것.

 

[8 ] 14.4 위의 14.3의 표를 써서 주문 번호, 주문자 이름, 주문 날짜, 상품 번호, 상품 이름, 상품 단가, 주문 수량을 보여주는 SQL 명령을 보여라.

 

[8 ] 14.5 각 표에서 중요한 FD를 모두 보여라 (non-trivial FD, 군더더기(extraneous) 속성이 없을 것.)

 

[8 ] 14.6 상품 가운데 상품 번호가 '111'인 상품보다는 비싸고, 상품 번호가 '999'인 상품보다는 싼 모든 상품의 상품 번호와 상품 이름을 찍어내는 SQL 명령을 보여라.

* * * * * * <<<<<<<<< 앞 쪽에도 문제가 있습니다 !!! >>>>>>>>>>>

2010-2 학기 데이터베이스 (CP 24150) 060 분반, 3 학점, 담당 교수, 김 경석

기말 시험, 2010.12.10 (), 18:00-19:30 (90 )

점수:_____/116 (fin04)

* [중요] 답안지에 1) 학번, 2) 이름, 3) 딴 이름(성적 게시용)을 적을 것

(딴 이름은 한글, 로마자, 숫자 등으로 5-8 자로 만든다.)

* 답은 요점 중심으로 짤막하게 말하라.

* 답안지는 세로로 반으로 접어서 쓸 것.

 

 

[8 ] 1. 3NF, BCNF 다른 점 같은 점.

1.1 어떤 표에 대하여 FD가 여러 개 있을 때, FD라도 3NF/BCNF 정의를 어기면 그 표가 3NF/BCNF에 있지 않다고 결론을 낼 수 있는지, 아닌지? (이유?)

1.2 1.2 어떤 표에 대하여 FD가 여러 개 있을 때, 3NF/BCNF 정의를 어기는 FD가 하나라도 있다는 것을 알게 되면 3NF/BCNF decomp.(한 번 또는 한 번 이상)하여 새로 만들어진 작은 스키마가 모두 3NF/BCNF 에 있도록 decomp. 를 마칠 수 있는지, 아니면 3NF/BCNF 정의를 어기는 FD를 모두 찾아내어야 3NF/BCNF decomp. 결과로 새로 만들어진 작은 스키마가 모두 3NF/BCNF 에 있도록 decomp. 를 마칠 수 있는지? (이유?)

 

[8 ] 2. transaction의 특성으로 ACID가 있다고 하는데,

2.1 A, C, I, D 각각에 대하여 두세 줄 안으로 짤막하게 풀이하라

2.2 이 네 가지 가운데 프로그래머가 책임져야 할 부분은 무엇인가?

2.3 이 네 가지 가운데 DBMS가 지원해 주는 부분이 무엇이며, 구체적으로 DBMS의 어떤 부분(기능)이 이를 각각 지원하는가?

 

[25 ] 3. E-R 그림에서 회원 객체=(회원 번호, 이름, 주소), PK={회원 번호}; 신용 카드 객체=(신용 카드 번호, 유효 기한), PK={신용 카드 번호}; 회원과 신용 카드 사이의 관계=1:n이라고 하자. (회번=회원 번호, 신카번=신용 카드 번호)

3.1 이 경우 1:n의 뜻을 말로 풀이하라 (보기: 한 사람이 여러 장을 가질 수 있다/없다 또는, 한 장을 두 사람 이상 공동 소유할 수 있다/없다, ...).

3.2 mapping cardinality에 따라서 ER 그림을 관계형 표로 바꾸는 절차(2 장에서 배운)에 따라 회원 객체, 신용 카드 객체, 회원과 신용 카드 사이의 관계를 관계형 표로 바꾸어라.

3.3 카드 소유 정보 = {회번, 이름, 주소, 신카번, 유효 기한}, PK = {신카번}, FD1: {회번} --> {주소, 이름}, FD2: {신카번} --> {회번, 유효 기한} 라고 할 때, 카드 소유 정보 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라

3.4 만일 카드 소유 정보가 BCNF에 있지 않으면 BCNF decomp. algo.에 따라서 decomp하라. [만일 BCNF에 있다면 문제 3의 나머지 부분은 모두 건너 뛰어라]

3.5 3.4decomp 결과로 나온 각각의 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라. [만일 BCNF에 있지 않는 표가 생겼다면 3.43.5를 되풀이하여 모든 표가 BCNF에 있을 때까지 BCNF decomp 하라]

3.6 BCNF decomp.을 다 마쳤을 때 그 decomp.dependency-preserving decomp. 인지 아닌지 정의에 따라 풀이하라.

3.7 원래의 표에서는 어떤 속성이 되풀이되었지만, decomp. 결과로 나온 표에서는 그 속성이 되풀이되지 않는다는 점을 구체적인 인스턴스를 보이면서 풀이하라.

 

[25 ] 4. 계좌1={주번, 주소, 전화, 계좌번호, 잔액}, PK={주번, 계좌번호}, FD11: {주번} --> {주소, 전화}, FD12: {계좌번호} --> {잔액}이 있을 때

4.1 계좌1 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라.

4.2 만일 계좌1 표가 BCNF에 있지 않으면 BCNF decomp. algo.에 따라서 decomp하라. [만일 BCNF에 있다면 문제 4의 나머지 부분은 모두 건너 뛰어라]

4.3 4.2decomp 결과로 나온 각각의 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라. [만일 BCNF에 있지 않는 표가 생겼다면 4.24.3을 되풀이하여 모든 표가 BCNF에 있을 때까지 BCNF decomp 하라]

4.4 BCNF decomp.을 다 마쳤을 때 그 decomp.dependency-preserving decomp. 인지 아닌지 정의에 따라 풀이하라.

4.5 원래의 표에서는 어떤 속성이 되풀이되었지만, decomp. 결과로 나온 표에서는 그 속성이 되풀이되지 않는다는 점을 구체적인 인스턴스를 보이면서 풀이하라.

 

[25 ] 5. 계좌2={주번, 주소, 전화, 계좌번호, 잔액, 마지막 거래 날짜}, PK={주번, 계좌번호}, FD21: {주번} --> {주소, 전화}, FD22: {계좌번호} --> {잔액}, FD23: {주번, 계좌 번호} --> {마지막 거래 날짜} 이 있을 때

 

5.1 계좌2 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라

5.2 만일 계좌2 표가 BCNF에 있지 않으면 BCNF decomp. algo.에 따라서 decomp하라. [만일 BCNF에 있다면 문제 5의 나머지 부분은 모두 건너 뛰어라]

5.3 5.2decomp 결과로 나온 각각의 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라. [만일 BCNF에 있지 않는 표가 생겼다면 5.25.3을 되풀이하여 모든 표가 BCNF에 있을 때까지 BCNF decomp 하라]

5.4 BCNF decomp.을 다 마쳤을 때 그 decomp.dependency-preserving decomp. 인지 아닌지 정의에 따라 풀이하라.

5.5 원래의 표에서는 어떤 속성이 되풀이되었지만, decomp. 결과로 나온 표에서는 그 속성이 되풀이되지 않는다는 점을 구체적인 인스턴스를 보이면서 풀이하라.

 

[25 ] 6. 인터넷에서 상품을 주문하는 다음과 같은 상황을 가정하자.

1) 주문을 하게 되면 유일한 주문 번호가 주어지는데, 한 주문에서 상품 번호가 다른 상품을 여러 가지 주문할 수 있으며, 각 상품에 대하여 주문 수량을 지정할 수 있다.

- 다만 하나의 주문에 상품 번호가 같은 상품은 두 번 이상 나올 수 없으며, 그 대신 그 상품의 주문 수량을 조절함으로써 해결해야 한다.

2) 주문에 대하여 주문 번호, 주문자 이름, 주문 날짜가 있다.

3) 상품에 대하여 상품 번호, 상품 이름, 상품 단가가 있다 (각 상품에는 유일한 상품 번호가 있으며, 상품 번호가 다른 상품의 상품 이름이 같을 수도 있다).

4) 그 밖의 사항은 평범한 상황을 가정하되, 만일 중요한 사항이 위에 빠져 있다고 생각하면 시험 감독관에게 묻거나, 본인이 가정한 바를 적은 뒤 풀어라.

 

6.1 주문과 상품 사이의 mapping cardinality는 무엇인지 이유를 들어서 풀이하라.

6.2 mapping cardinality에 따라서 ER 그림을 관계형 표로 바꾸는 절차(2 장에서 배운)에 따라 주문 객체, 상품 객체, 주문과 상품 사이의 관계를 관계형 표로 바꾸어라.

6.3 6.2에서 만들어진 각각의 표가 BCNF에 있는지 풀이하면서 확인하라.

6.4 만일 6.2에서 만들어진 표 가운데 하나라도 BCNF에 있지 않으면 BCNF decomp. algo.에 따라서 decomp하라. [만일 BCNF에 있다면 문제 6의 나머지 부분은 모두 건너 뛰어라]

6.5 6.4decomp 결과로 나온 각각의 표가 BCNF에 있는지 BCNF 정의에 따라 풀이하라. [만일 BCNF에 있지 않는 표가 생겼다면 6.46.5를 되풀이하여 모든 표가 BCNF에 있을 때까지 BCNF decomp 하라]


'Programming > Database' 카테고리의 다른 글

DB 2007  (0) 2012.11.04
DB 2008  (0) 2012.11.04
DB 2009  (0) 2012.11.04
DB 2011 기출  (0) 2012.11.04
Must have Problem Solution!!  (0) 2012.10.31