데이터 모델링
- 데이터를 데이터베이스로 옮기는 과정
- 개념적 데이터 모델 : 데이터베이스의 개념적 구조로 표현하는 도구(개체-관계 모델)
- 논리적 데이터 모델 : 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구(관계 데이터 모델)
- 데이터 모델 구성 : 데이터구조 / 연산 / 제약조건
개체-관계 모델(E-R Model)
- 개체와 개체 간 관계를 개념적 구조로 표현한 모델
- 개체-관계 다이어그램(E-R Diagram) : 개체-관계 모델을 그림으로 표현한 것
- 개체(Entity) : 조직을 운영하는 데 꼭 필요한 사람이나 사물 같이 구별되는 모든 것
- 다른 개체와 구별되는 이름과 고유한 특성이나 상태로 속성 하나 이상을 가지고 있음
- E-R 다이어그램에서 사각형으로 표현
- 개체 타입 : 개체를 고유의 이름이나 속성들로 정의한 것
- 개체 인스턴스 : 개체를 구성하고 있는 속성이 실제 값을 가지면서 실체화된 개체
- 개체 집합 : 특정 개체 타입에 대한 개체 인스턴스들의 집합
- 속성(Attribute) : 개체나 관계가 가지고 있는 고유의 특성
- 데이터의 가장 작은 논리적 단위
- E-R 다이어그램에서 타원으로 표현
- 단일 값 속성(Single-Valued Attribute) : 값을 하나만 가질 수 있는 속성
- 다중 값 속성(Multi-Valued Attribute) : 값을 여러 개 가질 수 있는 속성
- E-R 다이어그램에서 이중 타원으로 표현
- 유도 속성(Derived Attribute) : 다른 속성 값에 유도되어 결정되는 속성
- E-R 다이어그램에서 점선 타원으로 표현
- E-R 다이어그램에서 점선 타원으로 표현
- 단순 속성(Simple Attribute)
- 의미를 더는 분해할 수 없는 속성
- 복합 속성(Composite Attribute)
- 의미를 분해할 수 있는 속성
- 널 속성(Null Attribute) : 존재하지 않는 값인 널 값이 허용되는 속성
- 키 속성(Key Attribute) : 각 개체 인스턴스를 식별하는 데 사용하는 속성으로 모두 값이 다름
- E-R 다이어그램에서 밑줄로 표현
- 관계 : 개체와 개체가 맺고 있는 연관성, 개체 집합들 사이의 대응 관계, 매핑(mapping)
- E-R 다이어그램에서 마름모로 표현
- 관계에 참여하는 개체 타입의 수 기준 관계의 유형
- 이항 관계 : 개체 타입 두 개가 맺는 관계
- 삼항 관계 : 개체 타입 세 개가 맺는 관계
- 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계
- 매핑 카디널리티 기준 관계의 유형
- 매피 카디널리티 : 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
- 일대일(1:1) 관계
- 일대다(1:n)관계
- 다대다(n:m) 관계
- 관계의 참여 특성
- 필수적 참여(Mandatory) : 모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것
- E-R 다이어그램에서 이중선으로 표현
- 선택적 참여(Optional) : 개체 인스턴스 중 일부만 관계에 참여해도 되는 것
- 필수적 참여(Mandatory) : 모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것
- E-R 다이어그램에서 마름모로 표현
E-R 다이어그램
- 개체 : 사각형으로 표현
- 관계 : 마름모로 표현
- 속성 : 타원으로 표현
- 링크 : 선으로 연결
- 레이블 : 일대일, 일대다, 다대다 관계 표기
논리적 데이터 모델
- E-R 다이어그램으로 표현한 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조
- 데이터베이스의 스키마(Schema)와 같음
- 관계 데이터 모델 : 일반적으로 많이 사용되며, 2차원 테이블 형태
- 계층 데이터 모델 : 논리적 구조가 트리(tree) 형태
- 루트 역할하는 개체가 존재하고 사이클이 존재하지 않음, 상하 관계
- 두 개체 사이 하나의 관계만 정의할 수 있으며, 다대다 관계를 직접 표현할 수 없음
- 데이터 삽입, 삭제, 수정, 검색이 쉽지 않음
- 네트워크 데이터 모델 : 논리적 구조가 그래프(graph) 형태
- 개체 간 일대다 관계만 허용됨(owner : member)
- 다대다 관계를 직접 표현할 수 없음
- 구조가 복잡하고 데이터 삽입, 삭제, 수정, 검색이 쉽지 않음
참고문헌
김연희, 『데이터베이스 개론』, 2판, 한빛아카데미, 2019
Ghost