본문 바로가기

백엔드

데이터 모델링

728x90
SMALL

데이터 모델링

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

   - 데이터베이스 설계의 핵심 과정

 

2단계 데이터 모델링

   - 개념적 데이터 모델링(conceptual modeling)

      현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업

   - 논리적 데이터 모델링(logical modeling)

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

 

<데이터 모델(data model)>

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

  - 개념적 데이터 모델

     - 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구

       예) 개체-관계 모델

  - 논리적 데이터 모델

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

     - 예) 관계 데이터 모델

 

<데이터 모델의 구성>

- 데이터 구조(data structure)

   - 개념적 데이터 모델에서 개념적 구조: 현실 세계를 개념 세계로 추상화했을 때 어떤 요소로 이루어져 있는지 표현

   - 논리적 데이터 모델에서 논리적 구조: 데이터를 어떤 모습으로 저장할 것인지 표현

- 연산(operation)

   - 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업

   - 동적 특징

- 제약조건(constraint) → 데이터 무결성 유지 목적

   - 구조적 측면의 제약 사항

   - 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항 

 

<개체-관계 모델(E-R model; Entity-Relationship model)>

  - 피터 첸(Peter Chen)이 제안한 개념적 데이터 모델

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

  - 핵심 요소: 개체, 속성, 관계

 

<개체-관계 다이어그램(E-R diagram)>

- E-R 다이어그램

- 객체: 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것

 

<개체(entity)>

- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것

- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등

- 다른 개체와 구별되는 이름을 가지고 있고, 객 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음

- 예) 서점에 필요한 개체: 고객, 책

- 예) 학교에 필요한 개체: 학과, 과목

- 파일 구조의 레코드(record)와 대응됨

- E-R 다이어그램에서 사각형으로 표현하고 사각형 안에 이름을 표기

 

<속성(attribute)>

- 개체나 관계가 가지고 있는 공유한 특성

- 의미 있는 데이터의 가장 작은 논리적 단위

- 파일 구조의 필드(field)와 대응됨

- E-R 다이어그램에서 타원으로 표현하고 타원 안에 이름을 표기

 

<개체 타입(entity type)>

   - 개체를 고유한 이름과 속성들로 정의한 것

   - 파일 구조의 레코드 타입(record type)에 대응됨

<개체 인스턴수(entity instance)>

  - 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체

  - 개체 어커런스(entity occurrence)라고도 함

  - 파일 구조의 레코드 인스턴스(record instance)에 대응됨

<개체 집합(entity set)>

   - 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

 

<단일 값 속성과 다중 값 속성>

  - 단일 값 속성(single-valued attribute)

     * 값을 하나만 가질 수 있는 속성

     * 예) 고객 개체의 이름, 적립금 속성

  - 다중 값 속성(multi-valued attribute)

    *  

728x90
LIST