본문 바로가기
{"CODING": undefind};/DataBase

2. 데이터베이스 모델링

by 잼잼미 2021. 2. 11.

 

1. 데이터 모델링

 

- 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업

  실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정

* 데이터 모델 : 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합

 

- 모델링의 단계

: 사용자 요구사항 분석 -(데이터 및 없무)-> 개념적 데이터 모델링 -(ER 모델)-> 논리적 데이터 모델링

-(관계형 모델)-> 물리적 데이터 모델링 -(물리적 세부사항)-> 내부스키마

1) 개념적 데이터 모델링

- 요구사항의 해석 오류를 방지

- 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정

2) 논리적 데이터 모델링

- 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정

- 데이터 정의 언어로 기술된 개념 스키마 생성

3) 물리적 데이터 모델링

- 데이터베이스 파일의 내부 저장구조, 파일구성, 인덱스, 접근 경로 등을 결정하는 과정

 

2. 사용자 요구사항 분석

 

- 사용자 요구사항의 개념

1) 시스템의 대상이 되는 업무를 분석

- 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원

- 필요한 데이터를 저장 및 운용할 수 있는 구조 개발

2) 도출, 분석, 기록 단계로 수행

 

- (제안요청서) > "요구사항 도출" > (요구사항 명세서) > "요구사항 분석" > (요구사항 정의서) > "요구사항 기록"

 

3. ER 모델

 

- 실세계의 속성들로 이루어진 개체(entity)와 개체 사이의 관계(relationship)를 정형화시킨 모델

- 개념적 모델링 단계에서 사용되는 데이터 모델

 

- 구성요소 : 개체 집합, 관계 집합, 속성

1) 개체 집합

- 개체 (entity) : 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물, 개체를 설명하는 여러 속성들로 구성

- 개체 집합 (entity set) : 같은 속성을 공유하는 개체들의 모임

=> ER 모델에서는 실제 여러 개체들을 추상화시켜 표현

ex) 여러 학생이 모인 학생 집합 -> 학생을 학생번호, 학생이름, 성별, 나이 값을 가진 개체 집합으로 표현

2) 관계 집합

- 관계 : 개체와 개체 사이의 연관성

- 관계 집합 : 개체 집합 간의 연결 관계

=> 학생번호, ...., 나이 값으로 표현된 학생 개체 집합 -> 학과 개체 집합과의 사이에서 전공 관계 집합으로 연결

3) 속성

- 개체를 구체적으로 설명, 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분

- 속성의 종류

1) 단순 속성 : 더 작은 구성요소로 나눌 수 없는 속성 ex) 학생- 학생이름,성별,나이,...

2) 복합 속성 : 더 작은 구성요소로 나눌 수 있는 속성 ex) 학생- 생년월일- 년,월,일

------------------------------------------------------

3) 단일값 속성 : 한 개체에 대해 단 하나의 값만을 갖는 속성

4) 다중값 속성 : 한 개체에 대해 여러 개의 값을 갖는 속성

------------------------------------------------------

5) 유도 속성 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성

6) 저장 속성 : 유도 속성을 위해 사용될 수 있는 속성

=> 나이는 단순 속성, 단일값 속성, 유도 속성

 

- 제약조건

1) 사상수(mapping cardinality)

: 관계 집합에 참가한 개체 집합에 대해 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시

(사상수 비율은 1:1(일대일), 1:N(일대다), N:1(다대일), M:N(다대다)의 형태가 있다)

2) 참가 제약조건

: 특정 개체집합이 관계 집합에 참여할 때 모든 개체가 관계에 참여한다면 전체적 참여,

일부만 참가한다면 부분적 참여

구조적 제약조건을 통해 개체가 최소 몇 번, 최대 몇 번까지 관계에 참여할 수 있는지 정의 가능

3) 키(key) 속성

: 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합

 

- 특수 속성과 특수 관계

- 관계 집합의 속성 : 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성

- 재귀적 관계 : 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계

 

- 약한 개체 집합 : 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합

- 강한 개체 집합 : 약한 개체 집합과 연결되는 일반 개체 집합