일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SQL
- 숙제
- 2주차
- cors
- post
- 스파르타코딩클럽
- Transaction
- 노드 윈스턴
- 부트스트랩
- 3주차
- 비동기
- nginx
- 위키백과
- OpenAPI
- Node.js
- MongoDB
- Get
- 웹 스크래핑(크롤링)
- 항해99
- node winston
- Sequelize
- HTTPS
- JWT
- db
- 1주차
- 트랜잭션
- 개발일지
- 4주차
- 5주차
- NoSQL
Archives
- Today
- Total
얼음꽃의 일지
정규화 본문
728x90
정규화의 개념
- 정규화란 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해나가는 과정
- 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화하는 단계
- 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
- 정규형이란 특정 조건에 만족하는 릴레이션 스키마의 형태를 의미
- 기본 정규형에 1NF, 2NF, 3NF, BCNF가 있고 고급 정규형에는 4NF, 5NF 존재
* 릴레이션 : 테이블과 같은 의미로, 튜플과 속성으로 이루어짐
정규화의 목적
- 구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 함
- 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 구성
- 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 감소시키도록 함
- 자료 검색과 추출의 효율성을 추구
- 전체적인 성능 향상에 기여하기 위해서이다
정규화의 필요성
- 자료의 저장 공간을 최소화
- 자료의 불일치를 최소화
- 자료 구조를 안정화
- 자료의 삽입, 삭제, 갱신 시 이상 현상을 방지
정규화의 특징
- 어떤한 관계 구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공
- 정규화된 데이터 모델은 정확성, 일치성, 단수성, 비중복성, 안정성을 보장
정규화의 장단점
1. 장점
- 정규화 수준이 높으면 유연한 데이터 구축이 가능
- 정규화 수준이 높으면 데이터의 정확성이 높아짐
2. 단점
- 정규화 수준이 높으면 물리적 접근이 복잡
- 정규화 수준이 높으면 길이가 짧은 데이터 생성으로 많은 조인이 발생
정규화 과정
728x90
'항해 일지' 카테고리의 다른 글
Promise? 약속? (0) | 2022.12.18 |
---|---|
CORS 란? (0) | 2022.12.18 |
Array 와 Linked-List 차이 (0) | 2022.12.18 |
시간 복잡도와 공간 복잡도 (0) | 2022.12.18 |
var, let, const 삼총사 (0) | 2022.12.17 |