데이터베이스 - 모델링(정규화)

2022. 11. 15. 17:12데이터베이스

모델링

 

기업이나 조직의 정보 구조를 개체(Entity)와 관계(Relationship)를 중심으로 체계적으로 표현하고
문서화 하는 기법

 

정보 시스템의 중심을 데이터 관점에서 접근하는 분석 방법

개체 : table

관계 : foreign key

속성 : column

식별자 : primary key

 

모델링 개요

용어

file system

 - file, Record, Key, Field

Data modeling

 - Entity, Tuple, Identifier, Attribute

R-DB

 - Table(relation), Row(Instance), key, Column

정규화

정규화 장점

 - 모델의 정확성
 - 데이터 일치
 - 모델의 단순성
 - 중복의 최소화

정규화 목적
 - 데이터 구조의 안정성을 확보하고 무결성을 유지하며 저장공간을 최소화한다.

 

RDB에서 정규화 과정을 수행합니다 (x)

정규화되어있는 과정을 표현한게 RDB이다(o)

 

함수적 종속(functional dependency)
 - 레코드 내에 존재하는 항목들 중에 속성 B가 속성 A에 함수적 종속관계에 있다는 것은 

   A를 이용 B를 식별할 수 있다는 의미이다.
 - A → B
 - A : 결정인자 (Determinant)
 - A → (B,C)인 경우 A → B, A → C가 성립한다.
 - (A,B) → C 인 경우 A → C, B → C는 성립하지 않는다.
 - A → B , B → C인 경우 A → C가 성립될 수 있다.
   (3차 정규화 대상이 아니다.)

 

* 함수적 종속의 예
 - 제품번호 → 제품명

  (determite, primary key)
 - 학번 → (이름,학과,주소,전화번호)
 - (학번,과목번호) → 점수 (완전기능종속 되지 않았다.)

 

단계별 정규화 과정
 - 1차 정규화 : 반복그룹 속성을 추출한다.
    - 자식 개체가 추출되고 반드시 식별관계이다.
    - 주식별자를 가지고 나간다.
    - 자식 개체 주 식별자에 반드시 속성이 추가된다.
 

- 2차 정규화 : 주 식별자에 완전 기능 종속되지 않는 속성을 추출한다.
    - 자식 개체 주 식별자에 외부 식별자를 두고 나간다.
    - 부모개체가 추출되고 반드시 식별관계이다.

 

 - 3차 정규화 : 주 식별자에 이행 종속인 속성을 추출한다.
    - 일반 속성에 외부 식별자를 두고 나간다.
    - 부모개체가 추출되고 반드시 비 식별 관계이다.

 

 - 4차, 5차는 안해도 상관없지만 1, 2, 3차는 반드시 해줘야한다.

 - RDB나오기전에 파일시스템DB을 사용

 - 정규화, 반정규화는 종속관계가 필수적으로 유지되어야한다.

 

모델링 - 최소한의 테이블로 데이터를 정확하게 입력할수 있어야한다.

 

EX)