박두현의 컴퓨터 이론들 - Database : E-R Model

안녕하세요. 박두현 입니다.

간만에 인사를 드리게 되었습니다. 시험이 끝나고 간만에 글을 쓰게 되었네요.

저번주부터 DB에 대해서 이야기를 하고 있습니다. 저번주에는 간략하게 DBMS에 대해서 알아봤고 오늘은 DB 모델 중 하나를 설명해 드리도록 하겠습니다.

 

1. E-R(Entiry-Relationship) Model

우리가 데이터베이스를 설계하고 구현하기 위해서는 데이터 모델이라는 것을 가지고 설계하게 됩니다.

이 데이터 모델에는 계획이나 내용등과 같은 다양한 것들이 내포된 데이터베이스에 대한 디자인이라고 보시면 될 것 같습니다.

우리가 오늘 알아보고자 하는 ER 모델도 다양한 데이터베이스 모델 중 하나 입니다. 가장 유명한 모델이라고 보시면 될 것 같아요.

 

오리지날 모델은 Peter Chen에 의해 1976년 발표되었습니다.

이후 Extended E-R Model(확장형 관계형 모델)인 나오게 되고 이것을 시각적으로 표현하기 위한 UML(Unified Modeling Language)이 정의되게 됩니다.

 

2. Entities

ER 모델의 구성 요소 중 중요한 것 중 하나는 바로 관계를 형성하고 있는 Entities 가 되겠죠.

Entities는 기본적으로 class와 instances로 구분지을 수 있습니다.

 

- Entity Class: Entity에 들어있는 항목의 데이터 형을 정의하고 있는 것을 말 합니다.

- Entity Instances:Entity에 들어있는 각 정보들을 의미 합니다.

 

아무래도 그림을 보고 설명드리면 좀 더 쉬울 것 같습니다.

아래 그림을 보시면 CUSTOMER 라는 entity가 있고 그 entity의 class와 instances를 도표로 잘 표현하고 있습니다.

 

 DB-ClassAndInstances.png

[그림2. The entity class and entity instances]

 

3. Attributes

DB하면서 가장 많이 듣게되는 단어가 entity, schema, query 등등 많이 있는데 attribute라는 단어도 많이 보게 될 겁니다.

단어 뜻 그대로 속성 이라는 말 입니다.

Entity class에는 다양한 attributes가 존재하게 됩니다.

위에 [그림2]에서 보신 도표에서 Entity Class의 구성 내용을 확인하고 아래 원형 형태로 표현한 아래 그림을 보세요.

동그란 원으로 표시된 것들이 class의 attributes 입니다.

 

DB-AttributesEllipse.png  

[그림3. Attributes in Entity Ellipses]

 

위 [그림3]을 사각형의 도표로 표기하면 아래 그림과 같이 표기할 수 있습니다.

 

DB-AttributesRectangle.png  

[그림4. Attributes in Entity Rectangle]

 

4. 마치면서...

오늘은 DB의 데이터 모델을 알아보기 시작했습니다.

Entity Relationship model을 보면서 기본적으로 구성디는 요소들을 설명하고 있습니다. 다음주에도 계속 이어서 데이터베이스에 대한 이야기를 다뤄보도록 하겠습니다.

황사가 심하다는데 다들 황사 조심하시고 즐거운 한주 되세요.