// Moved from note.txt 'data_model' at 2022-04-21
// 2021-03-17 ; 슬라이드 중 Categories of Data Models (DMs)
// 2021-03-17 ; 슬라이드 중 Categories of Data Models (DMs)
high-level DM (conceptual DM)
사용자가 data를 받아들이는(perceive) 개념에 가깝다.
entity, attribute, relationship에 기반한다.
low-level DM (physical DM)entity, attribute, relationship에 기반한다.
어떻게 data가 disk에 저장되는지. (storage에 dependent)
formats/orderings/access path(for computer specialist)
representational DM (implementation DM)formats/orderings/access path(for computer specialist)
위 두 극단 사이의 개념임. 다음 세 가지가 있다. 전통적인 DBMS에 쓰인다.
relational_data_model
hierarchical_data_model
network_data_model .... 이 셋 중 다른 건 거의 안 쓰이고 relational DM이 훨씬 많이 쓰인다
conceptual_data_modelrelational_data_model
hierarchical_data_model
network_data_model .... 이 셋 중 다른 건 거의 안 쓰이고 relational DM이 훨씬 많이 쓰인다
이것은 entity, relationship, attribute 에 기반한다.
(위에 나열된 것 중에)
개념데이터모델? conceptual_data_model
{
// from slide p8 'Conceptual DM'
다음 세 가지에 기반한다.
{
// 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은 (위의) 개념데이터모델에서 그대로 가져왔다.
{
가장 인기 좋은 데이터모델이다. (popular high-level conceptual data model)
entity, attribute, relationship은 (위의) 개념데이터모델에서 그대로 가져왔다.
box으로(직사각형, □) 표현된 것: entity
diamond로(마름모, ◇) 표현된 것: relationship
타원으로(○) 표현된 것: attribute
}
diamond로(마름모, ◇) 표현된 것: relationship
타원으로(○) 표현된 것: attribute
}
이하 관계 데이터 모델만 다룸..
다음 세 가지로 구성.[1]
- 데이터 구조 (data structure)
- 연산 (operation) - See 연산operation
- 제약조건 (constraint)
Up: database