IT/SQL
MySQL[10] - 중복정보 수정, 정규형, 참조무결성
올빼밋.
2022. 5. 29. 15:24
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