728x90
반응형
1. ERD
- ERD(Entity Relationship Diagram)는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하고 릴레이션 간의 관계들을 정의한 것이다.
- ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축한다.
- 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다.
- ERD 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용하다는 장점을 가지고 있다.
- 하지만 비정형 데이터를 충분히 표현할 수 없다는 단점을 가지고 있다.
*비정형 데이터란? 비구조화 데이터를 말하며, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보를 말한다. |
2. 정규화 과정
- 정규화 과정은 릴레이션 간의 잘못된 종속 관계로 인해 데이터베이스 이상 현상이 일어나서 이를 해결하거나 저장공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정이다.
- 정규화 과정은 정규형 원칙을 기반으로 정규형을 만들어가는 과정이다.
- 정규화된 정도는 정규형으로 표현한다.
3. 정규형 원칙
- 정규형의 원칙이란 데이터베이스 설계에서 데이터 중복을 최소화하고 일관성을 유지하기 위한 규칙들의 집합이다.
- 주로 관계형 데이터베이스에서 사용되며, 데이터의 구조와 관계를 표현하기 위해 사용되는 정규화라는 프로세스의 결과물이다.
3.1 제1정규형
- 릴레이션의 모든 도메인이 더 이상 분해될 수 없는 원자 값(atomic value)만으로 구성되어야 한다.
- 릴레이션의 속성 값 중에서 한 개의 기본키에 대해 두 개 이상의 값을 가지는 반복 집합이 있으면 안 된다.
3.2 제2정규형
- 제2정규형은 릴레이션이 제1정규형이며 부분 함수의 종속성을 제거한 형태를 말한다.
- 부분 함수의 종속성 제거란 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속적인 것을 말한다.
- 릴레이션을 분해할 때 동등한 릴레이션으로 분해해야 한다.
- 정보 손실이 발생하지 않는 무손실 분해로 분해되어야 한다.
3.3 제3정규형
- 제2정규형이고 기본키가 아닌 모든 속성이 이행적 함수 종속을 만족하지 않는 상태를 말한다.
3.4 이행적 함수 종속
- 데이터베이스의 테이블에서 어떤 속성들이 다른 속성들에 종속되는 관계를 나타내는 것을 의미한다.
- 이 종속 관계는 함수적 종속과 전이적 종속으로 나뉜다.
- 예를 들어, 테이블에서 "학번"이라는 속성이 "학과"라는 속성에 전이적으로 종속되고, "학과"가 다시 "학과장"이라는 속성에 함수적으로 종속된다면, "학번"을 알면 "학과장"을 알 수 있다.
4. 함수적 종속
- 함수적 종속은 한 속성이 다른 속성에 종속되는 관계를 말한다.
- 예를 들어, 테이블에서 "학번"이라는 속성이 "이름"이라는 속성에 함수적으로 종속된다면, "학번"을 알면 "이름"을 알 수 있습니다.
5. 전이적 종속
- 전이적 종속은 함수적 종속의 확장으로, 한 속성이 다른 속성에 종속되지만 중간에 다른 속성을 거쳐서 종속되는 관계를 말한다.
- 예를 들어, 테이블에서 "학번"이라는 속성이 "학과"라는 속성에 전이적으로 종속되는 경우, "학번"을 알면 "학과"를 알 수 있지만, "학과"를 알아도 바로 "학번"을 알 수는 없고 중간에 다른 속성을 거쳐야 한다.
6. 보이스/코드 정규형
- 보이스/코드 정규형(BCNF)은 제3정규형이다.
- 결정자가 후보키가 아닌 함수 종속 관계를 제거하여 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키인 상태를 말한다.
*결정자란? 함수 종속 관계에서 특정 종속자(dependent)를 결정짓는 요소이다. |
728x90
반응형
'CS > Database' 카테고리의 다른 글
[DataBase] 데이터베이스와 테이블 관리하기 (1) | 2024.03.10 |
---|---|
[Database] 트랜잭션과 무결성 (0) | 2023.05.19 |
[Database] 데이터베이스의 기본 (2) (0) | 2023.04.12 |
[Database] 데이터베이스의 기본 (1) (0) | 2023.04.09 |