3과목 : 데이터베이스 구축
1. 다음 설명과 관련 있는 트랜잭션의 특징은?
트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다. |
1. Durability
2. Isolation
3. Consistency
4. Atomicity
- 원자성(Atomicity) - 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 함 - 일관성(Consistency) - 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환 - 격리성,독립성(Isolation) - 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음 - 영속성,지속성(Durability) - 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함 |
2. 데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것은?
1. CASE 분석
2. 일치 분석
3. CRUD 분석
4. 연관성 분석
3. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은?
1. 인덱스정규화
2. 반정규화
3. 집단화
4. 머징
4. 학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
1. INSERT
2. ALTER
3. DROP
4. MODIFY
5. 정규화의 필요성으로 거리가 먼 것은?
1. 데이터 구조의 안정성 최대화
2. 중복 데이터의 활성화
3. 수정, 삭제 시 이상현상의 최소화
4. 테이블 불일치 위험의 최소화
정규화의 목적 - 데이터 구조의 안정성 및 무결성을 유지 - 효과적인 검색 알고리즘을 생성할 수 있음 - 데이터의 중복을 배제하여 이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화가 가능 - 데이터 모형의 단순화 - 자료 검색과 추출의 효율성을 추구 |
6. 개체-관계 모델의 E-R 다이어그램에서 사용되는 기호와 그 의미의 연결이 틀린 것은?
1. 사각형 - 개체 타입
2. 삼각형 - 속성
3. 선 - 개체타입과 속성을 연결
4. 마름모 - 관계 타입
7. 다음 SQL문에서 빈칸에 들어갈 내용으로 옳은 것은?
UPDATE 회원 ( ) 전화번호 = '010-14' WHERE 회원번호 = 'N4'; |
1. FROM
2. SET
3. INTO
4. TO
UPDATE [테이블명] SET [열] = '변경할 값' WHERE [조건] |
8. 릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키는?
1. 후보키
2. 기본키
3. 슈퍼키
4. 외래키
기본키(Primary Key) - 기본키는 후보키 중에서 특별히 선정된 주키로 중복된 값을 가질 수 없음 - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 - 기본키는 후보키의 성질을 갖고, 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키 - 기본키는 NULL 값을 가질 수 없으므로 튜플에서 기본키로 설정된 속성에는 NULL 값이 있어서는 안됨 대체키(Alternate Key) - 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미 슈퍼키(Super Key) - 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 - 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함 외래키(Foreign Key) - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합 |
9. DBA가 사용자 PARK에게 테이블 [STUDENT]의 데이터를 갱신할 수 있는 시스템 권한을 부여하고자 하는 SQL문을 작성하고자 한다. 다음에 주어진 SQL문의 빈칸을 알맞게 채운 것은?
SQL > GRANT ㉠ ㉡ STUDENT TO PARK; |
1. ㉠ INSERT, ㉡ INTO
2. ㉠ ALTER, ㉡ TO
3. ㉠ UPDATE, ㉡ ON
4. ㉠ REPLACE, ㉡ IN
10. 관계대수에 대한 설명으로 틀린 것은?
1. 주어진 릴레이션 조작을 위한 연산의 집합이다.
2. 일반 집합 연산과 순수 관계 연산으로 구분된다.
3. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
4. 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 비절차적방법이다.
관계대수 - 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어 - 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션 - 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시 - 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있음 관계해석 - 관계 데이터 모델의 제안자인 코드가 수학에 가까운 기반을 두고 관계 데이터베이스를 위해 제안하여 탄생 - 관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용 - 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님 - 질이어로 표현 |
11. 다음 SQL문의 실행 결과는?
SELECT 과목이름 FROM 성적 WHERE EXISTS (SELECT 학번 FROM 학생 WHERE 학생.학번 = 성적.학번 AND 학생.학과 IN('전산', '전기') AND 학생.주소 = '경기'); |
[학생] 테이블
학번 | 이름 | 학년 | 학과 | 주소 |
1000 | 김철수 | 1 | 전산 | 서울 |
2000 | 고영준 | 1 | 전기 | 경기 |
3000 | 유진호 | 2 | 전자 | 경기 |
4000 | 김영진 | 2 | 전산 | 경기 |
5000 | 정현영 | 3 | 전자 | 서울 |
[성적] 테이블
학번 | 과목번호 | 과목이름 | 학점 | 점수 |
1000 | A100 | 자료구조 | A | 91 |
2000 | A200 | DB | A+ | 99 |
3000 | A100 | 자료구조 | B+ | 88 |
3000 | A200 | DB | B | 85 |
4000 | A200 | DB | A | 94 |
4000 | A300 | 운영체제 | B+ | 89 |
5000 | A300 | 운영체제 | B | 88 |
1.
과목이름 |
DB |
2.
과목이름 |
DB |
DB |
3.
과목이름 |
DB |
DB |
운영체제 |
4.
과목이름 |
DB |
운영체제 |
12. 로킹(Locking) 기법에 대한 설명으로 틀린 것은?
1. 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
2. 로킹 단위가 작아지면 병행성 수준이 낮아진다.
3. 데이터베이스도 로킹 단위가 될 수 있다.
4. 로킹 단위가 커지면 로크 수가 작아 로킹 오버헤드가 감소한다.
로킹(Locking) - 로킹 단위는 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기를 의미 - 데이터베이스, 파일, 레코드, 필드 등은 로킹 단위가 될 수 있음 - 로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아지고 데이터베이스 공유도가 저하 (로킹 단위가 크다 -> 로크의 수가 적어진다 -> 제어 기법이 간단해 진다 -> 병행성이 감소한다) - 로킹 단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만 병행성 수준이 높아지고 데이터베이스 공유도가 증가 (로킹 단위가 작다 -> 로크의 수가 많아진다 -> 제어 하기 까다롭다 -> 병행성이 증가한다) |
13. 사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은?
1. delete select on department to X1;
2. remove select on department from X1;
3. revoke select on department from X1;
4. grant select on department from X1;
14. 뷰(VIEW)에 대한 설명으로 틀린 것은?
1. 뷰 위에 또 다른 뷰를 정의할 수 있다.
2. 뷰에 대한 조작에서 삽입, 갱신, 삭제 연산은 제약이 따른다.
3. 뷰의 정의는 기본 테이블과 같이 ALTER문을 이용하여 변경한다.
4. 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거된다.
뷰의 정의를 변경하려면 뷰를 삭제 후 재생성 해야 함 |
15. 데이터 모델에 표시해야 할 요소로 거리가 먼 것은?
1. 논리적 데이터 구조
2. 출력 구조
3. 연산
4. 제약조건
- 데이터 모델 구성 요소 : 개체, 속성, 관계 - 데이터 모델 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델 - 데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건 |
16. 제 3정규형에서 보이스코드 정규형(BCNF)으로 정규화하기 위한 작업은?
1. 원자 값이 아닌 도메인을 분해
2. 부분 함수 종속 제거
3. 이행 함수 종속 제거
4. 결정자가 후보키가 아닌 함수 종속 제거
1. 1NF 조건 : 원자값으로 구성 2. 2NF 조건 : 부분 함수 종속 제거 (완전 함수적 종속 관계) 3. 3NF 조건 : 이행 함수 종속 제거 4. BCNF 조건 : 결정자 함수 종속 5. 4NF 조건 : 다중값(다치) 종속성 제거 6. 5NF 조건 : 조인 종속성 제거 |
17. A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는?
1. 24
2. 12
3. 8
4. 9
18. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
1. 저장 레코드 양식 설계
2. 레코드 집중의 분석 및 설계
3. 접근 경로 설계
4. 목표 DBMS에 맞는 스키마 설계
19. 한 릴레이션 스키마가 4개 속성, 2개 후보키 그리고 그 스키마의 대응 릴레이션 인스턴스가 7개 튜플을 갖는다면 그 릴레이션의 차수(degree)는?
1. 1
2. 2
3. 4
4. 7
차수(degree) = 속성의 수 |
20. 데이터웨어하우스의 기본적인 OLAP(on-line analytical processing) 연산이 아닌 것은?
1. translate
2. roll-up
3. dicing
4. drill-down
OLAP 연산 - Roll-up : 상세 데이터에서 요약된 형태의 데이터로 접근하는 기능 - Drill-down : 요약된 데이터에서 상세한 데이터로 접근하는 기능 - Drill-through : 데이터 웨어하우스나 OLTP에 존재하는 상세 데이터에 접근하는 기능 - Drill-across : 다른 데이터 큐브의 데이터에 접근하는 기능 - Pivoting : 행, 열, 페이지 차원을 바꾸어 볼 수 있는 기능 - Slicing : 다양한 각도에서 조회하고 자유롭게 비교하는 기능 - Dicing : Slicing을 더 세분화 하는 기능 |
'1. 자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 20년09월26일 시험문제 리뷰를 통한 시험준비[2과목] (0) | 2021.01.18 |
---|---|
[정보처리기사 필기] 20년09월26일 시험문제 리뷰를 통한 시험준비[1과목] (1) | 2021.01.05 |
[정보처리기사 실기] 시험 대비 - 1 (0) | 2020.09.23 |
[정보처리기사 필기] 20년08월22일 시험문제 리뷰를 통한 시험준비[5과목] (0) | 2020.08.28 |
[정보처리기사 필기] 20년08월22일 시험문제 리뷰를 통한 시험준비[4과목] (0) | 2020.08.27 |