제1절 데이터모델링 및 설계


제1항 모델링의 이해

(1) 모델링의 정의

1) 모델이라고 하는 것은 모형축소형의 의미로서 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형

2) 사람이 살아가면서 나타날 수 있는 다양한 현상은 사람사물개념 등에 의해 발생된다고 할 수 있으며모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체

3) 모델링은 현실세계를 추상화단순화명확화하기 위해 일정한 표기법에 의해 표현하는 기법

4) 정보시스템 구축에서는 모델링을 계획/분석/설계 할 때 업무를 분석하고 설계하는데 이용하고 이후 구축/운영 단계에서는 변경과 관리의 목적으로 이용

 


(2) 모델링의 특징

1) 추상화

① 추상화(모형화가설적)는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미

② 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것

 

2) 단순화

① 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념

 

3) 명확화

① 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하여 정확하게 현상을 기술하는 것

제2항 정보 모델링과 데이터 모델링

 

 

(1) 정보 모델링(information modeling)

1) 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조(현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정

2) 정보모델링을 통하여 얻어진 결과를 정보 구조화라 함

3) 정보 구조를 구성하는 추상적 개념은 현실 세계의 객체에서 추상화된 개체(entity) 집합

 

 

(2) 데이터 모델링(data modeling)

1) 현실세계에 존재하는 개체를 컴퓨터 세계의 데이터 구조로 기술하는 것

2) 데이터 모델링의 과정

 


제3항 데이터 모델링

 

 



(1) 데이터 모델 (data model)의 개념

1) 현실 세계를 데이터베이스에 표현하는 중간 과정즉 데이터베이스 설계과정에서 데이터 구조를 표현하기 위해 사용되는 도구

2) 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는 개념적인 도구

3) 단순화추상화를 제공하기 위해 사용

4) 데이터베이스의 구조를 묘사하기 위해 사용되는 개념들의 집합

5) 데이터베이스의 구조는 데이터의 타입데이터간의 관계데이터를 유지하기 위해 필요한 제약들을 의미

 

 

(2) 개념적 데이터 모델링

1) 처음 현실세계에서 추상화 수준이 높은 상위 수준을 형상화하기 위해 개념적 데이터 모델링을 전개

2) 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링을 진행한다.

 

 

 

3) 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법

4) 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정

5) 개체(entity)를 추출하고 각 개체들 간의 관계를 정의하여 E-R 다이어그램을 만드는 과정까지를 말함

 

(3) 논리적 데이터 모델링

1) 엔티티 중심의 상위 수준의 데이터 모델이 완성되면 업무의 구체적인 모습과 흐름에 따른 구체화된 업무중심의 데이터 모델을 만들어 내는데 이것을 논리적인 데이터 모델링이라고 함.

2) 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법

 

3) 논리적 모델링 과정

① 개념적 모델링에서 추출하지 않았던 상세 속성들을 모두 추출함

② 정규화 수행

③ 데이터 표준화 수행

 


 

(4) 물리적(하위수준모델의 개념

1) 데이터베이스 저장구조에 따른 테이블스페이스 등을 고려한 방식을 물리적인 데이터 모델링이라고 함.

2) 레코드의 형식순서접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사

3) 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정

4) DBMS의 특성에 맞게 저장 구조를 정의해야 데이터베이스가 최적의 성능을 낼 수 있음

 

 

5) 물리적 모델링 시 트랜잭션저장 공간 설계 측면에서 고려할 사항

① 응답시간을 최소화

② 얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토

③ 데이터가 저장될 공간을 효율적으로 배치

 

 

(5) 데이터 모델의 구성요소

1) 논리적으로 표현된(추상적인 개념데이터 구조

2) 구성요소의 연산

3) 구성요소의 제약조건

 

(6) 데이터 모델스키마인스턴스의 관계

1) 모델 → 스키마 → 인스턴스

 

제4항 데이터 모델의 구성요소

(1) 개체 타입(entity type)

1) 같은 개체를 가지는 속성들의 집합

 

(2) 개체 인스턴스(entity instance)

1) 개체를 구성하고 있는 각 속성들이 값을 지녀 하나의 개체를 나타내는 것으로 개체 어커런스라고도 함.

 

(3) 개체 세트(entity set)

1) 개체 인스턴스의 집합

 

제5항 데이터베이스 설계

(1) 데이터베이스 생명주기(database life cycle)

 

1) 요구조건 분석 → 데이터베이스에 저장할 내용을 정하기 위해 사용자 요구사항 분석

2) 설계 → 개념적 설계 논리적 설계 물리적 설계

3) 구현 → 스키마 정의데이터베이스 구축

4) 운영 → 사용자의 요구에 맞는 서비스 제공

5) 감시 및 개선 → 새로운 요구조건 감시 및 성능 향상

 

(2) 데이터베이스 설계 단계

 

1) 요구조건 분석 → 데이터베이스에 저장할 내용을 정하기 위해 사용자 요구사항 분석

2) 개념적 설계 → DBMS에 독립적인 개념 스키마 설계 (트랜잭션 모델링 및 정의)

3) 논리적 설계 → DBMS에 맞는 스키마 설계 (트랜잭션 인터페이스 설계)

4) 물리적 설계 → DBMS에 맞는 물리적 구조 설계 (트랜잭션 세부 설계)

5) 구현 → DDL로 스키마 작성 (트랜잭션 작성)

 

(3) 데이터베이스 설계의 두가지 활동

1) 데이터중심 설계데이터베이스의 내용과 구조에 치중

2) 처리중심 설계데이터의 처리와 응용에 치중

 

(4) 데이터베이스 설계의 각 단계별 특징

1) 요구조건 분석

① 요구조건

ü 개체애트리뷰트관계성제약조건 등의 요구 조건 분석

ü 트랜잭션의 유형트랜잭션의 실행 빈도 등의 요구 조건 분석

ü 기관의 경영목표 및 정책규정 등의 제약조건 분석

 

② 요구조건 분석 절차

ü 사용자 그룹이나 응용 분야별로 정보의 내용과 처리 요구 조건의 수집

ü 범기관적 경영 목표 및 외적 환경 등 연구 분석

ü 수집된 정보로 공식적 요구조건 명세 작성 (관련 데이터 요소 및 트랜잭션 정의 포함)

ü 요구 조건 명세의 검토 (소프트웨어 공학기법: HIPO, SADT, DFDS )

 

2) 개념적 설계

① 개념 스키마 모델링 (데이터 중심 설계)

ü 데이터의 조직과 표현 (개체타입애트리뷰트관계성 결정)

ü E-R 다이어그램 같은 개념적 데이터 모델 사용

ü DBMS에 독립적인 추상적 데이터에 기초를 둔 개념

 

② 트랜잭션 모델링 (처리 중심 설계)

ü 요구조건 분석 결과로 식별된 응용을 검토하여 이들을 구현할 트랜잭션 기술

 

3) 논리적적 설계

① 특정 목표 DBMS가 처리할 수 있는 스키마 생성

 

② 논리적 설계의 3단계

ü 논리적 데이터 모델로 변환

ü 트랜잭션 인터페이스 설계

ü 스키마의 평가 및 정제

 

4) 물리적 설계

① 논리적 데이터베이스 구조로부터 효율적이고 구현 가능한 물리적 구조를 생성하는 것

ü 저장 레코드 양식 설계

ü 레코드 집중의 분석 및 설계

ü 접근 경로 설계

 

② 물리적 설계시 고려사항

ü 응답시간

ü 저장 공간 효율화

ü 트랜잭션 처리도

 

5) 구현

① 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(인덱스등)를 만듦

 

6) 운영

① 구현된 데이터베이스를 기반으로 소프트웨어를 구축하여 서비스를 제공

 

7) 감시 및 개선

① 데이터베이스 운영에 따른 시스템의 문제를 관찰하고 데이터베이스 자체의 문제점을 파악하여 개선

 

(5) 트랜잭션

1) 트랜잭션(Transaction)의 특징

① 원자성(atomicity)

ü 자기 연산을 전부 또는 전무 실행만 한다.

 

② 일관성(consistency)

ü 트랜잭션 실행 후 일관성 있는 데이터베이스 상태로 변환한다.

 

③ 격리성(isolation)

ü 트랜잭션 실행 중 연산의 중간 결과에 다른 트랜잭션이 접근할 수 없다.

 

④ 영속성(durability)

ü 실행이 성공적으로 완료되면 그 결과는 영속적이다.

'정보처리기사 > 데이터베이스' 카테고리의 다른 글

10. 정규화  (0) 2017.08.01
09. 개체-관계(E-R) 모델  (0) 2017.08.01
07. SQL(Structure Query Language)  (0) 2017.08.01
06. 관계데이터언어(관계대수)  (0) 2017.08.01
05. 관계데이터모델  (0) 2017.08.01

+ Recent posts