■ ERD는 엔티티 간의 관계를 나타내는 그림입니다
ERD(Entity Relationship Diagram: 엔티티 관계도, 개체 관계도)는 DFD(데이터 흐름도)와 함께 시스템 분석과 설계에서 매우 유용하게 사용되는 다이아그램입니다.
ERD에서 엔터티(entity)란 프로세스 상에 존재하는 데이터 개체로 물리적이거나 추상적인 것을 모두 포함합니다. 엔터티의 예로는 고객, 근로자, 청구서, 상품, 영수증, 창고, 지사, 영업사원 등이 있습니다.
ERD는, 요구사항으로 부터 엔터티를 정의하고, 엔티티 간의 관계를 정의하고, 각 엔티티의 속성을 나타낸 그림입니다.
DFD가 프로세스를 중심으로 데이터의 흐름을 나타내는 그림이라면, ERD는 데이터를 중심으로 데이터 간의 관게를 나타내는 그림입니다. 컴퓨터 프로그램 개발에 비유하자면, DFD는 구조형 프로그램밍(structured programming)에 적합하다면, ERD는 객체지향형 프로그램밍(object oriented programming)에 적합합니다.
예를 들어 '근로자'라는 엔터티가 있다면, 그 엔터티에 속하는 '홍길동'이라는 엔터티 인스턴스가 존재할 수 있다. ERD에서 엔터티는 직사각형으로 그리며, 각 엔터티간의 관계는 좌측 그림에 예시되어 있는 것과 같은 표기방법을 이용하여 관계를 나타내게 됩니다
■ ERD 구성요소
ERD 그림을 구성하는 요소는 엔티티(entity), 관계(relationship), 속성(attribute) 등 3가지가 있습니다.
▶ 엔티티(entity)
엔티티는 시스템을 이루고 있는 사물이나 사건으로, 개체(object)라고도 합니다.
ERD에서 엔티티는 사각형(□)으로 나타내며, 사각형 안에는 엔티티의 이름을 넣습니다.
▶ 관계(relationship)
관계는 엔티티간 간의 연관성을 나타냅니다. 연관성은 '소유하다(own)', '소속된다(belong)'. '첨부되다(attach)' 등이 있습니다.
ERD에서 관계는, 두엔티티 간을 선으로 연결하고 중간에 마름모(-◇-)로 나타내며, 마름모 안에는 관계의 이름을 넣습니다.
또한 두 엔티티 간의 관계는 1대1, 1대N, N대N가 있으면, N개가 있는 곳은 검고 작은 점(●)으로 표시합니다. 예를 들면 1대1(-◇-), 1대N(-◇-●), N대N(●-◇-●)과 같이 표시합니다.
▶ 속성(attribute)
속성은 엔티티가 가지고 있는 속성 데이터로, 엔티티가 도면이라면, 속성은 작성자, 작성일자. 도면 이름, 도면 번호 등이 될 수 있습니다.
ERD에서 속성은 엔티티에서 선으로 연결된 동그라미(-○)로 표시됩니다. 동그라미 내에는 속성들을 모두 기술합니다.
■ ERD의 작성방법
ERD의 작성방법은 다음과 같습니다.
- 업무를 분석하여 엔티티를 찾아내고, 각각 엔티티에 이름을 부여합니다.
- 각각의 엔티티에 대한 속성을 찾아 내어 정리합니다.
- 엔티티를 적절히 배치한 후, 관련된 엔티티 간에 선을 잇고, 관계를 표시합니다.
- 엔티티에 대한 속성을 표시합니다.
■ 모든 속성은 엔티티가 될 수 있습니다.
ERD에서 엔티티의 속성을 정의할 때 주의할 사항이 있습니다.
예를 들어 위에서 이야기한 도면에 대한 속성으로 작성자, 작성일자. 도면 이름, 도면 번호가 있다고 할 때, 이중에서 작성자를 속성으로 볼 수도 있지만, 엔티티로 정의 할 수도 있습니다. 작성자가 엔티티가 된다면, 작성자의 속성은 이름, 사번, 소속, 전화번호, 전자우편 주소 등이 될 수 있습니다. 또 작성자와 도면 간에는 '생성하다(create)'는 관계가 생기게 됩니다.
작성자를 도면의 속성으로 정의하는 것이 나을지, 다른 엔티티로 정의하는 것이 나을지는 다른 요소를 고려해야합니다. 만약 작성자가 다른 엔티티에서도 사용된다면 엔티티로 만든 후 관계를 맺어 주는 편이 좋고, 다른 곳에서 사용하지 않고, 오직 도면에서만 사용된다면 도면의 속성으로 정의하는 편이 좋습니다.
ERD(Entity Relationship Diagram: 엔티티 관계도, 개체 관계도)는 DFD(데이터 흐름도)와 함께 시스템 분석과 설계에서 매우 유용하게 사용되는 다이아그램입니다.
ERD에서 엔터티(entity)란 프로세스 상에 존재하는 데이터 개체로 물리적이거나 추상적인 것을 모두 포함합니다. 엔터티의 예로는 고객, 근로자, 청구서, 상품, 영수증, 창고, 지사, 영업사원 등이 있습니다.
ERD는, 요구사항으로 부터 엔터티를 정의하고, 엔티티 간의 관계를 정의하고, 각 엔티티의 속성을 나타낸 그림입니다.
DFD가 프로세스를 중심으로 데이터의 흐름을 나타내는 그림이라면, ERD는 데이터를 중심으로 데이터 간의 관게를 나타내는 그림입니다. 컴퓨터 프로그램 개발에 비유하자면, DFD는 구조형 프로그램밍(structured programming)에 적합하다면, ERD는 객체지향형 프로그램밍(object oriented programming)에 적합합니다.
예를 들어 '근로자'라는 엔터티가 있다면, 그 엔터티에 속하는 '홍길동'이라는 엔터티 인스턴스가 존재할 수 있다. ERD에서 엔터티는 직사각형으로 그리며, 각 엔터티간의 관계는 좌측 그림에 예시되어 있는 것과 같은 표기방법을 이용하여 관계를 나타내게 됩니다
■ ERD 구성요소
ERD 그림을 구성하는 요소는 엔티티(entity), 관계(relationship), 속성(attribute) 등 3가지가 있습니다.
▶ 엔티티(entity)
엔티티는 시스템을 이루고 있는 사물이나 사건으로, 개체(object)라고도 합니다.
ERD에서 엔티티는 사각형(□)으로 나타내며, 사각형 안에는 엔티티의 이름을 넣습니다.
▶ 관계(relationship)
관계는 엔티티간 간의 연관성을 나타냅니다. 연관성은 '소유하다(own)', '소속된다(belong)'. '첨부되다(attach)' 등이 있습니다.
ERD에서 관계는, 두엔티티 간을 선으로 연결하고 중간에 마름모(-◇-)로 나타내며, 마름모 안에는 관계의 이름을 넣습니다.
또한 두 엔티티 간의 관계는 1대1, 1대N, N대N가 있으면, N개가 있는 곳은 검고 작은 점(●)으로 표시합니다. 예를 들면 1대1(-◇-), 1대N(-◇-●), N대N(●-◇-●)과 같이 표시합니다.
▶ 속성(attribute)
속성은 엔티티가 가지고 있는 속성 데이터로, 엔티티가 도면이라면, 속성은 작성자, 작성일자. 도면 이름, 도면 번호 등이 될 수 있습니다.
ERD에서 속성은 엔티티에서 선으로 연결된 동그라미(-○)로 표시됩니다. 동그라미 내에는 속성들을 모두 기술합니다.
■ ERD의 작성방법
ERD의 작성방법은 다음과 같습니다.
- 업무를 분석하여 엔티티를 찾아내고, 각각 엔티티에 이름을 부여합니다.
- 각각의 엔티티에 대한 속성을 찾아 내어 정리합니다.
- 엔티티를 적절히 배치한 후, 관련된 엔티티 간에 선을 잇고, 관계를 표시합니다.
- 엔티티에 대한 속성을 표시합니다.
■ 모든 속성은 엔티티가 될 수 있습니다.
ERD에서 엔티티의 속성을 정의할 때 주의할 사항이 있습니다.
예를 들어 위에서 이야기한 도면에 대한 속성으로 작성자, 작성일자. 도면 이름, 도면 번호가 있다고 할 때, 이중에서 작성자를 속성으로 볼 수도 있지만, 엔티티로 정의 할 수도 있습니다. 작성자가 엔티티가 된다면, 작성자의 속성은 이름, 사번, 소속, 전화번호, 전자우편 주소 등이 될 수 있습니다. 또 작성자와 도면 간에는 '생성하다(create)'는 관계가 생기게 됩니다.
작성자를 도면의 속성으로 정의하는 것이 나을지, 다른 엔티티로 정의하는 것이 나을지는 다른 요소를 고려해야합니다. 만약 작성자가 다른 엔티티에서도 사용된다면 엔티티로 만든 후 관계를 맺어 주는 편이 좋고, 다른 곳에서 사용하지 않고, 오직 도면에서만 사용된다면 도면의 속성으로 정의하는 편이 좋습니다.