728x90
목차
1. 중복정보 제거
2. 정규형
3. 참조무결성

 

1. 중복정보 제거

중복정보 제거

  • 테이블 간의 정보는 중복되지 않아야 함
  • 이를 위해 정규화(Normalization)을 통해 중복성 제거

—> 일반적으로 3정규형까지 적용한 것을 정규화되었다고 말한다.

  • 중복성 제거 후 필요한 정보는 외래키를 통한 조인(JOIN)을 통해 필요한 정보를 구한다.
alter table city add column CountryName varchar(255);

 

 

2. 정규형

정규형

중복을 제거하기 위한 테이블 정의 규칙

  • 제 1 정규형 : 나눌 수 있을 만큼 쪼개라.
  • 제 2 정규형 : 테이블의 컬럼들이 기본키와 직접 연관되는 컬럼만으로 구성하라.
  • 제 3 정규형 : 컬럼들 간의 종속관계가 있으면 안됨.

 

제 1 정규형

나눌 수 있을 만큼 쪼개라

 

제 2 정규형

테이블의 컬럼들이 기본키와 직접 연관되는 컬럼만으로 구성하라.

 

제 3 정규형

컬럼들 간의 종속관계가 있으면 안 됨

 

3. 참조무결성

참조무결성(Referential Integrity)

  • 외래키(FK)에 적용되는 규칙
  • 외래키와 참조되는 원래 테이블의 키와 관계를 명시
  • 외래키를 참조하면 원래 테이블에 해당 레코드 값이 반드시 존재해야함
  • 만약 원래 레코드를 삭제하려면 참조한느 외래키(FK)값을 먼저 NULL로 만들어야 함
  • 외래키 참조관계가 있을 경우에 레코드 추가/삭제 시 선후관계를 나타냄
insert into country (Code, Name) values (‘ZZZ’, ‘ZZZ’);
insert into city (Name, countryCode) values (‘YYY’, ‘ZZZ’);

delete from city where Name=‘YYY’ and CountryCode=‘ZZZ’;
delete from country where Code=‘ZZZ’ and Name=‘ZZZ’;
728x90

+ Recent posts