SQL(6) - 모델링
2022, Aug 23
모델링
- 데이터베이스의 구조나 형식으로 모델 구조만 보고 어떤 데이터를 다루는지 알 수 있음
- 개념적 데이터 모델링
- 데이터의 요구사항을 찾고 분석하는 과정, 핵심 개체(Entity) 사이의 관계를 찾아내고 표현
- 논리적 데이터 모델링
- 데이터베이스 설계 프로세스의 과정으로 정보의논리적인 구조와 규칙을 명확하게 표현하는 기법/과정
- 물리적 데이터 모델링
- 논리적 데이터 모델이 데이터 저장소로서 어떻게 실제로 저장될 것인가
-
ERD(Entity Relation Diagram) - 개체 관계 모델
-
주요 용어
-
엔터티(Entity) : 업무가 관여하는 정보
-
속성(Attribute) : 엔터티가 가지는 성격, 데이터 타입과 크기 및 제약사항 지정
-
관계(Relationship) : Entity 간의 관계, 연관성
- 카디널리티(Cardinality) : 수적 관계
- 1:1 관계 : A는 B를 하나 가진다. B는 A를 하나 가진다.
- 1:N 관계 : A는 B를 여러 개 가진다. B는 A의 하나에 해당한다.
- M:N 관계 : A는 B를 여러 개 가진다. B는 A를 여러 개 가진다.
- 옵셔널리티
- (1) 필수
- (0) 선택
- 카디널리티(Cardinality) : 수적 관계
-
정규화
데이터베이스 테이블을 설계하는 과정에서 중복성을 제거하여 성능을 향상시키는것
- 정규화의 종류
- 제1정규화 : 도메인 원자값
- 한 속성에 여러 개의 속성이 포함. 같은 유형의 속성이 여러 개로 나눠져 있는 경우 제거
- 제2정규화 : 부분적 함수 종속성 제거
- PK가 아닌 모든 칼럼은 PK에 종속되도록 구성
- 제3정규화 : 이행적 함수 종속성 제거(X -> Y, Y -> Z)
- 일반 속성 간의 함수 종속 관계가 존재하지 않아야 함
- 제1정규화 : 도메인 원자값