Entity Relation Diagrams(ER Diagrams)
포스트 난이도: HOO_Junior
# Database Diagrams
소프트웨어 개발이나 프로그래밍 과정에서 개발 과정의 이해를 돕고자 많이 사용되는 개발 과정의 시각화 방식이 다이어그램이다.
데이터베이스에서도 데이터베이스의 전반적은 흐름과 구조를 이해하기 쉽도록 다이어그램을 오래전부터 사용하고 있다.
데이터베이스 기술이 발전해오는 만큼 데이터베이스 다이어그램의 발전도 지속적으로 이루어져 왔다.
현재로써 가장 많이 사용되는 Database diagram 중 하나가 Entity relation diagrams이다.
# Entity Relation Diagrams
Entity relation diagrams는 ER diagram이라고 줄여서 부르는 Database diagrams 중에 대표적인 다이어그램이다.
용어 자체에서 어떤 다이어그램을 나타내는지 대략적으로 유추가 가능하다.
Entity 간의 relation을 나타낸 다이어그램이 바로 ER diagram이다.
# Attributes 종류
Class에는 다양한 attributes가 포함되듯이 Entity에도 다양한 Attributes가 포함된다.
코드 상에서는 Attributes에 대한 속성이 표현이 되지만 문제는 다이어그램으로 시각화를 할 경우 Attributes의 속성에 대해서 별도 표기나 표시를 해줘야 한다는 것이다.
따라서 ER diagram에서는 Attributes 종류에 따라서 나타내 주는 방식을 달리 표현했다.
Simple attribute는 일반적인 attributes를 표현할 때 사용하는 방식이다.
# Fig01.Simple Attributes
위의 Fig01. 예시 그림을 살펴보면 Computer라는 Entity 안에 Keyboard, Mouse, Monitor 등과 같은 Attributes들이 있다는 걸 알 수 있다.
# Fig 02.Composite
위의 Fig02. 예시는 Composite attributes를 Diagram에 어떻게 표현하는지에 대해서 살펴볼 수 있다.
Monitor는 Attributes이지만 그 안에 Monitor에 대한 Attributes들이 포함되어 있다.
Band와 Type은 Mointor에 대한 Attributes이며, 이를 Composite attributes라고 한다.
# Fig03.Key Attributes
위의 Fig03. 예시에서는 key attrtibutes를 살펴볼 수 있다.
id attributes는 computer라는 enitity에서 고유한 attributes의 속성을 가지고 있다.
이때 diagram에서 id라는 attributes에 밑줄을 그어주어 unique한 attritbute라는 걸 나타내 준다.
key attributes는 entity에 따라서 하나가 아닌 여러 개가 될 수도 있다.
물론 마찬가지로 key attributes가 항상 꼭 있어야 하는 건 아니기에 entity에 따라서 key attributes가 없을 수도 있다.
# Fig04. Multi-valued Attributes
위의 Fig04. 예시에서는 Multi-valued 또는 Multivalued attributes에 대한 부분을 살펴볼 수 있다.
Multi-valued attributes는 entity에 한 가지가 아닌 여러 가지의 value를 제공한다는 의미를 가지고 있다.
여기서는 Mouse가 하나가 아닌 여러 개가 연결되어 각기 다른 value를 준다고 이해할 수 있다.
또 다른 예로는 자동차라는 entity가 있고 color라는 attributes가 있을 때, 자동차 색상이 한 가지가 아니라 2가지 이상의 색상으로 되어 있다면 이 역시도 Mulit-valued attributes가 된다.
왜냐하면 color라는 attributes가 2가지 이상의 value값을 자동차라는 entity에 주고 있기 때문이다.
'Computer Science' 카테고리의 다른 글
[Database] Schema vs Instance(State) (0) | 2022.02.21 |
---|---|
[Database] Data Models: Conceptual, Physical, Implementation, Self-describing (0) | 2022.02.21 |
[Database] EER Diagram: Disjoint와 Overlap (0) | 2022.02.20 |
[Machine Level Data ] Floating Point Number Examples (0) | 2022.02.09 |
[Machine Level Data Representation] Floating Point Representation (0) | 2022.02.07 |
댓글