Coding Planet

[DB Modeling] 논리적 모델링 - 정규화 본문

DB, SQL

[DB Modeling] 논리적 모델링 - 정규화

jhj.sharon 2023. 3. 14. 16:00
반응형

1. 논리적 데이터 모델

 

  • 개념적 데이터 모델은 DBMS가 직접 이해할 수 없기 때문에 컴퓨터가 이해할 수 있도록 논리적 데이터 모델로 변환해야 하는데 이를 논리적 데이터 모델이라고 한다.
  • 개념적 설계에서 추출된 실체와 속성들의 관계를 관계형 데이터베이스 이론에 맞게 구조적으로 설계하는 단계인데, 이를 스키마의 설계라고 한다.
  • 정확한 업부 분석을 통한 자료의 흐름을 분석하여 실체와 속성들의 관계를 구조적으로 설계하여야 한다.
  • 논리적 데이터 모델은 데이터 모델링이라고도 함
  • 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음

 

 

계층 데이터 모델 -데이터를 저장하는 단위인 엔티티의 구조가 상하 종속적인 관계로 구성
-ex)교수 - 학생- 수강과목
네트워크 데이터 모델 - CODASYL이 제안(CODASYL DBTG 모델이라고도 함)
- 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델
- 상위와 하위 레코드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조
관계 데이터 모델  - 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델
 - 표(Table)를 이용해서 데이터 상호관계를 정의하는 구조

 

 

 

2. 정규화(DB normalization)

  • 관계형 데이터베이스에서 데이터를 구조화 하는 작업이다.
  • 정규화의 목적은 데이터의 중복을 방지하고 보다 효율적으로 데이터를 저장하기 위함이다
  • 정규화를 통해 삽입, 삭제, 갱신 이상의 발생 가능성을 줄일 수 있다.
  • 정규화는 6가지가 있지만 실질적으로 제 1, 2, 3 정규화를 많이 활용한다.
  • 그 이상으로 가야하면 그냥 테이블 엎고 다시 만들어라...

 

 

1. 제 1 정규화

  • 엔티티에서 하나의 속성이 복수의 값을 갖도록 설계되었을 때 하나의 속성이 단일 값을 갖도록 하는 것
  • 즉 다중값을 가질 수 없다.

 

2.제 2 정규화

  • 주식별자가 아닌 속성 중에서 주식별자 전체가 아닌 일부 속성에 종속된 속성을 찾아 제거하는 것
  • 부분 종속, 모든 속성은 반드시 모든 기본키에 종속되어야 한다.(기본키 일부에만 종속되어서는 안된다)

 

3. 제 3 정규화

  • 주식별자가 아닌 속성들 중에서 종속 관계에 있는 속성을 찾아 제거하는 것
  • 이행종속, 기본키가 아닌 모든 속성간에는 서로 종속될 수 없다.

 

반응형
Comments