3과목 : 데이터 베이스 구축
41. 릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?
① 제 1 정규형
② 제 2 정규형
③ 보이스/코드 정규형
④ 제 4 정규형
🍎
제 1 정규형 = 반복그룹을 제거
제 2 정규형= 부분 함수적 종속 제거
제 4 정규형= 다치종속 제거
보이스/코드 = 모든 결정자가 후보키인 상태
42. 다음 관계형 데이터 모델에 대한 설명으로 옳은 것은?
① relation 3개, attribute 3개, tuple 5개
② relation 3개, attribute 5개, tuple 3개
③ relation 1개, attribute 5개, tuple 3개
④ relation 1개, attribute 3개, tuple 5개
🍎
- relation : 테이블의 수 (1 테이블)
- attribute : 열의 수 (3열)
- tuple : 행의 수 (5행)
43. Commit과 Rollback 명령어에 의해 보장받는 트랜잭션의 특성은?
① 병행성
② 보안성
③ 원자성
④ 로그
🍎
- 원자성 : 트랜잭션 연산은 DB에 모두 반영되어 Commit(완료) 되든지 아니면 반영이 안 되어 Rollback(복구)되어야 한다.
- 일관성 : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
- 독립성 : 둘 이상 트랜잭션이 동시 병행 실행될 경우 트랜잭션 실행 중 타 트랜잭션의 연산이 끼어들 수 없다.
- 지속성 : 성공적 완료된 트랜잭션 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
44. 관계 데이터베이스인 테이블 R1에 대한 아래 SQL 문의 실행결과로 옳은 것은?
🍎
DISTINCT : 중복 튜플 발견 시 그 중 첫 번째 하나만 검색
학년 1, 1, 2, 2, 3 중 중복된 값 1과 2는 하나만 검색
=> 학년 1 2 3
45. DCL(Data Control Language) 명령어가 아닌 것은?
① COMMIT
② ROLLBACK
③ GRANT
④ SELECT
🍎
DCL(Data Control Language) : 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용되는 명령어
1. GRANT: 데이터베이스 사용자에게 사용권한을 부여하는 명령어
2. REVOKE: 데이터베이스 사용자의 사용권한을 취소하는 명령어
3. COMMIT: 데이터베이스 조작 작업이 정상적으로 완료되었음을 알려주는 명령어
4. ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 작동 하여 원래 상태로 복구하는 명령어
46. 병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?
① 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
② 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
③ 로킹의 단위가 작아지면 로킹 오버헤드가 증가한다.
④ 로킹의 단위가 커지면 데이터베이스 공유도가 증가한다.
🍎
로킹 단위가 크면 나머지가 다 작아짐 / 로킹 단위가 작으면 나머지가 다 커짐 ( 로킹과 반비례 관계 )
47. 관계 데이터모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null)값이 아닌 원자 값을 갖는 성질은?
① 개체 무결성
② 참조 무결성
③ 도메인 무결성
④ 튜플의 유일성
48. 뷰(View)의 장점이 아닌 것은?
① 뷰 자체로 인덱스를 가짐
② 데이터 보안 용이
③ 논리적 독립성 제공
④ 사용자 데이터 관리 용이
🍎
뷰(View)는 하나 이상의 테이블로부터 유도되는 가상테이블이며 논리적 독립성이 제공.
실제테이블처럼 권한을 나눌 수 있음. 따라서 특정사용자가 볼 필요가 없는 다른 열들을 배제하고 뷰를 만든 후 해당 사용자에게 뷰에 대한 권한을 할당하면 테이블 전체에 대한 권한을 부여하지 않아도 됨.
뷰는 자체적으로 인덱스를 가지지 않음. 따라서 삽입 삭제 수정이 제한적!!
49. 분산 데이터베이스의 투명성(Transparency)에 해당 하지 않는 것은?
① Location Transparency
② Replication Transparency
③ Failure Transparency
④ Media Access Transparency
🍎
1. 분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장
2. 위치 투명성 : 사용하려는 데이터의 저장장소를 명시가 필요하지 않음. 위치정보는 System Caltalog에 유지어야 함
3. 지역사상 투명성 : 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용가능
4. 중복 투명성 : DB객체가 여러 사이트에 중복되어 있는지 알 필요가 없는 성질
5. 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 트랜잭션의 원자성유지
6. 병행 투명성 : 다수 트랜잭션 동시수행 시 결과의 일관성 유지, TImm Stamp, 분산 2단계 Locking을 이용하여 구현
50. 정규화의 목적으로 옳지 않은 것은?
① 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
② 데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다.
③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다.
④ 효과적인 검색 알고리즘을 생성할 수 있다.
🍎
중복을 배제하여 삽입, 삭제, 갱신 이상들을 제거하기 위하여 정규화를 함!
51. 다음에 해당하는 함수 종속의 추론 규칙은?
① 분해 규칙
② 이행 규칙
③ 반사 규칙
④ 결합 규칙
🍎
(1) 분해 규칙 : X -> YZ이면 X -> Y와 X -> Z이다.
(3) 반사 규칙 : X -> Y이면 X -> Y와 X -> X이다.
(4) 결합 규칙 : X -> Y이고 X -> Z이면 X ->YZ이다.
52. 다음 R과 S 두 릴레이션에 대한 Division 연산의 수행 결과는?
🍎
D2 | D3 |
1 | A |
가 포함된
D1 | D2 | D3 |
a | 1 | A |
b | 1 | A |
중
D2 | D3 |
1 | A |
를 제거
53. player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?
① (1)
② (2)
③ (3)
④ (4)
🍎
AND HEIGHT BETWEEN 170 AND 180;
PLAYER 테이블에서 TEAM_ID가 Korea이면서 키가 170 이상 180 이하인 열의 PLAYER_NAME과 HEIGHT를 구하는
BETWEEN A OR B라는 문법은 없음!!
54. 데이터베이스 로그(log)를 필요로 하는 회복 기법은?
① 즉각 갱신 기법
② 대수적 코딩 방법
③ 타임스탬프 기법
④ 폴딩 기법
🍎
회복(Recovery)
트랜잭션 도중에 손상된 데이터베이스를 이전 상태로 복귀하는 작업
트랜잭션의 연산을 수행할 때 데이터베이스를 변경하기 전에 로그 데이터를 생성.
취소(Undo) 연산으로 이미 데이터베이스에 쓰인 것도 수정가능.
- 즉각 갱신 기법(Immediate Update)
트랜잭션의 연산을 수행하여 데이터를 갱신할 때 실제 데이터 베이스에 반영하는 기법
갱신한 모든 내용을 로그(Log)에 보관. 회복 작업을 위해 취소(Undo)와 재시도(Redo) 모두 사용 가능.
55. DML(Data Manipulation Language) 명령어가 아닌 것은?
① INSERT
② UPDATE
③ ALTER
④ DELETE
🍎
DML(데이터 조작어) : SELECT / INSERT / DELETE / UPDATE
DDL(데이터 정의어) : CREATE / ALTER / DROP
DCL(데이터 제어어) : COMMIT / ROLLBACK / GRANT / REVOKE
56. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?
① 제1 정규형
② 제2 정규형
③ 제3 정규형
④ 제4 정규형
🍎
1NF : 도메인이 원자값만으로 구성된 정규형
2NF : 기본 키가 아닌 모든 속성이 기본 키에 대해 완전 함수적 종속을 만족하는 정규형
3NF : 기본 키가 아닌 모든 속성이 기본 키에 대해 이행적 종속을 만족 안 하는 정규형
BCNF(보이스/코드) : 모든 결정자가 후보 키인 정규형
4NF : 다치 종속 A->B가 성립하는 경우 A에 함수적 종속 관계를 만족하는 정규형
5NF : 모든 조인 종속이 후보 키를 통해서만 성립되는 정규형
57. 관계대수의 순수관계 연산자가 아닌 것은?
① Select
② Cartesian Product
③ Division
④ Project
🍎
순수 관계 연산자 : Select / Project / Join / Division
58. 다음 중 SQL의 집계 함수(aggregation function)가 아닌 것은?
① AVG
② COUNT
③ SUM
④ CREATE
🍎
- AVG: 해당 집계행의 평균
- SUM: 해당 집계행의 합
- COUNT: 집계행의 수
59. 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?
① normalization
② rollback
③ cardinality
④ anomaly
🍎
정규화(Normalization)를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데, 이를 '이상(Anomaly)'이라 하며 다음과 같이 삽입 이상, 삭제 이상, 갱신 이상이 있다.
- 삽입 이상(insertion Anomaly) : 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
- 삭제 이상(Deletion Anomaly) : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상이 일어나는 현상
- 갱신 이상(Update Anomaly) : 릴레이션에서 튜플에 있는 속성 값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
60. 릴레이션에 대한 설명으로 거리가 먼 것은?
① 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
② 한 릴레이션에 포함된 튜플들은 모두 상이하다.
③ 애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다.
④ 한 릴레이션에 포함된 튜플 사이에는 순서가 있다.
🍎
[릴레이션 특징]
1. 한 릴레이션에 포함된 튜플들은 상이하다.
2. 튜플 사이에 순서는 없다.
3. 속성 간 순서는 중요하지 않다.
4. 속성의 명칭은 유일, 구성값은 동일값 가능.
5. 속성 값은 원자값으로 저장한다.
6. 튜플들의 작업으로 인해 릴레이션은 시간에 따라 변함.
'CS_정리 & 정보처리기사 💾' 카테고리의 다른 글
[정보처리기사] 2020_08_22 (3회)_5과목 (1) | 2023.04.02 |
---|---|
[정보처리기사] 2020_08_22 (3회)_4과목 (30) | 2023.04.02 |
[정보처리기사] 2020_08_22 (3회)_2과목 (30) | 2023.03.31 |
[정보처리기사] 2020_08_22 (3회)_1과목 (30) | 2023.03.30 |
[정보처리기사] 2020_06_06 (1회,2회 통합)_5과목 (0) | 2023.03.25 |