데이터모델data_model

데이터모델data_model (rev. 1.9)

// Moved from note.txt 'data_model' at 2022-04-21
// 2021-03-17 ; 슬라이드 중 Categories of Data Models (DMs)

high-level DM (conceptual DM)
사용자가 data를 받아들이는(perceive) 개념에 가깝다.
entity, attribute, relationship에 기반한다.

low-level DM (physical DM)
어떻게 data가 disk에 저장되는지. (storage에 dependent)
formats/orderings/access path(for computer specialist)

representational DM (implementation DM)
위 두 극단 사이의 개념임. 다음 세 가지가 있다. 전통적인 DBMS에 쓰인다.
relational_data_model
hierarchical_data_model
network_data_model .... 이 셋 중 다른 건 거의 안 쓰이고 relational DM이 훨씬 많이 쓰인다

conceptual_data_model
이것은 entity, relationship, attribute 에 기반한다.


(위에 나열된 것 중에)

개념데이터모델? conceptual_data_model
{
// from slide p8 'Conceptual DM'
다음 세 가지에 기반한다.
  • 개체entity : DB에 설명된 실세계 객체(real-world object) 또는 개념(concept)을 표현한다.
    Ex. employee, project
  • 속성attribute : entity를 더 설명(further describe)하는 어떤 관심 대상 성질(property of interest)을 표현한다.
    Ex. employee's name or salary
  • 관계relationship : entities들 사이의 관계는, entities 사이의 상호작용(interaction)을 표현한다.
    Ex. works_on : employee 그리고 project 사이의 관계
}

ER_data_model = entity-relationship_data_model
{
가장 인기 좋은 데이터모델이다. (popular high-level conceptual data model)
entity, attribute, relationship은 (위의) 개념데이터모델에서 그대로 가져왔다.

box으로(직사각형, □) 표현된 것: entity
diamond로(마름모, ◇) 표현된 것: relationship
타원으로(○) 표현된 것: attribute
}

이하 관계 데이터 모델만 다룸..


데이터 모델은
을 포함하는 개념.

다음 세 가지로 구성.[1]
  • 데이터 구조 (data structure)
  • 연산 (operation) - See 연산operation
  • 제약조건 (constraint)

데이터 모델 = 데이터 구조 + 제약조건 + 연산

데이터 모델의 종류:
  • 계층적
  • 네트워크형
  • 관계형
  • 객체지향형

Ref.
[https]컴퓨터개론: 데이터 모델