< 데이터 모델 절차 >
- 개념적 데이터 모델
- 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출
- DB 종류와 상관 없음
- 주요 산출물: 개체관계(ER) 다이어그램
- 논리적 데이터 모델
- 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현
- 정규화 수행
- 물리적 데이터 모델
- 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마 만듦
- 반 정규화를 수행
< 논리적 데이터 모델링 >
- 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현
< 논리적 데이터 모델링 종류 >
- 관계 데이터 모델: 테이블 형태
- 계층 데이터 모델: 트리 형태
- 네트워크 데이터 모델: 그래프 형태
< 관계 데이터 모델 구성 요소 >
- 릴레이션 : 테이블
- 튜플(Tuple) : 가로(행)
- 속성(Attribute) : 세로(열)
- 카디널리티(Cardinality) : 튜플의 수
- 디그리(Degree) : 애트리뷰트 수
< 관계 대수 연산자의 종류 >
- 합집합: U 두 릴레이션의 합집합
- 교집합: ⋂ 공통으로 속하는 모든 튜플 결과
- 차집합: − 한 쪽에만 존재하는 튜플
- 카티션 프로덕트: X 두 릴레이션에 속한 모든 튜플 연결
< 순수 관계 연산자 >
- 셀렉트: ∂ 하나의 릴레이션에서 조건을 만족하는 튜플 반환
- 프로젝트: π 하나의 릴레이션에서 주어진 속성 값으로만 구성된 튜플 반환
- 조인: ▷◁ 두 릴레이션에서 공통 속성을 이용해 튜플 연결해서 만든 튜플 반환
- 디비전: ÷ 두 릴레이션에서 하나의 튜플과 관련 있는 튜플 반환
< 논리적 데이터 모델링 속성 >
< E-R 다이어그램 기호 >
- 개체: ㅁ
- 관계: ◇
- 속성: ○
- 다중 값 속성: ◎
- 관계-속성 연결: ㅡ
< 정규화(Normalization) >
- 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
< 이상현상(Anomaly) >
- 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
< 이상현상의 종류 >
- 삽입 이상
- 정보 저장 시 해당 정보의 불필요한 세부 정보 입력
- 삭제 이상
- 정보 삭제 시 원치 않는 다른 정보 같이 삭제
- 갱신 이상
- 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으킴
< 정규화의 단계 >
- 1정규형(1NF): 원자값으로 구성
- 2정규형(2NF): 부분 함수 종속 제거(완전 함수적 종속 관계)
- 정규형(3NF): 이행함수 종속 제거
- 보이스-코드 정규형(BCNF): 결정자 후보 키가 아닌 함수 종속 제거
- 4정규형(4NF): 다치(다중 값) 종속 제거
- 정규형(5NF): 조인 종속 제거
< 반정규화(De-Normalization) >
- 개념 : 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행
- 특징: 성능 향상, 관리의 효율성 증가 / 데이터의 일관성 및 정합성 저하, 유지 비용 별도 발생으로 성능에 나쁜 영향
< 반정규화 기법 >
- 테이블
- 테이블 병합: 1:1, 1:M 관계를 통합해 조인횟수를 줄여 성능 향상
- 테이블 분할: 수평 분할, 수직 분할
- 중복 테이블 추가: 집계 테이블 추가, 진행 테이블 추가, 특정 부분만을 포함하는 테이블 추가
- 컬럼
- 컬럼 중복화: 조인 성능 향상을 위한 중복 허용
- 관계
- 중복 관계 추가: 여러 경로를 통해 조인이 가능하지만 성능 저하 예방을 위해 추가적 관계 맺음