열정 실천

002. 데이터 베이스 설계 - 개념적 설계 _ E-R 다이어그램 (ERD, EERD) 본문

CS/DATABASE

002. 데이터 베이스 설계 - 개념적 설계 _ E-R 다이어그램 (ERD, EERD)

구운오니 2024. 9. 21. 20:05
728x90

데이터 베이스 설계는

 

요구 조건 분석 ▶ 개념적 설계 논리적 설계 물리적 설계 구현 

 

이 5단계로 이루어진다.  

 

이 중 개념적 설계에 대해 깊게 공부해보자!!!

 

개념적 설계 단계에서는 정보의 구조를 얻기 위하여 현실 세계의 무한성와 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 이 단계에서는 개념 스키마 모델링트랜잭션 모델링을 병행 수행한다. 또한 요구 분석에서 나온 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성한다. 

 

 

 

 

E-R 다이어그램 (ERD)

 

 

ERD ::  Entity-Relationship Diagram

Entity-Relationship 이름 그대로 개체와 개체 사이의 관계를 한 눈에 알아보기 쉽게 그려놓은 다이어그램이다. 

개체(Entity)는 E-R 다이어그램에서 독립적인 정보 단위로 각각의 개체(Entity)는 한 개 이상의 속성(Attribute)를 가진다. 

 

 

1) Entity (개체)  

- 독립적으로 존재하는 객체를 의미하며 동일한 객체는 존재하지 않는다. 

- 개체는 한 개 이상의 속성을 가질 수 있다. (has a)

- ERD에서 "사각형"으로 표기한다.

 

 

 

 

 

2) Attribute (속성) 

 

- 개체가 가지고 있는 정보를 의미한다. ㅇ

- ERD에서 "타원"으로 표기한다. 

 

 

 

- 각각의 개체를 구별할 수 있는 유일한 값인 "기본키 (Primary Key)"는 밑줄을 그어 표기한다. -  Identifier

- pk(기본키)가 정의되지 않은 entity를 weak entity라고 하며 단독으로 존재할 수 없고 다른 개체에 의존하여 존재한다. 

 

 

속성 종류

 

Simple Attribute : 더 이상 나누어지지 않는 속성

Composite Attribute  : 하나의 속성 값 밑에 여러 속성이 또 존재하는 복합 속성 (like 주소 - (도시),(번지) ) 

Multi-Valued Attribute : 하나의 객체가 여러 값을 가질 수 있는 속성 (like 전화번호가 여러개)

 

 

 

 

 

 

 

3) Relationship (관계)

- 두 개 이상 개체 간의 관계를 의미한다. 

- ERD에서 "마름모"로 표기한다.  * Cross-foot 표기법도 존재 

 

 

 

▶ 용어 헷갈리지?!  잘봐바!◀

 

* Entity : 하나하나의 instance를 의미 

* Entity Set : 동일한 속성(Attribute)를 갖는 Entity 집합

* Entity Type : Entity type을 공유하는 Entity set에 대한 스키마(schema)

* Value Sets (Domains) : 특정 속성이 가질 수 있는 모든 값

 

 

학생이라는 Entity Type에 속성값은 (학생 id, 이름, 학년, 연락처)가 있어. 각각의 Entity를 구별하는 속성인 기본키는 학생id라고 할 수 있어. 여러 Entity 중에 (1, 홍길동, 4학년, 소프트웨어학과)는 하나의 entity이고 우리반 학생 모든 entity를 모으면 Entity Set이 되지! 학년이라는 속성이 가지는 Domains는 1,2,3,4 뿐이야!  😁 ^^  

 

 

관계 종류  

 

 

 

 

 까마귀발 표기법

 

 

 

E-R 다이어그램 표기

 

 

 

 

 

 

ERD 그려보기

 

 

주어진 자료

 

 

 

사각형, 타원, 마름모 이용

 

cross foot 이용!

 

 

 

 

EERD - Enhanced ERD

 

 

 

각각의 개체는 슈퍼클래스 또는 서브클래스라는 또 다른 의미를 가질 수 있다.

지금까지 "has a" 관계만 성립되었다면, EERD는 "is a"가 성립하는 관계 추가된 것이다. 

- Disjoint 

- Union

 

 

 

Disjoint 

 

 

슈퍼클래스 : Employee 

서브클래스 : Security, Technician, Engineer

 

d 기호는 disjoint로 서로소 관계를 뜻한다. 즉, 상위클래스인 person은 하위클래스인 세 개의 직업 중 하나만 가질 수 있다. (overlapping X)

 

 

 

 

Union

Union은  서브타입의 특성들을 슈퍼타입으로 통합할 수 있다는 것을 뜻한다. 


슈퍼클래스 : Owner

서브클래스 : Person, Bank, Company

 

 

만약 Owner가 Bank서브타입일 경우 Bank속성을 모두 상속받아 전체 속성은 (Owner_Id, B_name, B_address)가 된다. 

 

 

EERD 3가지 타입 차이

 

  • O (Overlapping): 하위 개체가 동시에 여러 상위 개체에 속할 수 있다.
  • D (Disjoint): 하위 개체는 서로 배타적이며, 한 개체는 하나의 하위 개체에만 속할 수 있다.
  • U (Union): 여러 상위 개체로부터 하위 개체가 속성을 상속받는다.

 

 

728x90