블로그 이전했습니다. https://jeongzero.oopy.io/
데이터베이스 모의고사 오답정리
본문 바로가기
정보처리기사/필기

데이터베이스 모의고사 오답정리

728x90

1. 트랜잭션의 특성


원자성(Atomicity)

- 트랜잭션의 가장 중요한 성질

- 트랜잭션은 분리해서 일할 수 없고, 따라서 일부의 완료라는 것은 존재 하지 않는다.

- 트랜잭션의 연산은 All or Nothing

일관성(Consistency)

- 고정 요소는 트랜잭션 실행 전과 후 가 같아야 한다는 성질이다.

독립성(Isolation)=격리성

- 트랜잭션이 실행되는 중간에는 다른 트랜잭션 연산이 침범하지 못하는 성질

영속성(Durability)=지속성=계속성

- 트랜잭션이 성공적인 완료를 응답했다면 트랜잭션 완료의 효과는 지속되어야 한다는 성질이다.





2. 기본 정규형 - 개논물 중 논리적 설계 단계에서 수행함.


1 정규형 : 어떤 릴레이션 R에 속한 모든 도메인이 원자값만으로 되어 있다면 제1정규형에 속한다.


2 정규형 : 어떤 릴레이션 R이 제1정규화에 속하고 기본키에 속하지 않는 모든 속성이 기본키에 완전 함수적 종속이면 제2정규형에 속한다.


3 정규형 : 어떤 릴렐이션 R이 제2정규화에 있으면서 기본키에 속하지 않는 모든 속성이 기본키에 이행적 함수 종식이 아니면 제3정규형에              속한다.


BCNF 정규형 : 릴레이션 R의 모든 결정자가 후보키이면 릴레이션 R은 BC 정규형에 속한다.


4 정규형 : 릴레이션 R에 비당연 MVD A->>B가 존재할 때 R의 모든 속성도 A에 함수 종속이면 릴레이션 R은 제4정규형에 속한다.


5 정규형 : 릴레이션 R에 존재하는 모든 조인 종속이 릴레이션 R의 후보키를 통해서만 성립된다면 릴레이션 R은 제 5정규화에 속한다.





3. 관계 대수 vs 관계 해석


- 관계 대수 : 릴레이션으로부터 필요한 릴레이션을 만들어내는 연산자의 집합이다. 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는                  절차적인 방법이다. 관계 대수로는 합집합, 교집합, 차집합, 곱집합, 셀렉션, 프로젝션, 조인, 디비전 등이 있다.


- 관계 해석 : 수학의 프레디킷 해석에 기반을 두고있다. 관계해석은 질의하는 형식으로 원하는 형태의 릴레이션을 정의하는 연산으로 구하고자                  하는 정보가 무엇이라는 것만 명시하는 비절차적인 연산이다. 관계 해석에는 튜플 관계 해석과 도메인 관계 해석이 있다.





4. 무결성 제약 사항


- 도메인 무결성 : 데이터베이스 릴레이션에서 주어진 속성으로 입력되는 모든 값은 그 속성으로 정의되거나 제약된 도메인 영역에 있어야 함


- 개체 무결성 : 주어진 릴레이션에 기본키를 선언하고 기본키로 NULL 값을 허용하지 않은 상태에서 이 기본키에 따라 릴레이션에 접근하여                     연삼함으로써 유지되는 무결성


- 참조 무결성 : 릴레이션에 있는 튜플 정보가 다른 릴레이션에 있는 튜플 정보와 비교하여 관계성이 있으며, 관계되는 정보의 정확성을                     유지하는가를 규정하는 것으로 외래키에 의해 유지된다.






5. 데이터베이스 설계


- 개념적 설계 단계 : 개념 스키마 모델링(ex: ER 다이어그램), 트랜잭션 모델링을 병행적으로 수행하는 단계,


- 논리적 설계 단계 : 트랜잭션에 대한 인터페이스를 설계한다. 설계에 논리적 데이터 모델을 이용한다. 스키마에 대한 평가 몇 정제 작업이 이루어진다.


- 물리적 설계 단계 : 데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로를 설계하며 성능에 중대한 영향을 미친다. 접근 경로의 설계 등이 이루어진다.






6. 해싱


1. 용어


- 해싱 함수 : 레코드의 키 값을 이용해서 레코드를 저장할 주소를 산출해내는 일종의 수학식이다.

1. 제산법 : 레코드의 키 값을 임의의 소수로나누어 그 나머지 값을 홈 주소로 이용하는 방법

2. 기수 변환법 : 레코드의 키 값을 임의의 다르 기수 값으로 변환하여 그 값을 홈 주소로 이용하는 방법

3. 접는법(Folding) : 레코드의 키 값을 여러 부분으로 나누고, 각 부분의 값을 더하거나 XOR 연산을 통하여 나온 결과로 주소를 취하는 방법

4. 계수 분석법 : 주어진 모든 키 값들에서 그 키를 구성하는 자릿수들의 분포를 조사하여 비교적 고른 분포를 보이는 자릿수들을 필요한                      만큼 택하는 방법이다.

5. 제곱법 : 값을 제곱하여, 결과 값 중 중간 자릿수를 선택하여 그 값을 홈 주소로 이용하는 방법


- 홈 주소 : 해싱 함수에 의해 계산되어 나온 주소 값


- 버킷 : 하나의 주소를 가지면서 한 개 이상의 레코드를 저장할 수 있는 공간


- 충돌(Collision) : 해싱 함수에 의해서 계산된 홈 주소가 같은 경우에 벌어지는 충돌 현상이다.


- 시노님(Synonyms) : 같은 홈 주소를 갖는 레코드의 집합이다.



2. 오버플로 처리


- 개방 주소 : 오버플로된 레코드를 기억시킬 주소를 찾아 그 주소 값 위치에 오버플로된 데이터를 기억시키는 방법

- 폐쇄 주소 : 오버플로된 데이터를 기억시키기 위한 빈 공간을 찾아 그 공간에 오버플로된 데이터를 기억시키고 그 주소를 가져와 링                   크로 연결하는 방식

- 체인 방식 : 오버플로가 발생했을 때 빈 버킷에 레코드를 저장하고 링크 리스트로 연결하여 해결하는 방법 






7. OLAP(On-Line-Analytical-Processing) 연산


OLAP(OnLine Analytical Processing)은 '최종 사용자가 다차원 정보에 직접 접근하여 대화식으로 정보를 분석하고 의사결정을 활용하는 과정(조재희/박성진, 1996)'으로 정의 할 수 있다.


- Roll-Up : 상향식 분석 연산


- Drill-Down : 하향식 분석 연산


- Pivoting : 행, 열, 페이지 등을 바꾸어서 접근하는 분석 연산


- Slicing : 여러 차원의 데이터 항목들을 다양한 방법으로 조회하고 비교하는 분석 연산


- Dicing : 아주 세밀하게 여러 차원의 데이터를 조회, 비교, 분석하는 연산






8. 회복 기본


- 즉시 갱신을 로그를 이용한 회복 : 로그에 있는 갱신 이전의 데이터로 데이터베이스를 복원하여 회복하는 기법 - UNDO


- 로그를 이용한 지연 회복 기법 : 이떤 트랜잭션의 갱신 결과를 로그에 기록하여 두었다가 트랜잭션의 연산이 완료되면 한번에 데이터베이스에                                            반영하는 기법 - REDO


- 검사 시점에 의한 회복 기법 : 장애요인이 발생했을 때 로그에 있는 데이터 중 어디까지 데이터베이스에 반영해야 하는지를 결정하는 방법


그림자 페이징 기법 : 로그를 이용하지 않고 데이터베이스를 일정 크기의 페이지 단위인 현 페이지 테이블과 그림자 페이지 테이블을 유지하면서 데이터 변경 시 현 페이지 테이블만 변경시키고 그림자 페이지는 옛 값을 유지한다.


Dicing : 아주 세밀하게 여러 차원의 데이터를 조회, 비교, 분석하는 연산






9. 색인 순차 파일


- 전체 파일이 인덱스 구역(Index Area), 기본 데이터 구역(Prime Data Area), 오버플로 구역(Overflow Area)으로 구성되어 있다.





10. 병행 제어 기법의 종류


- 로킹 : 자원 이용에 대하여 상호배제 기능을 이용하는 기법

- 타임스탬프 순서 : 시스템에 진입하는 트랜잭션 순서대로 타임스탬프를 지정하여 동시성을 제어하는 기법

- 검증 기법 : 읽기 단계, 검증 단계, 기록 단계를 이용하여 직렬성을 보장하는 기법

- 다중버전 기법 : 갱신 연산 때마다 새로운 버전을 만들어 병렬 수행을 제어하는 기법.

728x90