- ERD 다이어그램 (Entity Relationship Diagram)
목차
개요
DB 설계를 위한 고수준의 개념적 데이터 모델 사용
데이터베이스 응용 예제
개념적 설계의 결과 - ERD
- ER 다이어그램은 Visual Language이다.
- visual한 도구를 사용해서 db 구조를 표현
개체, 개체 타입, 애트리뷰트, 키
- Entity : 개체
- Attribute: 속성
동일한 속성을 가지고 있는 개체들이 여러개 모이면,
=> 개체 집합, 개체 type
- 복합 속성: 주소와 같음
- 단순 속성: 나눌 수 없는 속성 (Number)
- 단일 값 속성: 어떤 직원의 Address가 하나만 있을 때
- 다치 속성: 어떤 직원의 주소가 여러군데 있을 때
- 유도된 속성: age는 birthdate만 있으면 값을 낼 수 있다.
- 저장된 속성: birthdate
- 개체 속성에 널 값을 가질 수 있다.
- 널은 값이 없다. 값을 모른다는 뜻 두개다 의미.
- 복합 속성은 중첩 괄호를 사용해서 표현할 수도 있다.
- 앞에서 그래프로 표현한 것을 괄호로 표현한 것임.
- 개체 타입은 동일한 속성을 갖는 개체들의 집합이다.
- EMPLOYEE가 모여있으면 EMPLOYEE 개체 집합
- COMPANY가 모여있으면 COMPANY 개체 집합
- Key 속성: 각 개체마다 서로 다른 값을 가지는 속성
- 도메인(값 집합): age 속성의 도메인은 (16살 ~ 70살)로 범위 제한
관계, 관계 타입, 구조적 제약조건
개체들 사이 관계에 대해 이야기해보자.
- r1은 e1이 d1에 다니고 있다는 관계를 나타냄.
- 이런 관계들을 다 모으면
관계 타입
(관게 집합) 이라고 함.
- n:1 관계
- 3진 관계도 있다.
- 공급자, 부품, 프로젝트
- 관계: 공급자가 어떤 프로젝트에 어떤 부품을 공급한다.
- ex) r1은, s1이라는 공급자가 p1이라는 부품을 j1이라는 프로젝트에 공급한다.
-
어떤 employee가 어떤 부서를 관리하다는 관계임/
-
ex) r1은, e2가 d1의 매니저임을 나타낸다.
-
1:1 관계라고 할 수 있음.
-
r1은, e1이 p1 프로젝트에 참여한다고 말할 수 있음.
-
m:n 관계
이런 관계를 ER 모델에서 어떻게 표현할 것이냐? 이런 것도 중요한 과제다.
고것에 대해 살펴보자 ~
-
동일한 3개의 Entity 타입에 대해서 하나의 삼진관계로 모델링할 수 있고, 2개의 이진관계로 모델링할 수도 있다.
-
다이아몬드 하나가, 두개의 entity type 을 연결하고 있으면 => 2진관계
-
다이아몬드 하나가, 세개의 entity type 을 연결하고 있으면 => 3진관계
-
2진관계는 몇대 몇이냐는 것을 적을 수 있다.
- 한 공급자가 하나의 part만을 공급한다. 1대 1이냐, 1대 n이냐, n:m이냐 관계에 대해서 고민
-
3진관계는 이 3entity type이 서로 관련이 있을 때, 즉, 어떤 공급자가 어떤 부품을 어떤 프로젝트에 공급할 때 ! , 그때 이 관련성 정보가 3가지 entity를 전부 엮어주는 역할을 한다.
-
3진관계가 2진관계보다 더 엄격하다.
- ex)