데이터 모델링의 개념과 ER 모델 기초

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

데이터 모델링이란?

현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정을 뜻한다.

데이터 모델링의 과정

  • 1.저장할 대상(객체)를 분석/관찰하여 중요한 데이터를 찾아낸다 >> 추상화
  • 2.찾아낸 데이터를 데이터베이스에 어떤 구조로 저장할지 결정하고 저장한다

2단계 데이터 모델링

1. 개념적 데이터 모델링

현실 세계의 중요 데이터를 추출하여 개념 세계로 옮김

  • 저장할 대상(객체)을 분석하고 관찰
  • 중요한 데이터를 식별하고 불필요한 세부 사항은 제외함

2. 논리적 데이터 모델링

개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업

  • 찾아낸 데이터를 데이터베이스에 어떤 구조로 저장할지 결정함.
  • 엔티티, 속성, 관계를 정의함
  • 데이터 무결성과 제약 조건같은 추가 조건도 정의함

데이터 모델 (data model)

데이터 모델링의 결과물을 표현하는 도구이다

개념 정의로만 보면 어려울 수 있지만 데이터가 어떤 구조로 저장되고, 어떻게 서로 관련이 있는지 표시한 설계도라고 이해하면 편하다.

또한 데이터 모델링도 2가지 종류로 나뉜다

개념적 데이터 모델

현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구이다

image
위 다이어그램은 개념적 데이터 모델중 하나인 개체-관계(ER) 모델이다

논리적 데이터 모델

개념적 구조를 논리적으로 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구이다

image

위 사진은 논리적 데이터 모델중 하나인 관계형 데이터 모델이다

ER(개체-관계) 모델

개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현한 것이다.

image
(개체,속성,관계를 나타내는 ER모델)

개체 (entity)

꼭 필요한 사람이나 사물과 같이 구별되는 모든 것이다

  • 저장할 가치가 있는 중요한 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등등을 포함한다
  • 다른 개체와 구별되는 이름을 가져야 하며, 속성이 적어도 1개 이상이다
  • 사각형으로 표현한다

속성 (attribute)

개체나 관계가 가지고 있는 고유한 특성이다

  • 의미 있는 데이터의 가장 작은 논리적 단위이다
  • ER다이어그램에서 타원으로 표현하고 타원 내부에 이름을 표기한다
  • 해당하는 개체와 실선으로 연결한다

관계 (relationship)

개체와 개체가 맺고 있는 의미 있는 연관성을 뜻한다

  • 개체 집합들 사이의 대응 관계 -> 매핑(mapping)을 의미한다
  • 마름모로 표현한다