이야기박스

정보처리기사 - 2과목 데이터베이스 본문

Other Fields/정보처리기사

정보처리기사 - 2과목 데이터베이스

박스님 2017. 10. 13. 12:20
반응형

§ 데이터베이스

- 정의

: 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임


- 특징

a. 실시간 접근성

b. 계속적인 진화

c. 동시 공유

d. 내용에 의한 참조

e. 데이터의 논리적, 물리적 독립성


- 언어

a. DDL ; Data Definition Language

b. DML ; Data Manipulation Language

c. DCL ; Data Control Language


- 사용자

a. DBA ; DataBase Administrator

: 데이터베이스 관리자

b. 데이터 관리자

c. 데이터 설계자

d. 응용 프로그래머

e. 일반 사용자




§ 키의 개념 및 종류

- 키 : 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성


-  슈퍼키 : 유일성 만족, 최소성 불만족

-  후보키 : 유일성 만족, 최소성 만족 

--> 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합

- 기본키 : 후보키 중에서 특별히 선정된 키, 후보키의 특성을 갖음

- 대체키 : 기본키를 제외한 후보키들

- 외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합



§ 무결성

: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성


- NULL 무결성 : 특정 속성 값이 NULL이 될 수 없도록 하는 규정

- 고유 무결성 : 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다는 규정

- 도메인 무결성 : 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정

- 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정

- 관계 무결성 : 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정

- 참조 무결성 : 외래키 값은 NULL 또는 참조 릴레이션의 기본키

- 개체 무결성 : 기본키를 구성하는 어떤 속성도 NULL일 수 없다는 규정



§ 이상 (Anomaly)

: 종속으로 인해 데이터의 중복이 발생 --> 테이블 조작 시 문제 발생


- 삽입 이상 (Insertion Anomaly)

: 데이터 삽입할 때, 의도와는 상관없이 원하지 않은 값들로 인해 삽입할 수 없게 되는 현상

- 삭제 이상 (Deletion Anomaly)

: 튜플을 삭제할 때, 의도와는 상관없는 값들도 함께 삭제됨 --> 연쇄 삭제

- 갱신 이상 (Update Anomaly)

: 튜플에 있는 속성 값을 갱신할 때, 일부 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상


§ 함수적 종속

: 어떤 테이블 R 속성의 부분 집합 X, Y

--> 속성 X의 값 각각에 대해 시간에 상관없이 항상 속성 Y의 값 오직 하나만 연관되어 있을 때

--> Y는 X에 함수적 종속 or X가 Y를 함수적으로 결정한다

--> 기호 : X->Y

--> X : 결정자 / Y : 종속자


- 완전 함수적 종속 

: Y가 X에 함수적 종속인 경우

--> Y가 X의 어떠한 부분집합에도 함수적 종속이 아닌 경우

--> (X에 의해서만 함수적 종속이 발생할 때)

: 어떤 속성이 기본키에 대해 완전히 종속적일 때


- 부분 함수적 종속

: 완전 함수적 종속이 아닌 경우



§ 정규화 (Normalization)

: 테이블의 상호 종속적인 관계 특성을 이용

--> 테이블을 무손실 분해하는 과정

( * 무손실 분해 : 테이블 R의 프로젝션인 R1, R2가 NATURAL JOIN으로 원래의 R로 복귀되는 경우 )


- 제 1정규형

: 테이블 R에 속한 모든 속성의 도메인이 원자 값만으로 되어 있는 정규형

--> 테이블의 모든 속성 값이 원자값


- 제 2정규형

: 테이블이 제 1정규형, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형


- 제 3정규형

: 테이블이 제 2정규형, 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형

( * 이행적 함수적 종속 : A->B , B->C 일 때 A->C를 만족하는 관계 )


- BCNF

: 테이블에서 모든 결정자가 후보키인 정규형


- 제 4정규형

: 테이블에 다중 값 종속 A->->B가 존재할 경우

--> 테이블의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형


- 제 5정규형

: 테이블의 모든 조인 종속이 후보키를 통해서만 성립되는 정규형


- 역 정규화 (Denormalization)

: 정규화로 인해 분해된 릴레이션에서 원하는 정보를 얻기 위해 다시 연결

--> 응답 속도가 떨어지므로 정규화에 위배되지만, 성능 향상을 위해 다시 테이블을 합침


- 과정

비정규 릴레이션    --> ( 도메인 원자값 )

1NF                    --> ( 부분적 함수 종속 제거 )

2NF                    --> ( 이행적 함수 종속 제거 )

3NF                    --> ( 결정자이면서 후보 키가 아닌 것 제거 )

BCNF                  --> ( 다치 종속 제거 )

4NF                    --> ( 조인 속성 이용 )

5NF


==> 외울 때; 두부이겨다줘 ~ 도부이결다조

반응형