DB/DB 모델링

[DB 모델링] 정규화

각시탈코더 2023. 11. 25. 13:52

1.제 1정규형

제 1정규화 전 후. 제 1정규화 테이블

 

: 하나의 레코드 속성에는 하나의 데이터만 넣는다.

 

1) 제 1정규형 위반 CASE

①하나의 컬럼에 여러 데이터가 들어가는 경우

'취미코드' 컬럼에 여러 데이터가 들어가는 문제. 1정규형 위반
해결

 

Tip. 두 테이블의 관계가 M;N일 때 관계 테이블의 명칭 짓기가 애매할 때는 결합한 두 테이블의 명칭을 하나로 합친다. 예를들어 '고객'과 '취미'테이블이 M:N의 관계를 맺으면, 관계 테이블의 명칭은 '고객취미'가 된다.

 

②복합속성이 사용된 경우

복합 속성(주소) 1정규화 위반

 

③유사한 속성이 반복된 릴레이션

 

2.제 2정규형

제 2정규화 필요

  • 헬스 프로그램이 6000원에서 7000원으로 바꾼다면, 위와 같은 테이블은 수정의 비효율이 발생한다.
  • 현재 테이블(수강등록 현황)의 주제와 관련없는 컬럼(가격)을 다른 테이블로 빼는 작업

제 2정규화 적용. 제 2정규화 테이블

 

 

어려운 버전

  • partial dependency를 제거한 테이블
  • 빡통 버전: 현재 테이블의 핵심주제와 상관없는 컬럼을 다 제거한 테이블

*partial dependency: 하나의 Composite primary key에 종속.

가격 컬럼이 Composite primary key 중 하나인 '프로그램'에 종속 된 경우

 

 

3.제 3정규형

: 일반 컬럼(강사)에만 종속된 컬럼(잔챙이컬럼)은 다른 테이블로 빼기

 

 

제 3정규화 전,후

 


출처:

코딩애플, 데이터 정규화가 뭔지 설명해보세요(개발면접타임)

https://www.youtube.com/watch?v=Y1FbowQRcmI&t=19s

 

 

RDBMS Modeling 기초(인프런, 이교준)

https://www.inflearn.com/course/%EA%B4%80%EA%B3%84%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-rdbms

 

RDBMS Modeling 기초 - 인프런 | 강의

본 강좌는 데이터베이스 설계 이론을 실습 위주로 쉽게 풀어냈습니다. 책 등을 통해서 경험하신 분들은 대부분 데이터베이스 이론이 어렵다고 느끼고 포기하신 경험들이 있을 겁니다. 저도 그

www.inflearn.com