728x90
1. 정규화란?
데이터를 보호하고 중복성과 일관성 없는 종속성을 제거하여 데이터베이스를 보다 유연하게 만들기 위해 설계된 규칙에 따라 테이블을 만들고 해당 테이블 간에 관계를 설정하는 것이다.
2. 정규화를 해야하는 이유
▪️ 잘못된 데이터베이스 설계는 이상현상을 일으킨다.
CRUD 작업이 빈번하게 일어날때, 삭제이상/삽입이상/수정이상이 일어날 수 있다.
이는 데이터 무결성에 영향을 미친다.
▪️` 데이터 중복을 최소화 해야한다. 그래야 저장 공간을 절약하고 쿼리 성능을 향상 시킬 수 있다.
▪️ 정규화가 잘 된 데이터베이스는 개발 및 관리가 용이하다. ( 유지보수성 향상 )
3. 데이터베이스에 사용되는 다양한 키(Key)들
1️⃣슈퍼키
- 테이블 내의 한 행을 고유하게 식별할 수 있는 키.
💡유일성 : 유일하게 식별할 수 있는 성질. ( 하나 이상의 속성 )
2️⃣후보키
- 기본키로 선택될 수 있는 속성
💡최소성 : 테이블 내의 모든 행을 유일하게 식별할 수 있는 최소한의 키.
3️⃣기본키
- 중복을 허용하지 않는다.
- NOT NULL이다.
4️⃣대체키
- 후보키 중에서 기본키로 선택되지 않은 키.
- 유일성과 최소성을 모두 만족하지만, 어떤 이유로든 기본키로 선정되지 않은 키.
5️⃣외래키
- 다른 테이블의 기본키나 후보키를 참조하여 관계형 데이터베이스의 연결성을 강화한다.
4. 1NF ~ 3NF 정규화 설명
728x90
'RDBMS > Oracle' 카테고리의 다른 글
[과제] select 연습문제 풀이 (0) | 2023.12.29 |
---|