정보처리기사 실기 시험이 얼마 남지 않았다. 발등에 불이 떨어져서 열심히 하긴 해야하는데... 이번주에 너무 공부가 하기 싫을 때, 데이터베이스 부분이 가장 쉬웠기 때문에(나에게) 손이라도 움직이자 싶어 정리해둔 내용이다. 이번에는 꼭 정처기를 딸 수 있기를!!
논리 데이터 모델링 개념
논리적 데이터 모델링 종류
관계 데이터 모델
개체-관계 (E-R) 모델
정규화
1) 이상현상 (Anomaly)
: 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상이다.
- 종류
- 삽입 이상 Insertion Anomaly
: 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상. 테이블에 일부 데이터만 삽입하려고 해도, 다른 칼럼에 대한 데이터를 필수적으로 입력해야 할 때 발생
- 삭제 이상 Deletion Anomaly
: 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상. 한 데이터가 다른 데이터랑 결합되어 있을 경우, 삭제시에 불필요한 데이터 손실이 발생하는 현상.
- 갱신 이상 Update Anomaly
: 릴레이션에서 튜플에 있는 속성값을 갱신할 대 일부 튜플의 정보만 갱신되어 정보의 모슨이 생기는 현상. 동일한 데이터가 여러 행에 중복 저장되어 있을 경우, 한 곳에서 데이터를 수정하면 다른 행의 데이터와 불일치가 발생하는 현상.
2) 함수 종속 Functional Dependency
- 개념
함수 종속은 릴레이션에서 속성의 의미와 속성 간 상호 관계로 부터 발생하는 제약조건이다.
- 결정자 / 종속자
- X -> Y 관계일 때 X는 결정자, Y는 종속자이다.
- 종류
- 부분 함수 종속 Partial Functional Dependency
: 릴레이션에서 기본키가 복합 키일 경우 기본 키를 구성하는 속성 중 일부에게 종속된 경우
- 완전 함수 종속 Full Functional Dependency
: 릴레이션에서 X -> Y 관계가 있을 때, Y는 X의 전체 속성에 대해 종속하고, 부분 집합 속성에 종속하지 않는 경우
- 이행 함수 종속 Transitive Functional Dependency
: 릴레이션에서 X -> Y, Y -> Z 종속 관계가 있을 때, X -> Z가 성립되는 경우
3) 정규화(Normalization)의 개념
- 데이터베이스 정규화 단계
반 정규화
1) 반 정규화 De-Nomalization 개념
- 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복 통합, 분리 등을 수행하는 데이터 모델링의 기법이다.
- 비정규화, 역정규화라고도 불린다.
2) 반 정규화 특징
- 장점
: 반 정규화된 데이터 구조는 성능 향상과 관히의 효율성이 증가.
- 단점
: 데이터의 일관성 및 정합성 저하. 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음.
- 반 정규화를 위해서는 데이터의 일관성과 무결성을 우선으로 할지, 데이터베이스의 성능과 단순화에 우선순위를 둘 것인지를 비교하여 조정하는 과정이 중요하다.
3) 반 정규화 기법