01. 데이터 모델링 개념과 데이터 모델의 개념
데이터 모델링
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 개념적 모델링
- 중요 데이터를 추출해 개념 세계로 옮기는 작업
- 논리적 모델링
- 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업
데이터 모델
- 데이터 모델 = 데이터 구조 + 연산 + 제약 조건
- 데이터 구조
- 어떤 요소로 이루어져 있는지를 표현하는 개념적 구조 OR 어떤 모습으로 저장할 것인지를 표현하는 논리적 구조
- 연산
- 제약 조건
- 구조적 OR 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항
종류
- 개념적 데이터 모델
- 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 DB의 개념적 구조로 표현하는 구조
- EX) 개체-관계 모델(E-R Model)
- 논리적 데이터 모델
- 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현한 도구
- EX) 관계데이터 모델(relational data model)
모델링 VS 데이터 모델
--------------------
모델링
* 현실 세계의 복잡한 현상이나 시스템을 단순화*추상화하여 표현하는 행위
* 목적 : 실제를 직접 다루기엔 복잡하므로, 이해*분석*설계하기 쉽게 모델을 만드는 것
* 예시 : 도시 교통 상황을 네트워크 다이어그램으로 표현, 회사 조직 구조를 조직도 그림으로 표현
데이터 모델
* 모델링 중에서 데이터와 그 관계를 표현한 모델
* 즉, 현실 세계의 데이터를 컴퓨터가 이해할 수 있는 데이터베이스 구조로 추상화한 결과물
* 구성 요소 : 개체, 속성, 관계
=>
즉, 모델링은 현실 세계를 단순화*추상화하여 모델을 만드는 과정
데이터 모델은 위 과정에서 나온 건물 설계도
02. 개체-관계 모델
개체(entitiy)
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
- 다른 개체와 구별되는 이름
- 각 개체만의 고유한 특성이나 상태, 즉 속성 하나 이상 가짐
개체 타입(entitiy type)
개체 인스턴스(entitiy instance)
- 개체를 구성하고 있는 속성이
실제 값을 가짐으로써 실체화된 개체
개체 집합
- 특정 개체 타입에 대해 개체 인스턴스들을 모아 놓은 것