개체관계 다이어그램(ERD)이란,
Entity Relationship Diagram의 약어로
각 업무 분석에서 도출된 개체 간의 관계를
이해하기 쉽게 도식화한 다이어그램을 말한다.
ERD는 개체-관계(E-R) 모델을 다이어그램으로
나타낸 것인데, 여기서 개체-관계 모델이란
현실 세계에 존재하는 데이터와 그 데이터들 간의
관계를 사람이 이해할 수 있는 형태로 명확하게
표현하기 위한 모델을 의미한다.
개체-관계(E-R) 모델의 구성요소 : 개체, 속성, 관계
구성요소 | 설명 | 특징 |
개체(Entity) | 사물, 사람 등 유무형의 정보를 가지고 있는 요소 |
물리적 설계 단계에서 테이블로 변환 |
속성(Attribute) | 개체가 갖는 속성을 의미 | 물리적 설계 단계에서 컬럼으로 변환 |
관계(Relationship) | 두 개 이상의 개체 사이에 존재하는 연관성 |
1:1(일대일), 1:N(일대다), N:M(다대다) 관계로 존재 |
개체-관계 다이어그램(ERD) 기호
구성 | 기호 | |
개체 | □ | 사각형 |
관계 | ◇ | 마름모 |
속성 | ○ | 타원 |
다중 값 속성 | ◎ | 이중타원 |
관계-속성 연결 | ㅡ | 선 |
ERD 도출 예시 : 개념적 데이터 모델
사용자의 요구에 대한 트랜잭션을 모델링하는 단계로,
현실 세계에 있는 "개인 일정관리"에 대한 인식을
추상적, 개념적으로 표현하여 개념적 구조를 도출했다.
도출된 요구사항을 토대로 회원과 일정정보라는
개체 간의 관계를 "일정관리"로 해석했다.
회원:일정의 관계를 1:N관계로 정의하였고
관계를 분석한 표를 근거로 관계형 데이터 모델*을 설계했다.
이후 개체-관계(E-R)모델을 도출해내는 과정을 진행했다.
*관계형 데이터 모델 ?
관계형 데이터 모델은 보편적인 데이터 모델로,
계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.
관계 모델의 대표적 언어로는 SQL이 있다. 데이터 간의 관계를
기본 키와 이를 참조하는 외래 키로 표현한다.
테이블 간의 관계를 1:1, 1:N, N:M 관계로 목적에 맞게 표현한다.
개체-관계(E-R)모델과는 표현법에서 아래와 같은 차이가 있다.
ERD 도출 예시 : 논리적 데이터 모델 > 물리적 데이터 모델
개념적 데이터 모델에서 논리적 데이터베이스 구조로
매핑(Mapping) 작업을 했다. 여기서 말하는 매핑 작업은
개념적 데이터 모델과 논리적 데이터베이스 구조 간의 관계를
정의하고 개념적 모델의 엔티티, 속성, 관계 등을 실제 데이터베이스
시스템의 테이블, 열, 관계 등으로 매핑하고 이에 따른 제약 조건을
설정하는 것을 말한다.
이후에 회색 박스에 있는 내용을 물리적 데이터인 테이블 생성하기 위한
명령문(DDL - CREATE)으로 구현해내는 작업을 통해 물리적 설계까지
완료할 수 있다. 이와 같이 ERD가 데이터 모델을 설계하는 과정에서
중요한 기준이 되어주기 때문에 개념적인 부분을 꼭 ERD로 도식화하는
작업이 필수라 할 수 있다.
ERD는 위와 같이 직접 그릴 수도 있지만,
Oracle SQL Developer를 활용하여 간편하게 도식화 이미지를
다운로드 받을 수도 있다.
논리적 데이터 모델링
논리적 데이터 모델링은 개념적인 데이터를
어떻게 구성하고 표현할지에 대한 논리적인
구조를 정의하는 과정을 말한다.
종류로는 관계 데이터 모델, 계층 데이터 모델,
네트워크 데이터 모델이 있다.
논리적 데이터 모델링 종류
종류 | 설명 |
관계 데이터 모델 | - 논리적 구조가 2차원 테이블 형태로 구성된 모델 - 테이블 간의 관계를 정의하여 데이터를 표현 - 기본 키(PK)와 이를 참조하는 외래 키(FK)로 관계 표현 (1:1, 1:N, N:M 관계를 상황에 맞게 표현) |
계층 데이터 모델 | - 논리적 트리 구조로 데이터를 표현하는 모델 - 각 데이터 요소는 부모-자식 관계를 가짐 (상위/하위 요소 간의 관계를 표현하며 1:N 관계만 허용) |
네트워크 데이터 모델 | - 그래프 형태의 데이터 모델 - 각 데이터 요소는 레코드(Record)로 표현되며 레코드 간의 관계는 링크(Link)를 통해 정의됨 - 각 레코드가 여러 개의 다른 레코드와 연결될 수 있는 유연한 구조를 가짐 - 상위와 하위 레코드 사이에 N:M관계를 만족하는 구조 - CODASYL DBTG 모델이라고 불림 |
'DB > Data modeling' 카테고리의 다른 글
[DB] 관계 데이터 모델(Relation Data Model) (0) | 2024.02.18 |
---|---|
[DB] 데이터 모델링(Data Modeling) 및 DB 설계 절차 (0) | 2024.02.18 |
[DB] 데이터베이스 정규화(DB Normalization) 개념과 장단점 (0) | 2024.02.06 |