June is Combung

Entity-Relationship Model(1) 본문

데이터베이스

Entity-Relationship Model(1)

june__Park 2022. 10. 20. 18:29

-설계단계

> 3단계로 구성

1. 요구분석(Requirements analysis)

예상 데이터베이스 사용자의 데이터 요구를 완전히 특성화. (사용자들이 DB로부터 원하는 바 찾기)

2. 개념적 DB설계(Conceptual Design)

DBMS를 필요로하지 않음.
E-R model을 이용
실세계의 개념을 추상화함.
여러 개체, 관계 중 어떤 정보를 DB로 구성할 지를 정하는 단계.

- 데이터 모델을 선택
ex) Hierarchical, Network, Entity-Relationship Model
선택한 테이터 모델의 개념을 적용.

-이 요구사항들을 개념적 스키마로 변환.
완전히 개발된 개념 스키마는 기업의 기능 요구사항을 나타냄.
데이터에 대해 수행될 작업(또는 트랜잭션) 종류 설명

3. 논리적/물리적 DB 설계(Logical/Physical Design)

데이터베이스 구현에 대한 추상 데이터 모델

-Logical Design
설계한 DB 구현을 위해 DBMS 선정.
선정한 DBMS 데이터 모델에 맞춰서 개념적 DB설계를 DB스키마로 변환
데이터베이스 스키마 결정
데이터베이스 설계에서는 관계 스키마의 "좋은" 컬렉션을 찾아야 함.
Business decision – 데이터베이스에 어떤 속성을 기록해야 하는가?
Computer Science decision – 어떤 관계 스키마를 가져야하며, 속성을 다양한 관계 스키마 간에 어떻게 분배해야 하는가?

-Physical Design
DB에게 요구되는 성능기준을 충족하기 위해 더욱 정제하는 과정
스키마를 추상적 데이터베이스 구조로 변환
Entities를 테이블로, 인스턴스를 행으로, 속성을 열로 변환
몇 개의 테이블에 인덱스를 구축하고 몇 개의 테이블을 클러스터링할 지 선택하는 등 결정

- 대안 설계

데이터베이스 스키마를 설계할 때, 두 가지 주요 함정을 피해야 함.

1. 중복: 설계가 잘못되면 정보가 반복될 수 있음.
만약 우리가 각 섹션에 대한 코스 아이디와 제목을 저장한다면? ->  제목 중복.
> 각 섹션에 대한 코스 ID만 저장하고 제목을 과정 ID와 한 번만 연결하는 것이 더 적절함.
정보의 중복 표현은 다양한 정보 복사본 간의 데이터 불일치를 초래할 수 있음.

2. 불완전성: 잘못된 설계는 기업의 특정 측면을 모델링하기 어렵거나 불가능하게 만들 수 있음.
> course relation이 없는 section relation이 있는 경우, 아직 개설되지 않은 새 course에 대한 정보를 나타낼 수 없음.

나쁜 설계를 피하는 것은 충분하지 않음.

우리가 선택해야 하는 좋은 디자인이 많을지도 모름.

- 데이터베이스 모델링

데이터베이스 설계 단계의 주요한 부분은 어떻게 다양한 타입들을 나타낼지 결정하는 것임.
- people, places, products,...
-이러한 명확하게 식별 가능한 항목을 엔티티라고 함.

- University DB에서

엔티티는 instructors, students, departments, courses, sections,...
-course는 한 semester에 여러 번(섹션) 실행되었을 수 있음.

다양한 엔티티들은 다양한 방식으로 서로 연관되어 있으며, 모든 엔티티는 데이터베이스 설계에 캡처되어야 함.
- 예를 들어, 강사가 섹션을 가르치는(teaches) 동안 학생은 course section을 수강(takes)
- teaches와 takes는 엔티티간의 관계의 예

Entity-Relationship Model

엔티티 및 관계 모음으로 엔터프라이즈 모델링
- 엔티티
   > 기업의 "물건" 또는 "물건"은 다른 사물들과 구별될 수 있음. 
- 관계
   > 여러 실체간의 결부.
엔티티-관계 다이어그램으로 표시

ER model

ER 데이터 모델은 데이터베이스의 전체적인 논리적 구조를 나타내는 엔터프라이즈 스키마를 지정할 수 있도록 하여
데이터베이스 설계를 용이하게 하기 위해 개발됨.

ER 데이터 모델은 세 가지 기본 개념을 사용
- entity sets
- relationship sets
- attributes

ER 다이어그램

데이터베이스의 전체적인 논리적 구조를 그래픽으로 표현

Entity Sets

엔티티: 다른 개체와 구별할 수 있는 개체
- 예: 특정 개인, 회사, 이벤트, 플랜트

엔티티 집합: 동일한 속성을 공유하는 동일한 유형의 엔티티 집합
- 예: 모든 사람, 회사, 트리, 휴일 집합

엔티티는 속성 집합으로 표시됨
- 엔티티 집합의 모든 구성원이 가지고 있는 기술 속성
- 예: 
       instructor = (ID, name, salary)
       course = (course_id, title, credits)

속성의 하위 집합은 엔티티 집합의 기본 키를 형성하며 집합의 각 구성원을 고유하게 식별함.

 

 

Comments