본문 바로가기
자격증/정보처리기사

E-R 다이어그램

by 두두리안 2022. 7. 2.
728x90

목차

1.E-R(Entity-Relationship) 다이어그램
2.E-R 다이어그램 표기법
3.관계 스키마
4.확장 E-R 다이어그램

1.E-R(Entity-Relationship) 다이어그램

1-1. E-R 다이어그램의 개념

* 1976년 피터 첸(Peter Chen)에 의해서 최초로 제안
* 업무분석결과로 도출된 개체와 실체 간의 관계를 그림형태로 묘사한것
* 단순성이 뛰어나 개념 데이터 모델링과 논리 데이터 모델링 등에서 가장 일반적으로 이용

1-2. E-R 다이어그램의 특징

* 논리적인 그림이기 때문에 시스템에 아무런 영향을 받지 않는다
* 기본키, 외래키, 성능, 시스템 구조등 물리적 시스템 환경은 고려하지 않는다
* 잘 설계된 E-R 다이어그램은 업무 수행방식의 변경에 영향을 거의 받지 않는다
* 업무영역이 변경되는 경우엔 설계변경이 발생할수 있다
* 하나의 개체는 하나이상의 테이블 또는 한 테이블 일부로 전환될수 있다

2.E-R 다이어그램 표기법

2-1. 개체

* 사물 또는 사건을 의미하며 사각형으로 표시한다
* 사각형 내부에 개체명을 대문자, 단수형으로 정의
* 개체명은 유일

2-2. 속성

* 개체가 가지고 있는 요소 또는 성질을 의미하며 타원으로 표시
* 개체명과 동일한 명칭을 사용할수 없고 단수형으로 정의
* 속성에 Null값 허용 여부를 고려

2-3. 관계

2-4. E-R 다이어그램 작성시 고려사항

* 개체들은 정렬하여 중심부에 배열하고 관계있는 개체는 서로 가까이 둔다
* 업무 흐름과 관련된 개체는 진행순서에 따라 왼쪽위에서 오른쪽 아래로 배열한다
* 사선이 아닌 수직, 수평선을 이용하여 관계를 표기
* 교차선이나 관계선이 너무 길지 않게끔 배열
* 관계있는 개체끼리 묶어준다

3.관계 스키마

3-1. 관계 스키마의 개념

* 현실 세계를 데이터베이스에 정확하게 표현하기 위한 논리적 구조를 결정
* E-R 모델에 기초하여 릴레이션 구성
* 중복 및 불필요한 데이터가 발생하지 않도록 설계
* 속성 간의 관계와 데이터 종속성을 고려하여 설계
* 스키마의 변환원리: 분해의원칙, 정보 무손실 원칙, 데이터 중복감소의 원칙

3-2. 이상현상(Anomaly)

1. 이상 현상의 정의: 잘못된 스키마 설계로 인해 릴레이션에 예기치 못한 현상이 발생하는것을 의미
2. 이상 현상의 종류
    * 삭제 이상: 특정 튜플을 삭제할때, 관련된 정보도 함께 삭제하지 않으면 삭제가 불가능한 상태
    * 삽입 이상: 특정 튜플을 삽입할때, 관련되지 않은 정보도 함께 삽입하지 않으면 삽입이 불가능한 상태
    * 갱신 이상: 특정 데이터를 갱신할때, 데이터의 불일치가 발생하는 상태

4.확장 E-R 다이어그램

4-1. 확장 E-R 다이어그램의 개요

* 기존의 E-R 다이어그램의 단점을 보완하기 위해 제작된 모델
* 재사용, 상속, 확장성 등의 개념을 적용하여 제작된다
* 현실세계의 데이터를 디지털 데이터로 좀더 쉽게 표현할수 있다

4-2. 슈퍼타입과 서브타입

* 하나의 슈퍼타입은 여러개의 서브타입으로 나누어진다
* 슈퍼타입과 서브타입의 관계는 'is-a' 관계를 가진다
* 서브타입은 또 다른 개체 타입의 슈퍼타입이 될수 있다

4-3. 특수화와 일반화

1. 특수화(Specialization)
    * 하나의 개체 타입을 여러개의 하위 레벨 개체 타입으로 분리하는 것
    * 하향식 설계 방식으로, 'is-a' 관계를 기본으로 한다
    * 상위 개체 타입에서 하위 개체 타입을 보는 관점으로서 하위 개념으로 내려갈수록 특수화 된다
2. 일반화(Generalization)
    * 여러개체 타입의 공통적인 특성을 상위 개체 타입으로 표현하는것
    * 하위 개체 타입은 상위 개체 타입의 속성과 메소드를 상속받을수 있다
    * 상향식 설계 방식이다, 'is-a' 관계를 기본으로 한다

4-4. 상속과 집단화

1. 상속(Inheritance)
    * 새로운 개체 타입을 설계할때 기존의 개체 타입을 그래도 사용
    * 단일 상속뿐 아니라 여러개의 상위 개체 타입으로부터 다중 상속이 가능
    * 최상위 개체 타입이 가장 많은 상속을 시키며 'is-a'관계를 가진다
2. 집단화(Aggregation)
    * 각각의 관련있는 개체 타입을 통해 하나의 새로운 개체 타입을 만드는것
    * 'part-whole' 관계 또는 'is-a-part-of'관계를 표현할수 있다
    * 개체 타입들 간의 구조적인 집약관계이다
    * 특수화와 일반화는 상속관계를 가질수 있지만 집단화는 상속관계를 가질수 없다

4-5. 분류화(Classification)

* 개체 타입과 그 개체 타입의 개체 어커런스들 간의 관계를 표현하는것
* 'is-member-of' 관계를 표현하며 상속관계를 가질수 없다

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'자격증 > 정보처리기사' 카테고리의 다른 글

데이터조작어(DML)  (0) 2022.07.03
데이터정의어(DDL)  (0) 2022.07.02
논리 데이터 모델링  (0) 2022.07.01
관계형데이터베이스(RDBMS)  (0) 2022.07.01
성능분석 및 품질평가  (0) 2022.06.30