데이터 모델링과 데이터 모델의 개념
데이터 모델링
데이터 모델링(Data Modeling)
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 데이터베이스 설계의 핵심 과정
2단계 데이터 모델링
- 개념적 데이터 모델링(Conceptual Modeling): 현실 세계의 데이터를 추출하여 개념 세계로 옮기는 작업
- 논리적 데이터 모델링(Logical Modeling): 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
데이터 모델
데이터 모델(Data Model)
- 데이터 모델링의 결과물을 표현하는 도구
- 개념적 데이터 모델: 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
- ex. 개체 - 관계 모델
- 논리적 데이터 모델: 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
- ex. 관계 데이터 모델
데이터 모델의 구성
- 연산 (Operation)
- 데이터 구조 (Data Structure)
- 제약조건 (Constraint)
개체 - 관계 모델
개체 - 관계 모델 (E-R model)
개체 - 관계 모델 (Entity-Relationship model)
- 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 개체 - 관계 다이어그램 (E-R Diagram): 개체 - 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과를 그림으로 표현
- 핵심 요소: 개체, 속성, 관계
개체 (Entity)
개체 (Entity)
- 저장할 가치가 있는 중요 데이터를 가진 사람이나 사물, 개념, 사건 등 구별되는 모든 것
- 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 갖고 있음
- 파일 구조의 레코드(Record)와 대응됨
- 개체의 E-R 다이어그램 표현: 사각형으로 표현하고 사각형 안에 이름을 표기
개체 타입(Entity Type)
- 개체를 고유의 이름과 속성들로 정의한 것
- 파일 구조의 레코드 타입(Record Type)에 대응됨
개체 인스턴스(Entity Instance)
- 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 ㄱ ㅐ체
- 개체 어커런스(Entity Occurance)라고도 함
- 파일 구조의 레코드 인스턴스에 대응됨
개체 집합(Entity Set)
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
개체의 E-R 다이어그램 표현: 사각형으로 표현하고 사각형 안에 이름을 표기
속성 (Attribute)
속성 (Attribute)
- 개체나 관계가 가지고 있는 고유의 특성
- 의미 있는 데이터의 가장 작은 논리적 단위
- 파일 구조의 필드(field)와 대응됨
- 속성의 E-R 다이어그램 표현: 타원으로 표현하고 타원 안에 이름을 표기
속성의 분류
속성 값의 개수
- 단일 값 속성 (single-valued attribute): 값을 하나만 가질 수 있는 속성
- 다중 값 속성 (multi-valued attribute): 값을 여러 개 가질 수 있는 속성
- E-R 다이어그램에서 이중 타원으로 표현
의미의 분해 가능성
- 단순 속성 (simple attribute): 의미를 더는 분해할 수 없는 속성
- 복합 속성 (composite attribute): 의미를 분해할 수 있는 속성
기존 속성 값에서 유도
- 유도 속성 (derived attribute): 기존의 다른 속성 값에서 유도되어 결정되는 속성, 값이 별도로 저장되지 않음
- E-R 다이어그램에서 점선 타원으로 표현
널 속성 (null attribute)
- 널 값이 허용되는 속성
- 널 (null) 값: 아직 결정되지 않았거나 모르는 값 또는 존재하지 않는 값, 공백이나 0과는 의미가 다름
키 속성 (key attribute)
- 각 개체 인스턴스를 식별하는 데 사용되는 속성
- 모든 개체 인스턴스의 키 속성 값이 다름
- 둘 이상의 속성들로 구성되기도 함
- E-R 다이어그램에서 밑줄로 표현
관계 (Relationship)
관계 (Relationship)
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미
- E-R 다이어그램 표현: 마름모
관계의 유형: 관계가 참여하는 개체 타입 수 기준
- 이항 관계: 개체 타입 두 개가 맺는 관계
- 삼항 관계: 개체 타입 세 개가 맺는 관계
- 순환 관계: 개체 타입 하나가 자기 자신과 맺는 관계
관계의 유형: 매핑 카디널리티 기준
- 매핑 카디널리티(mapping cardinality): 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
- 일대일(1:1) 관계
- 일대다(1:N) 관계
- 다대다(N:M) 관계
관계의 참여 특성
- 필수적 참여(전체 참여): 모든 개체 인스턴스가 관계에 반드시 참여해야 되는 것
- E-R 다이어그램에서 이중선으로 표현
- 선택적 참여(부분 참여): 개체 인스턴스 중 일부만 관계에 참여해도 되는 것
관계의 종속성
- 약한 개체(weak entity): 다른 개체의 존재 여부에 의존적인 개체
- 약한 개체는 강한 개체의 키를 포함하여 키를 구성함
- 약한 개체는 강한 개체와의 관계에 필수적으로 참여함
- E-R 다이어그램에서 이중 사각형으로 표현, 약한 개체가 강한 개체와 맺는 관계는 이중 마름모로 표현
- 강한 개체(strong entity): 다른 개체의 존재 여부를 결정하는 개체
- 강한 개체 : 약한 개체 = 1 : N
논리적 데이터 모델
논리적 데이터 모델의 개념
- E-R 다이어그램에서 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조
- 데이터 베이스의 논리적 구조 = 데이터 베이스 스키마 (Schema)
- 사용자가 생가가하는 데이터베이스의 모습 또는 구조
논리적 데이터 모델의 종류
관계 데이터 모델
- 일반적으로 많이 사용되는 논리적 데이터 모델
- 데이터 베이스의 논리적 구조가 2차원 테이블 형태이다.
계층 데이터 모델
- 데이터 베이스의 논리적 구조가 트리 형태
- 루트 역할을 하는 개체가 존재하고, 사이클이 존재하지 않음
- 개체 간에 상하 관계 성립
- 부모 개체 : 자식 개체 = 1 : N
- 다대다(N:M) 관계를 직접 표현할 수 없음
- 개념적 구조를 모델링하기 어려워 구조가 복잡해질 수 있고, 데이터의 삽입·삭제·수정·검색이 쉽지 않음
네트워크 데이터 모델
- 데이터 베이스의 논리적 구조가 네트워크, 즉 그래프 형태
- 개체 간에는 일대다(1:N) 관계만 허용됨
- 오너(owner): 멤버 = 1:N
- 두 개체 사이에 여러 관계를 정의할 수 있어 이름으로 구별함
- 다대다(N:M) 관계를 직접 표현할 수 없음
- 구조가 복잡하고 데이터의 삽입·삭제·수정·검색이 쉽지 않음
'CS > 데이터베이스' 카테고리의 다른 글
6. SQL 기본 문법 (1) | 2023.11.18 |
---|---|
05. 관계 데이터 연산 (0) | 2023.11.09 |
Week3 오라클과 MySQL (0) | 2023.10.30 |
Week2: 관계 데이터 모델 (0) | 2023.10.21 |
01. 데이터베이스 시스템 개요 (0) | 2023.10.12 |