Database

[DATABASE] Data Models가 뭘까?

ju_young 2023. 10. 13. 21:21
728x90

Data Model은 데이터베이스의 구조를 원하는 형태로 만들 수 있도록하는 수단을 제공한다. conceptual data models, logical data models, physical data models로 분류된다.

1. conceptual data models

  • 일반 사용자들이 쉽게 이해할 수 있는 개념들로 이루어진 모델
  • 비지니스 요구 사항을 추상화하여 설명할 떄 사용
  • 대표적으로 아래와 같은 entity-relationship model이 있다
%%{ init: { 'theme': 'default', 'themeVariables': { 'primaryColor': '#000', 'primaryTextColor': '#000', 'lineColor': '#fff' } } }%%
erDiagram CUSTOMER ||--o{ ORDER : places CUSTOMER { string name string custNumber string sector } ORDER ||--|{ LINE-ITEM : contains ORDER { int orderNumber string deliveryAddress } LINE-ITEM { string productCode int quantity float pricePerUnit }
  • CUSTOMER, ORDER, LINE-ITEM을 엔티티(entity)라 하고 entity들간의 관계(relationship)를 표현것이다. 이를 Entity Relationship Diagram(ERD)라 한다.

CUSTOMER 엔티티(entity)에서 name, custNumber, sector들을 attribute(속성)이라고 부른다.

2. logical data models

  • 이해하기 어렵지 않으면서 상세하게 DB를 구조화
  • 다음과 같이 생긴 relational data model을 많이 사용
student id 이름 전공 학년
1 홍길동 외교 4
2 이황 경제 3
3 이순신 무역 2
  • relational을 위의 table을 의미하고 각 row(행)는 데이터를 의미하며 "studnet id, 이름, 전공, 학년"은 속성(attribute)을 의미한다.

logical data models의 종류로 relational data model, object data model, object-relational data model이 있고 대부분 relational data model을 사용한다.

3. physical data models

  • 컴퓨터에 데이터가 실제로 저장장치에 저장되는 형태에 가장 가깝게 데이터 구조를 표현할 수 있는 Data Model
728x90