정규화 : 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다. 조금 더 이론적으로 접근해보면 함수적 종속성을 이용해서 연관성 있는 속성들을 분리하고, 각 릴레이션들에서 이상현상이 생기지 않도록 하는 과정을 말한다.
하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해 나가는 과정
https://minimax95.tistory.com/entry/%EC%A0%95%EA%B7%9C%ED%99%94Normalization-%EA%B0%9C%EB%85%90%EA%B3%BC-%EA%B8%B0%EB%B3%B8-%EA%B3%BC%EC%A0%95
출처 : https://www.youtube.com/watch?v=pMcv0Zhh3J0&ab_channel=SQL%EC%A0%84%EB%AC%B8%EA%B0%80%EC%A0%95%EB%AF%B8%EB%82%98
정리 :
제 1정규형
모든 속성은 반드시 하나의 값만 가져야 한다.
sns 에 인스타그램, 유투브 , 트위터 등 값이 여러개이면 안된다.
: 다중값을 가지는것은 제1정규형 위배 , 반복그룹을 가지는것도 1정규형 위배
---> 제 1 정규화 중복제거) 직원테이블과 sns 테이블로 나눈다
제2정규형 부분 종속
모든 속성은 반드시 모든 기본키에 종속되어야 한다. (기본 키 일부에만 종속되어서는 안됨 )
주문번호와 음료코드가 pk 인데 음료명은 음료코드속성에만 종속되고 주문번호에는 종속되지 않는다.
주문이 발생하지 않으면(주문번호가 없으먄 ) 음료 입력 불가 -> 입력이상
음료명이 변경될 경우 해당되는 주문 row update 가 필요 -> 수정 이상
음료 삭제시 주문까지 삭제 -> 삭제 이상
---> 제 2 정규화 시키기
제 3 정규형
기본키가 아닌 모든 속성간에는 서로 종속될 수 없다.
기본키에만 종속되고 아닌키들이 서로 종속 될 수 없다.
직원번호pk 인데 소속사번호도 있고 소속사명이 있으면 소속사명은 직원번호에 소속되는게 아니라 소속사번호에 소속되는것.
댓글
댓글 쓰기