ERD란?
Entity Relationship Diagram의 약자로 개체관계도 라고 부릅니다.
ERD는 말로서 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것입니다.
(참고로 Peter Chen이란 분의 박사학위논문에 처음 등장했지요...)

ERD[이 알 디]는 전략적 계획이나 또는 하향식 계획에서 자주 사용되며, 개략적인 상부계층의 데이터 다이어그램이다. 데이터의 하향식 계획은 기업을 운영하는데 관련된 실체들을 확인하고, 그것들간의 관계들을 결정한다. 기업체를 효율적으로 운영하기 위해서는 어느 정도의 데이터가 필요하게 되는데, 이러한 데이터는 컴퓨터가 사용되지 않아도 상관은 없지만, 컴퓨터는 정확한 데이터를 필요한 사람에게 정확하게 전달하는데 큰 도움을 준다. 문제가 되는 데이터는 정연하고, 자세히 설명될 필요가 있으므로, 이를 위해 데이터에 관한 데이터가 필요하다. 데이터에 관한 데이터를 흔히 메타데이터라고 부르는데, 데이터 모델들은 이러한 메타데이터를 포함하고 있다.

데이터 분석가들은 조직의 데이터를 그들에게 이해시키고, 조직을 관리하는데 가장 유익하게될 데이터를 만들기 위해 최종사용자들 및 중역들로부터 많은 도움을 필요로 한다. 이들과의 의사소통을 원활히 하기 위해, 그들은 데이터를 도식화하는 명료한 방법이 필요하며, ERD와 같은 다이어그램은 조직의 정보자원을 전반적으로 계획하는데 있어 필수적이며 유용한 도구이다. ERD는 개발되고 나면, 좀더 자세한 데이터 모델로 분해될 수도 있다.

엔터티란 우리가 저장한 데이터에 관해 무언가 실제적이거나 추상적인 것을 모두 포함한다. 엔터티의 형태는 고객, 근로자, 청구서, 상품, 교대근무보고서, 영수증, 창고, 지사, 영업사원 등을 예로 들 수 있다. 각 엔터티의 이름은 보통 명사(名辭)이어야하지만, 때로는 수식어구가 사용될 수도 있다. 엔터티 형태는 같은 속성형태를 가진 엔터티들을 대표할 수 있는 이름을 붙인 일종의 부류를 나타낸다.

예를 들어 '근로자'라는 엔터티가 있다면, 그 엔터티에 속하는 '홍길동'이라는 엔터티 인스턴스가 존재할 수 있다. ERD에서 엔터티는 직사각형으로 그리며, 각 엔터티간의 관계는 좌측 그림에 예시되어 있는 것과 같은 표기방법을 이용하여 관계를 나타내게 된다

 
1. ER모델의 개념

 

   Peter Chen에 의해 제안 (1976)
        - ERD(Entity Relationship Diagram)로 표현 
   ER모델의 기본 요소
        - Entity : 시스템화 하고자 하는 사건, 사물
        - Relationship : 엔티티간, 애트리뷰트간의 연관성
        - Attribute : 엔티티, 관계성의 성질을 나타내는 더 이상 쪼갤수 없는 정보의 단위
        - 실세계의 모든 업무체계는 기본요소 3가지(Entity, Relationship, Attribute)로 모두 표현이

          가능하다. 
   확장된 요소
        - 일반화 계층 (Generalization Hierachy) : 여러 엔티간의 공통적인 특성을 파악
        - 서브세트(Sub Set): 일반화중 하나의 서브 엔티티를 갖는 경우

 

2. 개체 (Entity)

 

   개념
        - 시스템화 하고자 하는 사물이나 사건
        - 현실 세계의 객체
        - 예) 사원, 부서, 남자, 도시, 계약, 물품 등
  표기법
          
   종류
        - 일반 엔티티, 약 엔티티, 슈퍼 엔티티, 서브 엔티티

 

3. 관계성 (Relationship)

   정의
      - 개체간의 연관성을 나타낸다.
        예) 소속된다. 관리된다. 소유한다. 등

   표기법 :
          

   종류
     - 관계의 종류 : 이진관계, 순환관계, 삼진관계  
     - 관계성 (카디널리티, Cardinality) : 1대1, 1대N, N대N

 

4. 속성 (Attribute)

   정의

   표기법
         
   종류 : 일반속성, 키속성, 다중값 속성, 복합속송, 유도속성

 

5. 기본 ERD 작성의 사례

   *  1) 속성은 개체의 정보를 나타내므로 개체에 연결되어야 한다.
       2) 관계는 개체와 개체의 사이에서 연관을 나타낸다.

- 객체간의 관계(Relation)

Relation 이란 다이어그램의 '동사'로서 객체들이 서로 어떻게 관련되어 있는지 나타낸다.

예) 학생은 강좌를 수강한다. 교수는 강좌를 강의 한다. 학생은 학과에 속한다. 교수는 학과에 속한다.

'DB > ERD' 카테고리의 다른 글

MySQL-workbench 사용하여 ER 다이어그램 작성방법  (0) 2013.08.22

데이터베이스를 사용하면서 가장 먼저 찾게 되는 것이 데이터베이스를 관리하는 도구일 것이다.

수많은 프로그램이 나와 있지만 데이터베이스를 전문적으로 사용하는 것이 아니기 때문에 무료로 간편하게 사용할 수 있는 툴을 선호한다.

MySQL 사이트에는 MySQL을 관리할수 있는 GUI 툴을 같이 제공하는데, 예전에는 MySQL-query-browser, MySQL-administrator와 같이 나누어서 제공하던 것이 MySQL-workbench로 통합되어 제공하고 있다.

현재 최근 릴리즈 버전은 최종 안정화 버전(GA : General Availability) 으로 MySQL Workbench 5.2.34까지 제공되고 있다.

Community Edition은 비용없이 GPL 라이센스로 다운로드 받아서 사용할 수 있다.

이번에 소개할 내용은 업무에서 겪었던 부분이다.

이미 데이터베이스에 테이블이 생성되고 동작하고 있을 경우 다이어그램으로 테이블 구조를 보고 싶다는 말을 듣는다.

그럼 일일히 테이블 구조를 다이어그램으로 그려야 할까??

아니다. 이미 동작하는 데이터베이스를 연결하여 Reverse Engineer Database라는 기능이 있다.

다이어그램으로 뽑아내고 싶은 테이블을 선택하여 Reverse하면 다이어그램으로 각각의 테이블의 구조와 관계를 나타낸다.

데이터베이스 접속 정보를 입력한다.=> 

데이터베이스의 접속이 성공적으로 완료되면 스키마 정보를 가져온다.=>

 

Reverse Engineer 할 데이터베이스를 선택한다.=>

선택된 데이터베이스의 테이블 및 구성요소들의 정보를 가져온다.=>

Reverse Engineer 할 테이블들을 선택한다. 왼쪽 박스가 선택된 항목이다. (3개의 테이블 선택)=>

 

아래와 같이 Reverse Engineer 작업이 완료되었다.=>

이와 같은 결과를 PDF 파일이나 PNG 이미지 등으로 Export 할 수 있어 편리하다.

다른 기능들도 많지만 내가 가장 많이 활용하는 부분을 작성해 보았다.

Mysql Workbench는 아래의 링크에서 다운로드 받을 수 있다.

http://wb.mysql.com/

 

[출처]http://cafe.naver.com/hermeneus/94

 

 

'DB > ERD' 카테고리의 다른 글

ERD 정의  (0) 2013.08.28

+ Recent posts