ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ER 모델이란 무엇인가?
    CS지식/데이터베이스 2021. 6. 7. 23:12

    ER(Entity-Relationship model)은 개념적 데이터 모델의 대표적인 모델로 개체와 개체 간의 관계를 이용하여 현실세계를 개념적 구조로 표현하는 방법이다.

    여기서 말하는 개체(entity)는 어떠한 각자만의 의미를 가진 동물이나 사물 또는 형태가 없는 개념과 사건을 뜻한다.

    이러한 개체에는 개체를 나타내는 특성이 있을텐데 그 특성을 속성(attribute)라 한다.

    ER모델이 무엇인지 아래의 그림을 보며 이해해보자.

    사람이라는 개체와 음식이라는 개체가 존재한다. 두 개체는 사람이 음식을 먹는다라는 관계를 가지고 있다.

    이렇게 개체와 개체 간의 관계로 표현하는 것이 ER모델이다.

     

    ER모델을 사람들이 보기 쉽고 이해하기 쉽게 나타낸 것이 ERD(ER Diagram)이다.

    ERD는 직사각형, 타원, 마름모로 현실세계의 의미정보(semantic information)를 그림으로 표현한다.

    ERD로 ER 모델의 구성요소인 개체(entity), 속성(attribute), 관계(relationship)을 그림으로 표현해야하는데 어떻게 표현되는지와 개체, 속성, 관계가 무엇인지 알아보자.

     

    1. 개체 (entity)

    개체는 동물과 사물 같이 어떠한 형태를 가지고 존재하는 실체나 개념, 사건과 같이 형태가 없이 정보를 가지고 있는 실체를 말한다.

    예를 들어, 회사를 보면 직원, 캐비닛, 책상같이 형태를 가지고 있는 것과 부서, 업무 등과 같이 형태는 없지만 정보를 가지고 있는 것들도 개체가 될 수 있다.

    ERD에서 개체 타입은 직사각형으로 표현한다. 개체 타입의 이름은 직사각형의 중앙에 표기한다.

    ERD를 접하다 보면 테두리가 두 줄로 이루어진 직사각형이 있을 수 있다.

    이것은 약한 개체 타입을 표현한 것이다.

    약한 개체 타입은 독자적으로 존재할 수 없고 상위 개체 타입을 가지며 하나 또는 그 이상의 부모 개체로부터 물려받은 속성으로 자신의 존재 여부를 결정한다.

     

    2. 속성 (attribute)

    속성은 개체의 특성이나 상태를 구체적으로 기술한 것으로 개체의 특성이나 상태가 어떠한 값으로 지정된 것을 속성값이라 한다.

    예를 들어, 위에서 언급한 직원이라는 개체에 대한 속성은 직급, 나이, 이름 등이 될 수 있다.

    여기서 속성값은 대리, 30, 김oo이 되는 것이다.

    ERD에서 속성은 타원으로 나타내고 타원 안에 속성 이름을 표기한다. 그리고 속성과 해당 개체 타입을 실선으로 연결한다.

    ERD에서 속성의 이름에 밑줄이 그어진 것이 있는데 식별자를 의미한다.

    개체에 해당하는 데이터들을 구별할 수 있게 하는 하나 또는 그 이상의 속성을 식별자라고 한다.

    그리고 타원의 테두리가 두 줄로 되어 있는 것은 다중값 속성을 의미한다.

    다중값 속성은 하나의 속성이 여러 개의 속성값은 가지는 속성을 말한다.

    예를 들어, 취미라는 속성이 있으면 취미는 사람마다 여러 개를 자기고 있을 수 있으므로 다중값 속성이 된다.

    타원의 테두리가 점선으로 되어 있는 것은 유도 속성을 의미한다.

    유도 속성은 다른 속성이나 개체가 가지고 있는 값으로부터 유도되어 결정되는 속성 값이다.

    예를 들어, 나이라는 속성은 개체가 생년월일이라는 속성을 가지고 있으면 생년월일의 연도와 현재 연도를 연산해주면 나이가 구해지므로 나이는 유도 속성이 된다.

     

    3. 관계 (relationship)

    관계는 개체와 개체가 맺고 있는 의미있는 연관성을 의미한다.

    예를 들어, 직원과 캐비닛이라는 개체는 직원이 캐비닛을 사용하기에 두 개체 사이에 사용한다하는 관계가 있다.

    ERD에서 관계는 마름모로 나타낸 후 관계를 맺고 있는 개체들과 실선으로 연결한다.

    관계에는 일대일, 일대다. 다대다 관계가 있는데 ERD에서 표기되는 방법은 아래의 표와 같다.

    'CS지식 > 데이터베이스' 카테고리의 다른 글

    [MySQL] 날짜, 시간 표기 방식 지정하기  (0) 2021.06.13
    정규화란 무엇인가?  (0) 2021.06.10
    관계 대수란 무엇인가?  (0) 2021.06.04
    키(key)란 무엇인가?  (0) 2021.06.01
    데이터 모델이란 무엇인가  (0) 2021.05.29

    댓글

Designed by Tistory.