[Database] 2. ERD(Entity Relationship Diagram)
목표
: ERD, 엔터티, 인스턴스, 속성을 이해한다.
1. ERD 정의
ERD(Entity Relationship Diagram) 은 존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)이다. 1976년 피터 첸(Peter Chen)이 데이터 모델링을 위해 만든 표기법이며 데이터 모델링의 표준으로 지금까지 사용되고 있다. 대표적인 표기법으로는 Chen, IE/Crow’s Foot, Barker, UML 이 있다.
cf. 주로 IE, Barker 표기법을 사용한다.
2. ERD 작성 순서
- 엔터티 도출
- 엔터티 배치
- 엔터티간 관계 설정
- 관계명 기술
- 관계의 참여도 기술
- 관계의 필수여부 기술
3. 엔터티, 인스턴스, 속성
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
(1) 엔터티(Entity)
엔터티 는 데이터의 집합, 즉 저장되며 관리되는 데이터를 의미한다.
🔍 엔터티 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 함
- 유일한 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 인스턴스의 집합(한 개가 아니라 두 개 이상)
- 엔터티는 업무 프로세스에 의해 이용되어야 함
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
🔍 엔터티 분류
- 유형과 무형에 따른 엔터티 분류
종류 | 설명 |
---|---|
유형 엔터티 | 물리적, 안정적, 지속적인 엔터티 (예: 제품, 사원 등) |
개념 엔터티 | 물리적이진 않지만 개념적으로 존재하며 정보로 구분되는 엔터티 (예: 금융상품, 부서, 강의 등) |
사건 엔터티 | 비즈니스 프로세스에 따라 발생되는 엔터티로 데이터가 많음 (예: 구매, 판매, 영업, 수납 등) |
- 발생 시점에 따른 엔터티 분류
종류 | 설명 |
---|---|
기본 엔터티 | 키 엔터티라고 부르며 독립적으로 생성 및 관리 됨 (예: 고객, 부서, 판매제품 등) |
중심 엔터티 | 기본 엔터티로 부터 발생되는 행위 엔터티를 생성하는 중간 엔터티 (예: 계좌, 주문, 수납 등) |
행위 엔터티 | 상위에 있는 두 개 이상의 엔터티로 부터 바생되는 엔터티 (예: 주문 이력, 접속 이력 등) |
(2) 속성(Attribute)
엔터티가 가지는 항목이며 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위를 뜻한다.
🔍 도메인(Domain)
각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain) 이라고 한다. 엔터티 내에서 속성에 대한 데이터타입과 크기 그리고 제약사항을 지정하는 것이다.
🔍 속성의 명칭 부여방법
- 업무에서 사용하는 이름을 부여한다.
- 서술식 속성명은 사용하지 않는다.
- 약어 사용은 가급적 제한한다.
- 전체 데이터모델에서 유일성을 확보하는 것이 좋다.
🔍 속성의 특성에 따른 분류
종류 | 설명 |
---|---|
기본 속성 | 비즈니스 프로세스에서 도출한 본래의 속성 (예: 이름, ID, 전화번호 등) |
설계 속성 | 데이터 모델링 과정에서 발생되는 속성 (예: 상품코드, 지점코드 등) |
파생 속성 | 다른 속성에 의해서 만들어지는 속성 (예: 평균 배송일, 전체 판매액 등) |
SQLD 기출문제: 데이터를 조회할 때 빠른 성능을 낼 수 있도록 하기 위해 원래 속성의 값을 계산하여 저장할 수 있도록 만든 속성을 파생 속성 이라고 함
4. Reference
- ⭐️도서: SQL 자격검정 실전 문제 (저자: 한국데이터산업진흥원)
- ⭐️유튜브: EPASSKOREA, [SQLD 1과목 데이터모델링의 이해] 데이터 모델링
👩🏻💻개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다.
댓글남기기