1. 데이터 모델의 구성요소 중 데이터베이스에 표현될 대상으로서의 개체 타입과 개체 타입들 간의 관계를 기술한 것은?
가. Structure
나. Operations
다. Constraints
라. Mapping
풀이
데이터 모델의 구성요소 3가지
Structure : 논리적으로 표현된 개체 타입들 간의 관계로서 데티어 구조 및 정적 성질을 표현함
Operations : DB에 저장된 실제 데이터를 처리하는 방법을 표시하는 것으로서 DB를 조작하는 기본 도구
Constraints : DB에 저장될 수 있는 실제 데이터의 논리적인 제약조건을 표시함
2. 3단계 스키마 중 다음 설명에 해당하는 것은?
물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
가. Internal Schema
나. Conceptual Schema
다. External Schema
라. Tree Schema
풀이
스키마의 3계층
External Schema(외부 스키마)
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 DB의 논리적 구조를 정의
- 전체 DB의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마라고도 한다.
- 하나의 DB시스템에는 여러 개의 외부 스키마가 존재 할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다.
- 같은 DB에 대해서도 서로 다른 관점을 정의 할 수 있도록 허용한다.
- 일반 사용자는 SQL을 사용하여 DB를 이용한다.
Conceptual Schema(개념 스키마)
- DB의 전체적인 논리적 구조로서 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB로 하나만 존재한다.
- 개체 간의 관계와 제약조건을 나타내고 DB의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- 단순히 스키마라고 하면 개념 스키마를 의미한다.
- 기관이나 조직체의 관점에서 DB를 정의한 것이다.
- DB 관리자에 의해서 구성된다.
Internal Schema(내부 스키마)
- 물리적 저장장치의 입장에서 본 DB 구조로 물리적인 저장장치와 밀접한 계층이다.
- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
- DB의 물리적 구조를 정의한다.
- 데이터의 실제 저장 방법을 기술한다.
- 물리적인 저장장치와 밀접한 계층이다.
3. 릴레이션의 특성에 대한 설명으로 옳지 않은 것은?
가. 한 릴레이션에 포함된 튜플들은 모두 상이하다.
나. 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
다. 한 릴레이션을 구성하는 애트리뷰트 사이에는 일정한 순서가 있다.
라. 모든 애트리뷰트 값은 원자값이다.
풀이
릴레이션을 구성하는 속성들 간의 순서는 중요하지 않다.
4. 후보키에 대한 설명으로 옳지 않은 것은?
가. 릴레이션의 기본키와 대응되어 릴레이션 간의 참조 무결성 제약 조건을 표현하는데 사용되는 중요한 도구이다.
나. 릴레이션의 후보키는 유일성과 최소성을 모두 만족해야 한다.
다. 하나의 릴레이션에 속하는 모든 튜플들은 중복된 값을 가질 수 없으므로 모든 릴레이션은 반드시 하나 이상의 후보키를 갖는다.
라. 릴레이션에서 튜플을 유일하게 구별해 주는 속성 또는 속성들의 조합을 의미한다.
풀이
가의 경우는 외래키에 관련된 설명
5. 정규화 과정에서 A → B 이고 B → C 일 때 A → C인 관계를 제거하는 단계는?
가. 1NF → 2NF
나. 2NF → 3NF
다. 3NF → BCNF
라. BCNF → 4NF
풀이
이행적 종속 관계 : A → B이고 B → C일 때 A → C를 만족하는 관계
이행적 종속 관계를 제거하는 단계는 2NF → 3NF
정규화단계
비정규 릴레이션 → 1NF → 2NF → 3NF → BCNF → 4NF → 5NF /
도메인 원자값 → 부분적 함수 종속 제거 → 이행적 함수 종속 제거
→ 결정자이면서 후보키가 아닌 것 제거 → 다치 종속 제거 → 조인 종속성 이용
6. 자료가 다음과 같이 주어졌을 때, 선택 정렬을 적용하여 오름차순으로 정렬할 경우 pass 2를 진행한 후의 정렬된 값으로 옳은 것은?
자료 : 9, 4, 5, 11, 8
가. 4, 5, 9, 8, 11
나. 4, 5, 9, 11, 8
다. 4, 5, 8, 11, 9
라. 4, 4, 8, 9, 11
풀이
선택정렬 : n개의 레코드에서 최소값을 찾아 첫 위치에 넣고 나머지 n-1개 중 다시 최소값을 찾아 두번째 위치에 넣는 방식을 반복하여 정렬하는 방식
보기 1회전 : 4, 9, 5, 11, 8
보기 2회전 : 4, 5, 9, 11, 8
보기 3회전 : 4, 5, 8, 11, 9
보기 4회전 : 4, 5, 8, 9, 11
7. 로킹(Locking) 단위에 대한 설명으로 옳은 것은?
가. 로킹 단위가 크면 병행성 수준이 낮아진다.
나. 로킹 단위가 크면 병행 제어 기법이 복잡해진다.
다. 로킹 단위가 작으면 로크(Lock)의 수가 적어진다.
다. 로킹은 파일 단위로 이루어지며, 레코드 또는 필드는 로킹 단위가 될 수 없다.
풀이
로킹은 하나의 트랜잭션이 데이터를 액세스 하는 동안 다른 트랜잭션이 그 데이터 항목을 액세스 할 수 없도록 하는 방법이다.
로킹 단위가 크면 로크 수가 적어 관리하기 쉽지만 병행성 수준이 낮아지고, 로킹 단위가 작으면 로크 수가 많아 관리하기는 복잡하지만 병행성 수준이 높아진다. 로킹 단위는 파일, 레코드, 필드가 될 수 있다.
8. 다음은 학생이라는 개체의 속성을 나타내고 있다. 여기서 "성명"을 기본키로 사용하기 곤란한 이유로 가장 타당한 것은?
학생(성명, 학번, 전공, 주소, 우편번호)
가. 동일한 성명을 가진 학생이 두 명 이상 존재할 수 있다,
나. 성명은 기억하기 어렵다.
다. 성명을 정렬하는데 많은 시간이 소요된다
라. 성명은 기억 공간을 많이 필요로 한다,
9. SQL은 사용 용도에 따라 DDL, DML, DCL로 구분할 수 있다. 다음 중 성격이 다른 하나는?
가. UPDATE
나. ALTER
다. DROP
라. CREATE
풀이
UPDATE는 DDL이고 나머지는 DML이다.
DDL(데이터 정의 언어, definition)
- DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용되는 언어이다.
- 번역한 결과가 데이터 사전이라는 특별한 파일에 여러개의 테이블로 저장된다.
- CREATE, DROP, ALTER
DML(데이터 조작 언어, manipulation)
- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자와 DBMS 간의 인터페이스를 제공한다.
- 응용 프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 하기 위해 C, Cobol 등의 언어에 DB 기능을 추가시켜 만든 언어.
- 대표적인 데이터 조작어에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적 데이터 언어이다.
- SELECT, INSERT, DELETE, UPDATE
DCL(데이터 제어 언어, control)
- 불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안
- 데이터의 정확성을 위한 무결성 유지
- 시스템 장애에 대비한 데이터 회복과 병행수행 제어
- COMMIT, ROLLBACK, GRANT, REVOKE
10. 분산 데이터베이스 시스템에 대한 설명으로 옳지 않은 것은?
가. 사용자나 응용 프로그램이 접근하려는 데이터 사이트의 위치를 알아야 한다.
나. 중앙의 컴퓨터에 장애가 발생하더라도 전체 시스템에 영항을 끼치지 않는다.
다. 중앙 집중 시스템보다 구현하는데 복잡하고 처리비용이 증가한다.
라. 중앙 집중 시스템보다 시스템 확장이 용의하다.
풀이
분산 데이터베이스는 사용자나 응용프로그램이 데이터가 어느 지역 데이터베이스에 위치하고 있는지 알수 없도록 하는 위치 투명성의 특징을 갖는다.
분산 데이터베이스의 4대 목표
위치 투명성(Location Transparency) : 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스 가능
중복 투명성 or 복제 투명성(Replication Transparency) : 동인 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행
병행 투명성(Concurrency Transparency) : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과에는 영향을 끼지치 않음
장애 투명성(Failure Transparency) : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리함
댓글 없음:
댓글 쓰기