DB/DB 모델링

[DB/DB모델링] 정규화

2023. 3. 24. 12:12
목차
  1. 1.개요
  2. 1.1.정규화(Normalization)이란?
  3. 1.1.1.제1 정규화
  4. 1.1.2.제2 정규화
  5. 1.1.3.제 3정규화
  6. 2.정규화가 필요없은 설계기법
  7. 2.1 장부나 전표에서 머리부(header)와 서술부(detail)는 별도의 엔티티에 저장한다.
  8. 2.2. 코드-코드값의 관계(종속 관계)에 있는 속성들은 별도의 엔티티로 구성(엔티티에 포함된 종속관계가 이에 해당)

1.개요

1.1.정규화(Normalization)이란?

  • ERD내에서 중복요소를 찾아내 제거하는 과정
  • 3차 정규화까지만 알아도 무리없다.
  • 몇 가지 원칙을 지키면 정규화가 필요없는 ERD를 설계할 수 있다.

1.1.1.제1 정규화

  • 엔티티에서 하나의 속성이 여러개의 값을 갖도록 설계되어있을 때 하나의 속성이 하나의 값을 갖도록 설계를 변경하는 과정

정규화 이전
제 1정규화 이후

정규화 예제

 

 

정규화 이전

 

정규화 이후

 

 

1.1.2.제2 정규화

  • 주식별자에 종속된 속성을 제거한다.(PK와 연관있음)

 

정규화 예시

 

 

1.1.3.제 3정규화

  • 주식별자가 아닌 속성들 중에서 종속관계에 있는 속성을 제거 (PK와 연관 없음)

 

 

2.정규화가 필요없은 설계기법

2.1 장부나 전표에서 머리부(header)와 서술부(detail)는 별도의 엔티티에 저장한다.

 

2.2. 코드-코드값의 관계(종속 관계)에 있는 속성들은 별도의 엔티티로 구성(엔티티에 포함된 종속관계가 이에 해당)


출처

  • Database 11. Normalization I (https://www.youtube.com/watch?v=yKgrwFoyowI&list=PL9hiYwOHVUQcRkS4XRnsrgPIRih9H7L32&index=11&ab_channel=Jacob%27sLecture)
  • Database 12. Normalization II (https://www.youtube.com/watch?v=M7Ilc4RzZ1k&list=PL9hiYwOHVUQcRkS4XRnsrgPIRih9H7L32&index=12&ab_channel=Jacob%27sLecture)

 

 

 

 

 

 

'DB > DB 모델링' 카테고리의 다른 글

[DB 모델링] 정규화  (0) 2023.11.25
[DB/DB모델링] 논리적 모델링과 물리적 모델링 개념개괄  (0) 2023.03.25
[DB/DB모델링] 정보시스템 구축과 DB 설계  (0) 2023.03.25
[DB/DB모델링]Primary Key, Foreign Key  (0) 2023.03.25
  1. 1.개요
  2. 1.1.정규화(Normalization)이란?
  3. 1.1.1.제1 정규화
  4. 1.1.2.제2 정규화
  5. 1.1.3.제 3정규화
  6. 2.정규화가 필요없은 설계기법
  7. 2.1 장부나 전표에서 머리부(header)와 서술부(detail)는 별도의 엔티티에 저장한다.
  8. 2.2. 코드-코드값의 관계(종속 관계)에 있는 속성들은 별도의 엔티티로 구성(엔티티에 포함된 종속관계가 이에 해당)
'DB/DB 모델링' 카테고리의 다른 글
  • [DB 모델링] 정규화
  • [DB/DB모델링] 논리적 모델링과 물리적 모델링 개념개괄
  • [DB/DB모델링] 정보시스템 구축과 DB 설계
  • [DB/DB모델링]Primary Key, Foreign Key
각시탈코더
각시탈코더
각시탈코더
각시탈코더
각시탈코더
전체
오늘
어제
  • 분류 전체보기 (203)
    • java (46)
      • 객체지향 (20)
      • 기본문법 (8)
      • 자바의 정석 연습문제 오답노트 (9)
      • 백준 알고리즘 (9)
    • Spring (17)
      • SpringMVC (8)
      • Spring DI와 AOP (5)
      • REST API와 Ajax (1)
      • Spring 프로젝트 (1)
      • Spring Security (0)
    • DB (47)
      • Oracle (15)
      • SQL오답노트 (25)
      • 튜닝 (0)
      • ERD (1)
      • DB 모델링 (5)
    • Servlet & JSP (3)
    • JDBC (2)
      • 기본 (1)
      • 스프링JDBC (1)
    • MyBatis (2)
    • JavaScript (2)
      • 코딩애플 (0)
      • 문법 (1)
    • React (0)
      • 코딩애플 (0)
    • HTML (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • CSS (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • Linux (0)
    • Git & GitHub (2)
      • Git (1)
    • CS (19)
      • 네트워크 (6)
      • HTTP (7)
      • 컴퓨터구조 (0)
      • 자료구조와 알고리즘 (2)
      • 기타 (4)
    • 개발설정 (2)
    • 기술면접 (0)
      • JAVA (0)
      • Spring (0)
      • DB (0)
      • 네트워크 (0)
      • 공통 (0)
    • 프로젝트 (2)
      • 게시판만들기 (2)
    • 기혁씨의 삽질표류기 (28)
    • 참고자료 (2)
      • 국비수업 (0)
      • 당당 프로젝트 (1)
    • 뉴렉처 (17)
      • 자바 (11)
      • 자바스크립트 (3)
      • 키워드 (0)
      • 숙제 (0)
      • CSS (0)
      • DB (3)
      • 서블릿 (0)
      • 스프링 (0)
      • DOM (0)
    • 내가 만든 학습그림 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바의정석기초편
  • Java
  • 알고리즘
  • SQL
  • 백준
  • 코딩
  • 백엔드
  • 에러
  • 객체지향
  • It
  • 웹프로그래밍
  • 쿼리
  • 오류
  • 오라클
  • 자바의정석
  • 국비수업
  • 연습문제
  • 네트워크
  • db
  • 프로그래머스
  • 스프링
  • 배열
  • 개발자
  • Oracle
  • spring
  • 자바
  • 모두의네트워크
  • 뉴렉처
  • 서브쿼리
  • 공부

최근 댓글

최근 글

hELLO · Designed By 정상우.
각시탈코더
[DB/DB모델링] 정규화
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.