ERD 작성법

효효·2024년 3월 28일

데이터베이스

목록 보기
2/3

대학교 전공으로 들었던 데이터베이스의 ERD가 기억이 날듯말듯해서 다시 정리해보고자 한다.

ERD 란?

복잡한 업무 시스템이에서 테이블 수는 수백 개에 달하고, 전체 테이블의 관계성을 파악하기 어렵다. 이런 테이블 간의 관련성을 한눈에 알 수 있게 고안된 기술이 ER 다이어그램(Entity-Relationship Diagram)이라고 한다. 'Entity(엔티티, 실체)'란 테이블을 뜻하고, 'Relationship(릴레이션십, 관계/관련성)'이란 '테이블 간의 관계'를 의미한다. 이를 표시하는데 이해하기 쉽도록 해주는 기술이 ER 다이어그램 또는 ERD이라고 한다.

IE표기법

ERD 표기법에는 몇 가지 종류가 있는데, 'IE(Informaiton Engineering)'란 표기법이 대중적이며 알기 쉽고 직관적으로 이해하기 쉬워 처음 ERD를 배울 때 적합하다.

아래와 같이 제3정규형까지 정규화를 완료한 고객기업 테이블과 업계 테이블이 있다.

고객기업 테이블(제3정규형)

고객기업 ID고객기업명고객기업 규모업계코드(FK)
CAA상사대규모D001
CBB건설중규모D002
CCC화학소규모D003
CDD상사중규모D001
CDE섬유대규모D003

업계기업 테이블(제3정규형)

업계코드업계명
DOO1석유
DOO2건설
DOO3바이오
DOO4시스템

엔티티란?

간단히 설명하면 테이블과 같고, 아래 그림과 같은 사각형으로 표시한다.

업계기업 테이블

고객기업 테이블

(PK)는 'Primary Key'의 줄임말로, 기본키를 말한다. (FK)는 "Foreign Key"의 약칭으로, 외래키를 말한다. '외래키'란 '다른 테이블에서도 같은 의미로 사용되는 열'을 의미하며 고객기업 테이블의 '업계코드'는 '업계기업 테이블의 기본키'에도 있다. 즉, '업계기업 테이블에 존재하지 않는 업계는 고객기업 테이블에도 존재할 수 없다'라는 것을 의미한다. 이것을 외래키 제약이라고도 부른다.

릴레이션십이란?

엔티티 간의 관계를 표현할 때 사용한다. 외래키가 존재하는 테이블은 해당 열이 다른 테이블의 기본키 열을 참조하는 것을 의미한다. 이 관련성을 '릴레이션십'이라고 한다. 업계기업 테이블과 고객기업 테이블과의 사이에서는 '일대다'의 관계가 존재한다. 이것은 업계 테이블의 1개의 업계에 대해 고객기업 테이블의 복수 기업이 대응하고 있다는 뜻이다. 고객기업의 테이블을 다시 보면 석유업계(D001)에는 A상사와 D상사가 대응하고 있고, 바이오 업계(D003)에는 C화학과 E섬유가 대응하고 있다. 즉 '한 업계에는 복수의 기업이 소속된다'라는 포함관계를 표현하는 것으로 '귀속 관계'라고 표현해도 좋을 것 같다.

이러한 관계를 표현할 때는 IE표기법에서는 아래와 같이 나타낸다.

ERD 작성예시

위에 배웠던 릴레이션십과 엔티티를 붙여서 ERD를 작성해보자. 업계기업 테이블의 1행은 고객기업 테이블에서 복수의 레코드와 연결될 가능성이 있다. 또한, D004의 시스템 업계처럼 고객기업 테이블에는 아직 기업이 등록되지 않은 업계도 있다. 즉 대응하는 기업의 수가 '0건'인 경우도 있다.

그래서 이번 경우에는 '0'과 '복수'의 기호를 조합한다. '고객기업 테이블'에서 보면 '업계'는 항상 한 개의 레코드로 대응한다. 따라서 '1'의 기호를 사용한다.

이것으로 릴레이션십을 포함한 ERD 다이어그램이 완성되었다.

참고자료

  • 데이터베이스 첫걸음 (저자: 미크, 출판사: 한빛미디어)
profile
효효 개발공부로그

0개의 댓글