메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Alternative Notations for Modeling Data

noriwiki
Pinkgo (토론 | 기여)님의 2025년 3월 29일 (토) 17:35 판

상위 문서: Entity Relationship Model

개요

어떤 애플리케이션의 데이터 모델을 도식적으로(diagrammatic) 표현하는 것은 DB schema를 설계하는 데 있어 매우 중요한 부분이다. 이 때문에 여러 가지 대체 표기법들이 제안되어 왔는데, 그 중 E-R 다이어그램과 UML 클래스 다이어그램이 가장 널리 사용된다. 해당 문서에서는 다양한 대체 E-R 다이어그램 표기법과 UML 클래스 다이어그램 표기법을 살펴본다.

Summary of E-R notations

Symbols used in the E-R notation

위는 E-R model을 설명하는데 사용된 표기법의 요약이다.

Alternative E-R Notations

Alternative E-R Notations

위는 몇가지의 대체 E-R 표기법 들을 보여준다.
엔터티의 속성을 표현하는 한 가지 대체 방식은, 속성들을 타원형(oval)으로 그리고, 이를 엔터티를 나타내는 상자(box)에 연결하는 것이다. primary key는 밑줄로 표시된다. 이러한 표기법은 그림의 상단에 제시되어 있다. relation의 attribute도 마찬가지로, 타원형으로 표현하여 다이아몬드(relationship) 기호에 연결할 수 있다.

Cardinality constraint 은 여러 방식으로 나타낼 수 있다. 위 이미지의 왼쪽에서는, 관계에서 나오는 선에 * 와 1 이라는 라벨을 붙여 다대다(many-to-many), 일대일(one-to-one), 다대일(many-to-one) 관계를 나타낸다. 일대다(one-to-many)는 다대일의 대칭이기 때문에 생략되었다.
그림의 오른쪽에 나타난 또 다른 표기법에서는, 관계 집합을 다이아몬드 없이 선(line)으로 표현하며, 오직 이진(binary) 관계만 표현 가능하다. 이러한 표기에서는 "갈고리발(crow’s foot)" 표기법으로 수용도를 나타낸다. 관계 R에서 E1과 E2가 연결되어 있다고 할 때, 양쪽에 갈고리발이 있으면 다대다 관계, 한쪽(E1)에만 갈고리발이 있으면 다대일 관계(E1 → E2)에 해당한다. 이때, 전체 참여(total participation) 는 수직 막대(vertical bar) 로 나타내지며,[1] 부분 참여(partial participation)는 원을 사용하여 표시된다.[2]

위 이미지에는 일반화(Generalization) 를 나타내는 삼각형 표기법도 제시되어 있다. 이는 속이 빈 화살표(hollow arrowhead) 대신 삼각형을 사용하는 방식이다. 이때 두줄이 사용된 ISA는 total generlization을 의미한다.

Unified Modeling Language

E-R 다이어그램은 소프트웨어 시스템에서 데이터 표현(data representation) 부분을 모델링하는 데 도움이 된다. 그러나 데이터 표현은 전체 시스템 설계의 일부분에 불과하다. 시스템 설계의 다른 구성 요소에는 사용자와 시스템 간의 상호작용 모델, 시스템의 기능적 모듈 및 이들의 상호작용 명세 등이 포함된다. UML(Unified Modeling Language)은 이러한 소프트웨어 시스템의 다양한 구성 요소에 대한 명세를 작성하기 위해 표준 언어이다. UML의 구성 요소들 중 일부는 다음과 같다:

  • 클래스 다이어그램(Class diagram)
    • E-R 다이어그램과 유사하며, 해당 문서에서는 클래스 다이어그램의 몇 가지 특징과 그것이 E-R 다이어그램과 어떤 관련이 있는지를 보여준다.
  • 유스케이스 다이어그램(Use case diagram): 사용자와 시스템 간의 상호작용을 보여준다.
  • 활동 다이어그램(Activity diagram): 시스템의 여러 구성 요소 사이에서 작업의 흐름(flow of tasks) 을 묘사한다.
  • 구현 다이어그램(Implementation diagram): 시스템 구성 요소들과 이들 간의 연결 관계를 나타내며, 이는 소프트웨어 수준과 하드웨어 수준 모두에 해당된다.

ER vs. UML Class Diagrams

파일:Symbols used in the UML class diagram notation..png


각주

  1. 하지만 이 막대는 E1이 전체 참여한다면 반대편(E2 쪽) 에 그려진다.
  2. 이 또한 반대쪽에 그려진다.