데이터베이스(컴퓨터 3) 2006년도 기말시험 해설 교수 : 이 언 배 1. 데이터베이스의 독립성을 가장 바르게 설명한 항은?
① 자료구조가 바뀌면 모든 프로그램을 바꾸어야한다.
② 저장매체가 바뀌어도 프로그램을 바꿀 필요가 없다.
③ 단위 업무마다 프로그램이 독립적으로 작성된다.
④ 데이터베이스는 논리적 독립성은 유지되나 물리적 독립성은 유지되지 않는다.
<정답> ②
<해설>
데이터의 독립성은 논리적 데이터 독립성과 물리적 데이터 독립성의 두 가지 측면으로 구분된 다. 논리적 데이터 독립성이란 데이터의 논리적 구조가 변한다고 하더라도, 그에 따른 프로그램 의 구조가 변경되지 않는 것을 의미한다. 물리적 데이터 독립성이란, 데이터의 저장장치가 바뀐 다 하드라도 프로그램의 수정이 필요치 않은 경우를 의미한다.
2. 데이터베이스에서 하나의 사실을 나타내는 여러 개의 데이터가 존재할 때, 이 데이터의 내용 이 모두 같아야하는 특성을 무엇이라 하는가?
① 보안성 ② 경제성 ③ 독립성 ④ 일관성
<정답> ④
<해설>
일관성은 하나의 사실을 나타내는 여러 개의 데이터가 존재할 때, 이 데이터의 내용이 논리적으 로 모두 같아야 하는데, 실제 물리적으로 서로 다른 장소에 존재하므로 이러한 일관성을 유지하 기가 어렵다. 그러므로, 데이터 내용간의 불일치가 발생하게 되는데 이것을 모순성 이라고 한다.
보안성은 논리적으로 같은 내용을 갖는 데이터에 대해서는 똑같은 수준의 보안이 유지되어야 한 다는 것이며, 경제성은 데이터를 중복해서 저장하기 위해서는 추가적인 저장 공간을 위한 비용이 요구되는 경우로서, 데이터가 중복되어 있을 때, 데이터에 대한 갱신 작업은 일관성유지를 위해 중복된 모든 데이터에 대해 수행되어야만 하므로 시스템의 갱신비용이 높아지게 된다.
3. 데이터베이스 관리시스템에 동시성제어 기능이 내장되어 제공될 수 있는 데이터베이스의 특징 은?
① 데이터베이스 시스템의 자기 기술성 ② 데이터의 추상화
③ 다수 사용자의 트랜잭션 처리 ④ 다중 뷰
<정답> ③
<해설>
데이터베이스 관리시스템은 여러 사용자가 동시에 데이터베이스를 접근할 수 있는 기능을 제 공한다. 다수 사용자용 데이터베이스 관리시스템은 동시성 제어(concurrency control)이라는 기 능이 내장되어 다수 사용자가 동일한 데이터를 동시에 변경하는 경우에도 데이터의 일관성을 보 장하게 되어 동시 액세스 문제를 해결하고 있다. 이러한 기능을 다수 사용자의 트랜잭션처리라 한다.
4. 데이터 간의 관계가 오너(owner)와 멤버(member)의 관계를 갖는 링크(link)로서 표현되는 데
이터모델은?
① 계층형 모델 ② 망형 모델 ③ 객체지향 모델 ④ 객체관계형 모델
<정답> ②
<해설>
망형 모델(network model)에서 데이터는 관계 모델과 같이 레코드들의 모임으로 표현이 되고, 데 이터간의 관계는 오너(owner)와 멤버(member)의 관계를 갖는 링크(link)로서 표현된다. 일반적으 로 링크는 다른 레코드에 대한 포인터(pointer)로 생각될 수도 있다.
5. 데이터베이스의 물리적 저장구조를 기술하는 것은?
① 내부 스키마 ② 외부 스키마 ③ 개념 스키마 ④ 논리 스키마
<정답> ①
<해설>
내부 단계는 물리적 단계(physical level)라고 하며 이 단계는 추상화의 최하위 단계로서 데이터 가 실제로 어떻게 저장되었는가를 기술하는 내부 스키마(internal schema)를 가지며, 이는 데이 터베이스의 물리적 저장구조를 기술한다.
6. 데이터베이스 시스템 고장에 관계없이 데이터베이스가 일관된 상태가 되도록 보장하는 프로세 서는?
① 사전 관리기 ② 데이터 관리기 ③ 회복 관리기 ④ 트랜잭션 관리기
<정답> ③
<해설>
회복 관리기(recovery manager)는 시스템 고장에 관계없이 데이터베이스가 일관된(올바른) 상태 가 되도록 보장한다. 특히 트랜잭션이 데이터베이스에 이미 만들었던 모든 변화를 'Undo'해야만 한다. 그렇게 하기 위해서 그런 변화가 기록되는 로그북(log book)이 사용된다.
7. 데이터베이스 관리자의 역할 중 “운용상의 임무”에 해당되지 않는 것은?
① 정보에 대한 요구 결정 ② 물리적 저장매체 선택
③ 무결성 유지를 위한 절차 마련
④ 데이터 사전의 생성 및 액세스 통제방법 결정
<정답>
<해설>
데이터베이스에 대한 최적의 물리적 저장 구조뿐만 아니라 물리적 저장매체를 선택한다. 만일 사 용자의 요구가 변하거나 데이터를 이용하는 양상이 변하면, 효율적인 액세스와 효율적인 처리를 위해 물리적 저장 구조와 물리적 저장매체를 변경시켜야 할 필요성이 생긴다. 또 데이터베이스에 대한 액세스와 이 액세스를 통제하는 방법도 정의되어야 한다.
8. 데이터베이스의 물리적 저장구조를 정의하는 언어인 것은?
① DML ② DRL
③ SDL ④ QUERY
<정답> ③
<해설>
데이터베이스 언어들 중에서 개념 스키마를 정의하기 위해 사용되는 것을 데이터 정의 언어 (Data Definition Language: DDL)라고 하고, 내부 스키마를 기술하기 위한 언어를 기억장소 정의 언어(Storage Definition Language : SDL)라고 한다. 뷰 단계의 정의를 위해 사용되는 언어는 뷰 정의어(View Definition Language : VDL)라고 한다.
9. ‘요구사항분석→데이터베이스설계→프로세스설계→구현’의 단계로 구성되는 설계는?
① 데이터 중심 설계 ② 프로세스 중심 설계 ③ 분석 중심 설계 ④ 요구 중심 설계
<정답> ①
<해설>
데이터베이스 설계는 프로세스 중심 설계(process-driven design)와 데이터 중심 설계 (data-driven design)로 구분할 수 있다. 이는 ‘요구사항분석→프로세스설계→데이터설계→구 현’의 단계로 구성되는 프로세스 중심 설계와 ‘요구사항분석→데이터베이스설계→프로세스설 계→구현’의 단계로 구성되는 데이터 중심 설계이다.
10. “같은 속성들을 가진 개체들의 집합”을 무엇이라 하는가?
① 속성타입 ② 관계타입 ③ 복합속성 ④ 개체타입
<정답> ④
<해설>
개체 타입이란 같은 속성들을 가진 개체들의 집합을 말한다. 예를 들자면 수백 명을 고용하고 있 는 회사에서 각각의 사원은 각각이 고유의 이름과 ‘나이’ ‘성별’ 등과 같은 속성 값들을 가 지지만 모든 사원 개체들은 같은 속성들을 공유하게 된다. 그러므로 같은 속성들을 공유하는 사 원 각각의 개체들은 하나의 집합 즉 사원이라는 개체 타입을 형성하게 된다.
11. E-R 도표에서 마름모 모양으로 표시되는 기호의 의미를 바르게 설명한 항은?
① 관계 타입 ② 키 속성 ③ 객체 타입 ④ 다중값 속성
<정답> ①
<해설>
사각형은 개체 집합, 타원은 속성, 마름모는 관계 타입을 나타내고, 선은 속성과 개체 집합 및 개체 집합과 관계 집합을 연결한다.
12. 릴레이션에서 각 속성이 가질 수 있는 값의 범위를 무엇이라 하는가?
① 속성 타입 ② 도메인 ③ 카디널리티 ④ 관계 타입
<정답> ②
<해설>
릴레이션에서 각 속성이 가질 수 있는 값의 범위, 즉 필드가 가질 수 있는 값들의 범위를 도메인 (domain)이라 한다.
13. 하나의 릴레이션에서 다른 튜플들과 구분할 수 있는 유일성을 만족하는 속성들의 전체적인 집합을 무엇이라 하는가?
① 슈퍼키 ② 외래키 ③ 대체키 ④ 참조키
<정답> ①
<해설>
릴레이션이 하나의 키 값으로 하나의 투플을 유일하게 식별하는 속성을 유일성 이라하며, 이러한 특성을 만족하는 키를 슈퍼키(super key)라 한다.
14. 다음 관계해석식 구문을 바르게 설명한 항은?
A ⊂ {D1, … , Dn}이면, ‧ ‧ ‧ ① A belong to {D1, … , Dn}이면 ② A member of {D1, … , Dn}이면 ③ A가 {D1, … , Dn}의 empty이면, ④ A가 {D1, … , Dn}의 subset이면,
<정답> ④
<해설>
A ⊂ {D1, … , Dn}이면, - 이 구문의 의미는 A가 {D1, … , Dn}의 subset이면, - 으로 설명된 다.
15. 두 릴레이션의 튜플간에 모든 조합을 취하는 연산은?
① 교집합 ② 조인 ③ 합집합 ④ 차집합
<정답> ②
<해설>
조인 연산은 두 릴레이션으로부터 관련된 투플들을 결합하여 하나의 투플로 만든다. 이 때 두 투 플들 간에 전체적인 조합이 이루어진다.
16. 릴레이션에서 선택조건을 만족하는 튜플들의 집합을 찾아내는데 사용되는 관계대수 연산자인 것은?
① ∨ ② ∧ ③ σ ④ ∈
<정답> ③
<해설>
관계 연산자는 관계 대수(relational algebra)나 관계 해석(relational calculus)연산자로 나뉘 며, 관계 대수연산자는 프로젝션(∏), 셀렉션(σ), 조인(⋈), 디비젼(÷), 카티션 프로덕트(×) 등 관계 해석연산자는 ∃(there exists), ∀(for all), ∧(and), ∨(or), ¬(not), ∈(belong to,
member of), ⊂(subset), ø(empty), :(such that) 등이 있다.
17. 다음 식의 의미를 바르게 설명한 항은?
결과←∏프로젝트번호,부서번호,주소(프로젝트_관리자)
① 릴레이션 프로젝트와 관리자에서 프로젝트번호, 부서번호, 주소 속성을 추출하여 새 릴레 이션 “결과”를 만든다.
② 릴레이션 프로젝트와 관리자에서 프로젝트번호, 부서번호, 주소 도메인을 추출하여 새 릴 레이션 “결과”를 만든다.
③ 릴레이션 프로젝트_관리자에서 프로젝트번호, 부서번호, 주소 도메인을 추출하여 새 릴레 이션 “결과”를 만든다.
④ 릴레이션 프로젝트_관리자에서 프로젝트번호, 부서번호, 주소 속성을 추출하여 새 릴레이 션 “결과”를 만든다.
<정답> ④
<해설>
결과←∏프로젝트번호,부서번호,주소(프로젝트_관리자)
위 식에서 괄호안의 내용이 릴레이션이며, 프로젝트번호, 부서번호, 주소 속성을 추출하여, 그 결과로서 “결과”라는 새로운 릴레이션을 만드는 것이다.
18. 조인조건이 “=”인 경우는 다음 중 어느 것이 가장 적합한가?
① 동등조인 ② 선택조인 ③ 합성조인 ④ 세타조인
<정답> ①
<해설>
조인조건은 <조건> AND <조건> AND ... AND <조건>과 같은 형태를 가지고, 각 조건은 Ai θ Bj 의 형태를 가진다. 여기서 Ai는 R의 속성이고, Bj는 S의 속성이다. 또한 Ai와 Bj는 같은 영역을 가지고, θ는 관계 연산자인 {=, <, ≤, >, ≥, ≠} 들 중에서 하나가 된다. 일반적인 조인조건 을 가진 조인 연산을 조건조인 혹은 세타(theta, θ)조인이라고 부르며, 조인조건이 ‘=’인 경 우를 Equi-join또는 동등조인이라 한다.
19. 다음 릴레이션 생성문에서 SMALLINT의 의미를 바르게 설명한 것은?
CREATE TABLE S
(S# CHAR(5) NOT NULL, SNAME CHAR(20),
STATUS SMALLINT, CITY CHAR(15));
① 속성 이름 ② 속성 값 ③ 데이터형 ④ 데이터
<정답> ③
<해설>
위의 생성문에서 S#, SNAME, STATUS 등은 속성, CHAR(5), SMALLINT 등은 데이터형, NOT NULL는 제약조건이라 한다.
20. DDL명령에서 릴레이션의 변경을 위한 명령은?
① CREATE TABLE ② ALTER TABLE ③ CREATE INDEX ④ DROP TABLE
<정답> ②
<해설>
DDL 명령의 세 종류는 CREATE, ALTER, DROP이며, 이는 생성, 변경, 삭제를 나타낸다.
※ (21~22) SELECT문의 일반 형식에 대해 다음 물음에 답하라.
SELECT [ALL | DISTINCT] 필드 FROM 테이블
[WHERE 조건]
[GROUP BY 속성 리스트 [HAVING 서술어]]
[ORDER BY 속성[ASC |DESC]];
21. DISTINCT항이 의미하는 바를 바르게 설명한 항은?
① 전체 속성을 선택 ② 선택된 속성값 중에서 NULL값 제거 ③ 선택된 속성값 중에서 중복 제거 ④ 속성 리스트의 단순 검색
<정답> ③
<해설>
릴레이션에 중복을 제거하고 싶을 때에는 select 다음에 키워드 distinct를 삽입한다.
22. ORDER BY절에서 속성은 어떤 의미인가?
① 검색 기준 값 설정 ② 검색 대상의 속성 ③ 정렬 릴레이션 설정 ④ 정렬 키 항목 설정
<정답> ④
<해설>
데이터를 순서에 따라 오름차순(ASC) 또는 내림차순(DESC)으로 정렬하기 위한 구문으로 ORDER BY절 내에서 속성을 명시한다.
23. 갱신 연산을 위한 INSERT구문에서 ( )에 적합한 내용은?
INSERT
INTO ( )[필드[,필드]..]
VALUES (상수[,상수]...);
① 속성 ② 테이블 또는 릴레이션 ③ 필드 ④ 상수
<정답> ②
<해설>
INSERT
INTO 테이블[필드[,필드]...)]
VALUES (상수[,상수]...);
INTO 다음에는 테이블 또는 릴레이션 명칭이 기술된 다음 필드 또는 속성 명칭이 기술된다.
24. 다음의 관계대수식을 SQL질의로 바르게 나타낸 항은?
σ
① select A ② select A from r1, r2 from P where P where r1, r2 ③ select P ④ select r1, r2 from r1, r2 from A
where A where P
<정답> ①
<해설>
맨 뒤에 있는 괄호의 내용 (r1⋈r2)은 from 다음의 릴레이션이며, σ다음의 P는 where 다음의 조 건이며, ∏다음의 A는 select 다음에 제시되는 속성이다.
25. 다음 질의처리과정에서 “질의 최적화” 다음 단계의 실행 내용인 것은?
① 런타임 실행기의 실행 ② 어휘/구문 분석
③ 질의코드 생성기의 실행 ④ 내부 형태로 표현
<정답> ③
<해설>
질의처리과정은 어휘/구문 분석→질의최적화→질의코드 생성기의 실행→런타임 실행기의 실행의 순서로 실행된다.
26. 릴레이션 R에 대하여 연속된 σ(selection)연산에 대하여 교환법칙이 성립한다는 것을 바르 게 기술한 항은?
① σC1=C2(R))≡σC2(σC1(R)) ② σC2(σC2(R))≡σC1(σC1(R)) ③ σC1(σC2(R))≡σC2(σC2(R)) ④ σC1(σC1(R))≡σC2=C2(R))
<정답> ①
<해설>
릴레이션 R에 대하여 σC1=C2(R))≡σC2(σC1(R))와 같은 연속된 σ(selection)연산에 대하여 교 환법칙이 성립한다.
27. 질의최적화를 위한 비용계산에서 가장 큰 비용요소인 것은?
① 주기억장치의 접근 및 저장비용 ② 보조기억장치의 접근 및 저장비용 ③ 주기억장치 버퍼관리 비용
④ 질의 수행결과 주기억장치의 임시저장비용
<정답> ②
<해설>
질의최적화 과정에서 비용이란 연산시간의 길이를 나타내며, 주기억장치에서의 연산시간과 보조 기억장치에서의 연산시간을 비교할 때, 보조기억장치에서의 시간이 많이 걸리므로 비용이 크다 할 수 있다.
28. 함수 종속에 관한 암스트롱 규칙에서 아래 규칙의 의미는?
① 재귀성 규칙 ② 의사이행성 규칙 ③ 합집합 규칙 ④ 분해 규칙
<정답> ④
<해설>
암스트롱의 추론 규칙(Armstrong's inference rule)을 (A1-A3)이라고 하는 함수적 종속관계의 몇 가지 중요한 법칙을 제시하면 다음과 같다.
A1. (재귀성 규칙) Y ⊆ X이면, X → Y이다.
A2. (부가성 규칙) X → Y이면, XZ → YZ이다. (표기: XZ는 X∪Z를 의미) A3. (이행성 규칙) X → Y이고 Y → Z이면, X → Z이다.
위의 A1, A2, A3은 완전한(complete) 추론 규칙 집합을 형성한다.
이에 부가하여 추가적인 유용한 추론 규칙들을 제시하면 다음과 같다.
(분해 규칙) X → YZ이면, X → Y이고 X → Z이다.
(합집합 규칙) X → Y이고 X → Z이면, X → YZ이다.
(의사 이행성 규칙) X → Y이고 WY → Z이면, WX → Z이다.
위의 세 가지 규칙뿐만 아니라 다른 추론 규칙들도 A1, A2, A3로부터 추론이 가능하다.
29. 어떤 릴레이션 스키마 R에서 성립하는 X→A 형태의 모든 함수적 종속에 대하여, X가 A의 슈 퍼키이면 R은 ( )에 속하게 된다. ( )에 적합한 내용은?
① 제 1 정규형 ② 제 2 정규형
③ 비정규형 ④ 보이스-코도 정규형
<정답> ④
<해설>
■ 제1정규형 : 어떤 릴레이션의 모든 속성이 단순영역에서 정의되는 경우, 즉, 모든 속성이 원자 값(atomic value)을 가지는 경우이다.
■ 제2정규형 : 어떤 릴레이션 R이 1NF이고 모든 비주속성이 모든 키에 대하여 완전 종속하는 경 우이다.
■ 제3정규형 : 어떤 릴레이션 R이 2NF이고 이 릴레이션의 모든 비주속성이 R의 어떤 키에도 이행 적으로 종속하지 않을 때, R은 3NF에 속한다.
■ BCNF : 어떤 릴레이션 스키마 R에서 성립하는 X→A형태의 모든 함수적 종속에 대하여 X가 R의 슈퍼키이면 R은 BCNF에 속하게 된다.
■ 제4정규형 : 어떤 릴레이션 R에서 R.A.→→R.B인 MVD가 존재할 경우, R의 모든 속성들이 A에 함수적으로 다중 종속이 되면 이 릴레이션 R은 4NF에 속한다.
■ 제5정규형 : 어떤 릴레이션 R에서의 모든 조인 종속성이 후보 키들의 결과로만 나타난다.
30. 정규형과 내용이 틀리게 연관된 것은?
① 제 4 정규형 - 다중치 종속성 제거
② 제 3 정규형 - 이행적 종속성 제거
③ 제 5 정규형 - 키 종속성 제거 ④ 제 2 정규형 - 부분적 종속성 제거
<정답> ③
<해설>
제5정규형 : 어떤 릴레이션 R에서의 모든 조인 종속성이 후보 키들의 결과로만 나타난다.
31. 데이터베이스 조작 명령의 집단으로 작업의 기본단위를 나타낸 것은?
① 프로그램 ② 트랜잭션 ③ 프로세스 ④ 스케줄
<정답> ②
<해설>
데이터베이스 조작 명령의 집단을 하나의 트랜잭션이라고 부른다. 트랜잭션은 데이터베이스의 상 태를 일관적 상태로 유지하기 위한 동시성 제어 및 회복의 기본 단위가 되는 것이다.
32. 동시성 제어 기법 두 단계 로킹 규약에서의 두 단계를 바르게 기술한 항은?
① 판독단계-검증단계 ② 판독단계-기록단계 ③ 요청단계-검증단계 ④ 요청단계-반납단계
<정답> ④
<해설>
직렬성을 보장하는 규약의 하나는 두 단계 로킹 규약(two-phase locking protocol)이다. 이 규약 은 각 트랜잭션이 로크 요청과 언로크 요청을 두 단계로 실시하도록 한다.
(1) 요청단계(growing phase) : 트랜잭션이 로크를 얻을 수는 있으나 어떠한 로크도 반납될 수 없다.
(2) 반납단계(shrinking phase) : 트랜잭션이 로크를 반납할 수는 있으나 새로운 로크를 얻을 수 없다.
33. 타임 스탬프 순서기법을 위해 사용되는 방법은?
① 희생자 선정 ② 논리적 계수기 ③ 대기 그래프 사용 ④ 교착방지 알고리즘
<정답> ②
<해설>
타임스탬프 순서기법을 구현하는 간단한 두 가지 방법이 있다.
1) 시스템 시계(system clock)의 값을 타임스탬프로 사용한다. 즉 트랜잭션의 타임스탬프는 그 트랜잭션이 시스템으로 들어올 때의 시스템 시계의 값과 같다.
2) 새로운 타임스탬프가 할당된 후에 증가되는 논리적 계수기를 사용한다. 즉 트랜잭션의 타임 스탬프는 그 트랜잭션이 시스템으로 들어올 때의 계수기의 값과 같다.
34. 교착상태 방지기법에서 먼저 들어온 트랜잭션에서 나중에 들어온 트랜잭션의 데이터를 요구 할 경우, 기다리고 그렇지 않으면 복귀되는 비선점(non-preemptive) 기법인 것은?
① wait-for기법 ② victim기법 ③ wait-die기법 ④ wound-wait기법
<정답> ③
<해설>
타임스탬프를 이용한 교착상태 방지기법은 다음과 같다.
(1) wait-die 기법 : 이 기법은 비선점유(nonpreemptive)기법을 기반으로 한다. 트랜잭션 Ti 가 Tj가 소유한 데이터 항목을 요청하는 경우, Ti의 타임스탬프보다 Tj의 타임스탬프가 작은 경 우에만 Ti는 기다린다(즉 Ti가 Tj보다 먼저 발생한 경우). 그렇지 않으면 Ti는 복귀된다.
(2) wound-wait 기법 : 선점유기법을 기반으로 하며 wait-die기법과 대응되는 기법이다. 트랜 잭션 Ti가 Tj가 소유한 데이터 항목을 요청한 경우 Tj의 타임스탬프보다 Ti의 타임스탬프가 큰 경우에만 Ti는 기다린다(즉 Ti가 Tj보다 나중에 발생한 경우). 그렇지 않으면 Tj는 복귀된다.
35. 같은 이름을 갖는 메소드가 클래스 내에서 주어진 파라미터에 따라 다른 연산을 하는 여러 메소드로 나타나는 것을 무엇이라 하는가?
① 다형성 ② 캡슐화 ③ 복합객체 ④ 버전
<정답> ①
<해설>
다형성의 의미는 같은 메소드가 다른 객체 클래스에서 다른 의미를 가지는 것을 말하며, 다형 성을 연산자의 오버로딩(overloading)이라 하기도 한다. 다형성의 개념은 동일한 연산자의 이름 또는 심볼이 그 연산자가 적용될 객체들의 타입에 따라서 서로 다른 연산자의 구현과 결합될 수 있다는 것이다.