250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Database
- node.js
- zipfile
- fileinput
- inplace()
- View
- choice()
- 파이썬
- items()
- remove()
- MySqlDB
- CSS
- fnmatch
- count()
- shuffle()
- decode()
- mro()
- __sub__
- __getitem__
- JS
- discard()
- __annotations__
- __len__
- randrange()
- HTML
- 오버라이딩
- MySQL
- locals()
- shutil
- glob
Archives
- Today
- Total
흰둥이는 코드를 짤 때 짖어 (왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!)
(MySQL) 정규화 본문
728x90
반응형
데이터 정규화
- 데이터 베이스를 설계할 때 중복을 최소화하는 것
- 크고 조직화되아 있지 않은 테이블과 관계들을 조직화 된 테이블과 관계들로 나누는 것
데이터 정규화가 필요한 경우
- 데이터를 갱신, 삽입, 삭제하는 등 테이블을 수정할 때 원하지 않게 데이터가 삭제되거나 가공되는 일이 발생하는데 이를 '이상 현상'이라고 함
- 이상 현상이 발생하는 경우 데이터 정규화가 반드시 필요
정규화의 종류
- 1NF(제 1정규화)
- 테이블 안의 모든 값들은 단일 값이어야 함

로우에서 한 컬럼안에 값을 복수로 넣지 않고 로우를 나눈다.
- 2NF(제 2정규화)
- 1NF를 만족하면서, 완전 함수 종속성을 가진 관계들로만 테이블을 생성하는 것
- 종속성들 중 종속 관계에 있는 열들끼리 테이블을 구분해주는 것
- ✅ 함수 종속성
x값에 따라서 y값이 결정되는 경우


- 3NF(제 3정규화)
- 2NF를 만족하면서, 기본키에 대해 이행적 함수 종속이 되지 않는 것을 의미


- 비정규화
- 정규형에 일치하게 되어 있는 테이블을 정규형을 지키지 않는 테이블로 만드는 것
- 테이블을 조회하는 용도로 사용하거나, 너무 데이터가 많이 나뉘어 성능이 저하된다면 비정규화를 하여 테이블을 다루는 것이 더 효율적일 수 있음
- 어떤 작업을 수행하는지, 어떤 데이터를 사용하는지 에 따라 적절한 정규화를 하는 것이 좋음
728x90
반응형
'MySQL' 카테고리의 다른 글
(MySQL) 기초 문법(유니온) (1) | 2023.03.20 |
---|---|
(MySQL) 기초 문법(auto_increment) (0) | 2023.03.20 |
(MySQL) 기초 문법(외래키, 조인) (1) | 2023.03.20 |
(MySQL) 기초 문법(Read, 연산자) (0) | 2023.03.16 |
(MySQL) 기초 문법(database, Create, Update, Delete) (0) | 2023.03.16 |