[DAY - 105] SQL 정규화

2023. 8. 1. 21:43·🔥 부트캠프-웹 개발 🔥/MYSql

정보처리산업기사, 데이터베이스 과목을 공부하면서 배웠던 정규화를 실무에서 어떻게 적용시키는지 배웠다.

 

1) 정규화 정의

 

데이터베이스 정규화는 데이터 중복을 제거하는 과정이다.

이를 통해서 이상현상을 방지하고 데이터의 유지 보수성을 향상할 수 있다.

 

 

2) 1NF (1차 정규화)

 

1차 정규화는 열에 하나의 값만 들어가게 분리하는 것이다.

 

 

1정규화 전
1정규화 후

 

3) 2NF (2차 정규화)

 

1차 정규화가 끝난 뒤 주요키(기본키)가 2개 이상 존재하지 않게 분리하는 것이다.

 

2정규화 전
2정규화 후

 

 

4) 3NF (3차 정규화)

 

학생 테이블에 과목코드, 담당 교수는 과목 테이블에 있어야 할 내용들이다.

따라서 아래와 같이 기본키가 될 수 있는 과목을 기준으로 하나의 테이블을 더 만들어 분리한다.

 

3정규화 전
3정규화 후

 

'🔥 부트캠프-웹 개발 🔥/MYSql' 카테고리의 다른 글
  • [DAY - 104] SQL 복습
  • [DAY - 46] INSTR, CONVERT / CAST, ROUND / CEIL / FLOOR / ABS, LEAST / GREATEST, MAX / MIN / SUM / AVG / COUNT, POW / POWER / SQRT, TURNCATE, md5, NOW(), DATE_ADD, DATE_FORMAT
  • [DAY - 45] DESC, DISTINCT, NULL, 우선순위, 데이터 검색 예제
  • [DAY - 44] sql 정의어, 조작어, 조건 SELECT, WHERE
Yeonhub
Yeonhub
✨ https://github.com/yeonhub 📧 lsy3237@gmail.com
  • Yeonhub
    비 전공자의 Be developer
    Yeonhub
  • 전체
    오늘
    어제
    • 전체보기 (169)
      • 🔍 Tech 🔍 (19)
        • Front-End (11)
        • Back-End (4)
        • AI (1)
        • Server (1)
        • Etc (2)
      • 💡 원티드 프리온보딩 챌린지 💡 (14)
        • PRE-ONBOARDING_AI (11월) (1)
        • PRE-ONBOARDING_FE (2월) (2)
        • PRE-ONBOARDING_FE (1월) (2)
        • PRE-ONBOARDING_FE (12월) (9)
      • 🔥 부트캠프-웹 개발 🔥 (118)
        • HTML5 (7)
        • CSS3 (21)
        • JavaScript (27)
        • JavaScript_advanced (9)
        • React (24)
        • Next (1)
        • MYSql (5)
        • Node (5)
        • 오늘하날(개인프로젝트) (12)
        • 이젠제주투어(팀프로젝트) (7)
      • 💻 CS 💻 (1)
        • 알고리즘 (1)
      • ⚡ 코딩테스트 ⚡ (11)
        • JavaScript (11)
      • 📚 Books 📚 (6)
        • 클린 아키텍처 (2)
        • 인사이드 자바스크립트 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    라스콘4
    react vite
    expo deep linking
    expo fcm push
    컴파운드 컴포넌트 패턴
    python node
    react native bottom sheet
    react native analytics
    expo map
    bottom sheet
    node crontab
    javascript fcm
    expo 지도
    node.js fcm
    expo node fcm
    react native firebase analytics
    expo 길찾기
    php node
    rn admob
    expo google map
    expo admob
    Node
    react native expo fcm
    react native admob
    rn bottom sheet
    라스콘
    expo fcm
    node cron
    node fcm
    프론트엔드 테스트코드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Yeonhub
[DAY - 105] SQL 정규화
상단으로

티스토리툴바