티스토리 뷰
728x90
정규화란, 데이터를 쪼개는 것
이상현상
테이블(릴레이션)에 데이터 삽입시 불필요한
NULL이 삽입되거나 삭제시 연쇄 삭제 현상이 발생하거나 혹은 수정 시 데이터의 일관성이 깨지는현상
- 삽입이상
- 삭제이상
- 수정이상
함수적 종속성
X는 결정자, Y는 종속자 라고 한다
학번에 의해 학생이름과 학부가 고유하게 구분가능한 경우
학생이름 학부속성은 함수적으로 종속되어있고
학번은 결정자가 된다.
부분 함수적 종속
이름은 학번과 과목코드로 결정될 수 있지만.. 학번만으로도 이름을 결정 할 수 있음
완전 함수적 종속
성적은 {학번과 과목코드}를 한번에 가지고 있어야 구분이 가능한것
정규화(normalization)
제 1 정규화 - 도메인의 원자성, 하나의 셀에는 하나의 값만
제 2 정규화 - 한테이블 안에 종속관계가 있을경우 별도의 테이블로 분리한다, 데이터 중복을 삭제한다.
제 3 정규화 - 까지만해도 이상현상은 없다.. 이행적 함수 종속이 아닐 때 제 3정규형에 속한다 즉 2차 정규화가 끝난 상태에서 기본키가 아닌 열끼리 종속관계가 있을 경우 이를 별도의 테이블로 분리 한것.
주문 도서(X) -> 주문회원(Y) -> 회원(Z)
제 4 정규화, 제 5정규화
- 데이터의 정확성이 높아지는 장점이 있다.
- 물리적 접근이 복잡해지고(한참 찾아 들어가야해..) 짧은데이터(너무 쪼개다보니까) 가 발생한다
- 데이터에 많은 LOCK이 발생하거나 길이가 긴 데이터가 발생하는 단점도 존재한다.
- 쪼갠걸 다시 합치는 걸 비정규화라고 한다
'DB > SQL' 카테고리의 다른 글
[SQL요점정리#5] 제약조건(CONSTRAINT) (0) | 2021.08.19 |
---|---|
[SQL요점정리#4] 데이터 정의하기 (0) | 2021.08.18 |
[SQL요점정리#2] 데이터 모델링의 3단계 (특징, 중요성) (0) | 2021.08.17 |
[SQL요점정리#1] SQL 기본 다지기 (0) | 2021.08.14 |
21년 제42회 SQLD 시험 안내 및 교재 추천 (0) | 2021.08.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Java
- 프레임워크란
- map
- SET연산자
- 리츠란
- 스프링
- tkgiddl
- 등산로API
- 스프링개념
- select사용법
- 등산앱개발
- 하이브리드앱만들기
- Spring프로젝트
- 정규화
- 앱만들기
- 등산웹개발
- SQLD
- 모바일웹만들기
- static
- 등산어플
- 쉬운개념
- 프레임워크
- 모바일앱만들기
- 컬렉션프레임워크
- 라이브러리란
- 추상클레스
- 스프링부트
- JAVA프로젝트
- SQL
- 프레임워크 라이브러리 차이점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함