본문 바로가기
2023-2/데이터베이스

6. ER 모델을 이용한 데이터 모델링

by 철없는민물장어 2023. 10. 21.
728x90
반응형

개념적 설계

: 특정 체계의 정보 요구사항을 구성하는 개체, 관계, 속성들을 인식

-> 도형화/명세화 한 것이 Entity Relationship Diagram

 

개념적 설계의 필요성

- 데이터 독립성 제공을위한 안정된 자료 구조의 창출.

특정 DBMS에 적합한 데이터모델로 변환 용이

ER모델과 관련 명세서를 통한 산출물의 이해도 증진

 

논리적 설계

개념적 스키마(ER 모델) -> DBMS의 논리적 스키마로 변환

 

개념적 설계 - 스키마의 표현력과 완전성을 추구

논리적 설계 - 논리적 모델이 제공하는 자료 구조와 제약사항을 효율적으로 이용

 

논리적 설계의 접근 방향

- ER 다이어그램을 단순한 ER 다이어그램으로 변환

- 단순한 ER 다이어그램을 DBMS의 논리적 모델로 변형

 

 

물리적 설계

논리적 스키마를 이용하여 효율적인 물리적 데이터베이스를 구성하는 일

 

물리적 데이터베이스의 구조

: 저장 레코드의 형식, 저장 순서, 접근 경로, 물리적 저장 장치의 할당

 

물리적 DB구조는 세부적인 성능에 영향을 미침.

DBA가 DB구조 구성에 관여 가능

 


ER모델의 개념

  • Entity
  • Attribute
  • 단순/복합 속성
  • 단일/다중 값 속성
  • Null 속성
  • 유도 속성

Entity

: DB에서 표현해야하는 핵심적인 사물이나 개념

 

Attribute

: Entity를 표현하기 위해 사용하는 속성.

각 속성은 value set(또는 data type, domain)을 갖는다

 

속성의 분류

- 단순 속성: 더 이상의 작은 요소로 분할할 수 없는 값

- 복합 속성: 몇 개의 더 작은 속성들로 분할 가능한 속성

- 단일 값: 하나의 값만 가질 경우

- 다중 값 속성: 여러개의 값을 가질 경우(예: 취미(독서,영화감상,요리)

- 복합-다중 값 속성 혼합 가능.(예: 이전 학위(대학,연도,학위명,분야)

- Null 속성: 값이 입력되지 않은 속성

- 유도 속성: 다른 속성의 값을 이용하여 유도할 수 있는 속성(예: 나이는 주민번호 속성을 이용하여 유도 가능)

 

Entity Type과 Entity Set

Entity Type

: 동일한 속성들을 갖는 개체들의 집합.

이름과 속성 리스트를 갖는다.(=스키마)

(예: Employee(Name, Age, Salary)).

 

Entity Set

개체들의 집합.(set of instances)

 


Key Attribute

Entity set에 포함된 특정 개체를 식별하는 속성들의 집합.

- 유일성(Uniqueness)

- 최소성(Minimality)

 

슈퍼 키

:유일성을 만족하는 속성들의 집합

군더더기 속성들이 포함될 수 있음.

 

후보 키

: 군더더기가 없는 슈퍼 키.(유일성 + 최소성)

예: 사원의 후보 키-주민등록번호, 사원번호

 

주 키

후보 키 중의 하나를 선택.

모든 개체는 반드시 주 키를 갖는다? -> X

(관계형 DB에서는 안되지만 이건 ER이기 때문. 서로 다른 개체인데 내용이 같을 수 있는 것 => weak entity)

 

ERD 표기법

출처: https://itwiki.kr/w/ER_%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8


Relationship and Relationship Type

Relationship(관계)

둘 이상의 서로 다른 개체들을 연결

 

Relationship type

동일한 타입의 관계들을 묶는 개념

(예: Employee와 Project 사이에 Works_on 관계)

 

Relayionship type의 차수(degree)

참여하는 개체의 수

대부분의 경우 이진관계.(2개의 엔티티 참여)

 

이진 관계에 대한 제약 조건들

- Cardinality Ratios(최대 참여 수 조건): 일대일 관계, 일대다 관계, 다대일 관계, 다대다 관계

- Participation Constraint(최소 참여 수 조건): 완전참여, 부분 참여

 

-완전 참여: total participation: 모든 개체가 관계에 참여해야함

- 부분 참여: Partial participation: 일부 개체는 관계에 참여하지 않을 수 있음

 

Relaytionship도 Attribute를 가질 수 있다.

1:1이나 1:n의 관계에서는 개체로 속성 이동 가능.

n:n 관계에서는 relationship에 속성을 포함.

 

ERD에서 관계의 표현

개체와 개체를 연결하는 선과 마름모.

Cardinality: 숫자(1또는 N)로 표시.

Participation: 겹선=total, 홑선=partial

(min,max)표시를 이용하여 동시에 표현 가능.

 

재귀: Recursive Relationship Type의 경우

ERD에서 역할(role)을 같이 표시하는것이 좋음

 

 

 

 

 

 

728x90
반응형

'2023-2 > 데이터베이스' 카테고리의 다른 글

물리적 설계  (0) 2023.12.16
SQL: 모든 프로젝트에 참가하는 직원의 이름을 검색하라  (1) 2023.10.21
5. 데이터베이스 응용 개발  (0) 2023.10.21
4. 고급 SQL  (0) 2023.10.12
3. SQL  (0) 2023.09.26

댓글