데이터모델data_model

데이터모델data_model (rev. 1.11)

// 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
}


data model의 구성요소 세 가지

개체entity
DB에 표현하려는 것.
개념이나 정보 단위 같은 현실 세계의 대상.

속성attribute
데이터data의 가장 작은 논리적 단위.
파일구조상의 데이터항목 또는 데이터필드에 해당.

관계relationship
개체entity간의 관계 또는
속성attribute간의 논리적 연결.



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


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

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

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

데이터 모델의 종류:
  • 계층형 - 계층적 - HDM, hierarchical_data_model
    ... rel. 위계,hierarchy, VG:트리,tree
    일대다(1:n) 관계 처리에 유리
  • 네트워크형 - NDM, network_data_model
    다대다(m:n) 표현에 용이
  • 관계형 - RDM, relational_data_model
    가장중요한? 가장 널리 쓰이는?
    rel. RDB, 릴레이션relation, 테이블table, 키key
    연관된 데이터data 사이에 기본키primary_key 외래키foreign_key를 통해 논리적 관련성을 표현
  • 객체지향형 - OODM, object oriented data model
    rel. object_orientedness or object_orientation
    객체 단위의 저장 구조를 가짐
    객체지향언어의 상속 캡슐화 등의 개념을 저장 개념에 도입
    연관된 data 사이 관계를 ( 객체식별자 OID object identifier ) 로 표현하는 저장 방식
  • 객체관계형 - ORDM, object relational data model
    관계형을 기본으로 하고 객체데이터모델(객체지향형) 특성을 일부 반영한 절충형 모델.

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