데이터 모델링의 개념과 ER 모델 기초
소프트웨어 개발 개념DB

데이터 모델링이란?
현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
을 뜻한다.
데이터 모델링의 과정
- 1.저장할 대상(객체)를 분석/관찰하여 중요한 데이터를 찾아낸다 >> 추상화
- 2.찾아낸 데이터를 데이터베이스에 어떤 구조로 저장할지 결정하고 저장한다
2단계 데이터 모델링
1. 개념적 데이터 모델링
현실 세계의 중요 데이터를 추출하여 개념 세계로 옮김
- 저장할 대상(객체)을
분석하고 관찰
중요한 데이터를 식별
하고 불필요한 세부 사항은 제외함
2. 논리적 데이터 모델링
개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
- 찾아낸 데이터를 데이터베이스에
어떤 구조로 저장할지 결정
함. - 엔티티, 속성, 관계를 정의함
- 데이터 무결성과 제약 조건같은 추가 조건도 정의함
데이터 모델 (data model)
데이터 모델링의 결과물을 표현하는 도구
이다
개념 정의로만 보면 어려울 수 있지만 데이터가 어떤 구조로 저장되고, 어떻게 서로 관련이 있는지 표시한 설계도라고 이해하면 편하다.
또한 데이터 모델링도 2가지 종류로 나뉜다
개념적 데이터 모델
현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구이다

개체-관계(ER) 모델
이다
논리적 데이터 모델
개념적 구조를 논리적으로 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구이다

위 사진은 논리적 데이터 모델중 하나인 관계형 데이터 모델
이다
ER(개체-관계) 모델
개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현한 것이다.

개체 (entity)
꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
이다
- 저장할 가치가 있는 중요한 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등등을 포함한다
- 다른 개체와 구별되는 이름을 가져야 하며, 속성이 적어도 1개 이상이다
사각형으로 표현
한다
속성 (attribute)
개체나 관계가 가지고 있는 고유한 특성
이다
- 의미 있는 데이터의 가장 작은 논리적 단위이다
- ER다이어그램에서 타원으로 표현하고 타원 내부에 이름을 표기한다
- 해당하는
개체와 실선으로 연결
한다
관계 (relationship)
개체와 개체가 맺고 있는 의미 있는 연관성
을 뜻한다
- 개체 집합들 사이의 대응 관계 -> 매핑(mapping)을 의미한다
마름모로 표현
한다