데이터 모델링
- 개념적 데이터 모델링
- 업무 중심적, 포괄적 수준의 모델링
- 개념적 스키마
- 개체, 속성, 식별자, 관계 도출
- 논리적 데이터 모델링
- 개념적 데이터 모델링의 상세 단계
- 개념적 스키마 -> 릴레이션 스키마 매핑
- Relation, Attribute, Primary Key, Foreign Key
- 물리적 데이터 모델링
- 기본키, 컬럼 순서, 컬럼명 매핑 등을 결정
- 인덱스, 제약조건, 파티셔닝 등 세부사항 정의
정규화
이상 (Anomaly)
- 삽입 이상
- 데이터 삽입시 원치않는 데이터를 반복 삽입해야 하는 경우
- 삭제 이상
- 삭제시 삭제가 불필요한 다른 정보도 함께 삭제되는 경우
- 수정 이상
- 수정 시일부 레코드만 변경되어 데이터 일관성이 깨지는 경우
함수적 종속성
- 릴레이션에서 속성간 관계 : X가 존재하면, Y가 결정됨 (X->Y)
- ex. (학번->이름), (전화번호->사용자), (전화번호, 개설일)
- 완전 함수적 종속성
기본키 아닌 속성
이기본키
에 종속
- 부분 함수적 종속성
기본키 아닌 속성
이,기본키의 일부
에 종속
- 이행 함수적 종속성
- X->Y->Z 인 관계
정규화
- 제 1정규형 (1NF)
- 테이블의 각 속성은 원자 값으로 구성
- 제 2정규형 (2NF)
- 부분 함수적 종속성 제거 (완전 함수적 종속성으로 변경)
- 제 3정규형 (3NF)
- 이행 함수적 종속성 제거
반정규화
- 정규화의 반대 개념이나 정규화를 푸는 개념이 아님에 주의
- 중복 데이터를 하나 이상의 테이블에 추가
장점
- 조인 수를 줄임
- 검색 속도 상승
단점
- 데이터 불일치
- 더 많은 스토리지 필요