728x90

사전 조사 분석

물리 데이터베이스 설계

- 논리적 구조로 표현된 논리적 데이터베이스를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변화하는 과정

데이터베이스 설계 순서
- 요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현

- 물리적 설계 단계에서 수행해야 할 것

    -> 저장 레코드의 양식 설계

    -> 레코드 집중의 분석 및 설계

    -> 접근 경로 설계

- 물리적 데이터베이스 구조는 여러 가지 타입의 저장 레코드 집합이라는 면에서 단순한 파일과 다름

- 물리적 설계 옵션

    -> 반응시간 : 트랜잭션 수행을 요구한 시점부터 처리 결과를 얻을 때까지의 경과 시간

    -> 공간 활용도 : 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양

    -> 트랜잭션 처리량 : 단위시간 동안 데이터베이스 시스템에 의해 처리될 수 있는 트랜잭션의 평균 개수

 

데이터 명명 규칙 파악

- 물리 데이터 모델에 적용해야하는 규칙

- 데이터 표준화 및 논리 데이터베이스 설계의 결과물들을 통해 파악

- 물리-논리 데이터베이스 설계 적용되는 명명규칙은 일관성 유지

- 명명 규칙을 파악하기 위해선 도메인과 데이터 사전에 대한 지식 필요

 

시스템 자원 파악

- 데이터베이스 설치에 영향을 미칠 수 있는 물리적인 요소

- 하드웨어 자원, 운영체제 및 DBMS의 버전, DMBS 파라미터 정보 등으로 구분

 

데이터베이스 관리 요소 파악

- 데이터베이스 운영과 관련된 관리요소

- 데이터베이스 관리 요소를 파악한 후 이를 기반으로 시스템 조사 분석서를 작성

- 시스템 조사 분석서를 기반으로 다음과 같은 요소들을 파악

    -> 데이터베이스 구조 : 데이터베이스 구조에 따라 문제 발생 시 대응 방법이 다름

    -> 이중화 구성 : 문제 발생에 대비하여 동일한 데이터베이스를 복제하여 관리

    -> 분산 데이터베이스 : 물리적인 피해에 데이터 유실을 최소화할 수 있고 장애로 인한 데이터 유실 복구에 효과적

    -> 접근 제어 / 통제 : 접근 가능한 사용자의 권한 남용으로 인한 정보 유출 및 변조가 빈번하게 발생

    -> DB암호화 : 데이터 암호화, 암호 키에 대한 인증 등을 통해 데이터 유출 시 데이터의 복호화를 어렵게 함

 

데이터베이스 저장 공간 설계

테이블

- 데이터베이스의 가장 기본적인 객체로써 행(Row)과 열(Column)으로 구성됨

- 논리 설계 단계의 개체(Entity)에 대응하는 객체

- 종류에는 일반 테이블, 클러스터 인덱스 테이블, 파티셔닝 테이블, 외부 테이블, 임시 테이블 등이 있음

 

일반 테이블

- 현재 사용되는 대부분의 DBMS(DataBase Management System)에서 표준 테이블로 사용되는 테이블

클러스터드 인덱스 테이블

- 기본키나 인덱스키의 순서에 따라 데이터가 저장되는 테이블

- 일반적인 인덱스를 사용하는 테이블에 비해 접근 경로가 단축

기본키인 학번을 기준으로 정렬

파티셔닝 테이블

- 대용량의 테이블을 작은 논리적인 단위인 파티션으로 나눈 테이블

- 대용량의 데이터를 효과적으로 관리할 수 있지만 파티션 키를 잘못 구성하면 성능 저하 등 역효과를 초래할 수 있음

- 방식에 따라 범위 분할, 해시 분할, 조합 분할 등으로 나뉨

    -> 범위 분할 : 지정한 열의 값을 기준으로 분할

    -> 해시 분할 : 해시 함수를 적용한 결과 값에 따라 데이터를 분할

    -> 조합 분할 : 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할

외부 테이블

- 데이터베이스에서 일반 테이블처럼 이용할 수 있는 외부 파일로 데이터베이스 내에 객체로 존재

- 데이터 쉐어하우스, ETL(Extraction Transformation Loading, 추출 변환 적재) 등의 작업에 사용

 

임시 테이블

- 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블

- 절차적인 처리를 위해 임시로 사용

- 저장된 데이터는 트랜잭션이 종료되면 삭제

 

칼럼

- 테이블의 열을 구성하는 요소로 데이터 타입과 길이 등으로 정의

- 데이터 타입은 데이터의 일관성 유지를 위해 사용되는 가장 기본적인 것

- 도메인을 정의한 경우 도메인에 따라 데이터의 타입과 길이가 정의

- 두 칼럼을 비교하는 연산에서 두 칼럼의 데이터 타입이나 길이가 다르면 DBMS 내부적으로 데이터 타입 변화 후 비교 연산 수행

- 참조 관계인 칼럼들은 데이터 타입과 길이가 일치해야 함

 

테이블스페이스

- 테이블이 저장되는 논리적인 영역으로 하나의 테이블스페이스에 하나 또는 그 이상의 테이블을 저장할 수 있음

- 테이블을 저장하면 논리적으론 테이블스페이스에 물리적으론 연관된 데이터 파일에 저장됨

- 테이블스페이스를 테이블, 테이블스페이스, 데이터 파일로 나눠 관리하면 논리적 구성이 물리적 구성에 종속되지 않아 투명성이 보장됨

    -> 투명성 : 사실의 존재 여부를 염두에 두지 않아도 되는 성질

- 데이터베이스에 저장되는 내용에 따라 테이블, 인덱스, 임시 등의 용도로 구분하여 설계

 

트랜잭션 및 CRUD 분석

트랜잭션의 정의

- 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하기 위한 작업 단위 또는 한꺼번에 수행되어야 할 일련의 연산들을 의미

- 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적인 단위

- 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위

 

트랜잭션의 특성

- 원자성(Atomicity)

    -> all or nothing

    -> 데이터베이스에 반영되도록 완전히 완료 아니면 전혀 반영되지 않도록 복구되어야 함

    -> 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 함

- 일관성(Consistency)

    -> 문법을 일괄적으로 맞춰야 함

    -> 트랜잭션을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환

    -> 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 후가 상태가 같아야 함

- 독립성(Isolation)

    -> 하나의 트랜잭션 연산 중에는 다른 트랜잭션이 관여하면 안 됨

    ->수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없음

- 지속성(Durability)

    -> 성공적으로 완료된 트랜잭션의 결과는 영구적으로 유지, 반영되어야 함

 

CRUD 분석

- 데이터베이스의 테이블에 변화를 주는 트랜잭션 연산 중 생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 연산에 대해 CRUD 매트릭스를 작성하여 분석하는 것

- 테이블에 발생되는 트랜잭션의 주기별 발생 횟수를 파악하고 연관된 테이블들을 분석하면 테이블에 저장되는 데이터의 양을 유추할 수 있음

 

CRUD 매트릭스

- 2차원 표로 행에는 프로세스 열에는 테이블을 행과 열이 만나는 위치에는 프로세스가 테이블에 발생시키는 변화를 표시하는 업무 프로세스와 데이터 간 상관 분석표

- CRUD 매트릭스를 통해 프로세스의 트랜잭션이 테이블에 수행하는 작업을 검증

- CRUD 매트릭스의 각 셀에는 C, R, U, D가 들어가고 복수의 작업 시에는 우선순위는 C > D > U > R를 적용

- CRUD 매트릭스가 완성되면 C, R, U, D 중 어느 것도 적히지 않는 행이나 열, C나 R이 없는 행을 확인하여 불필요하거나 누락된 테이블 또는 프로세스를 찾음

온라인 쇼핑몰 CRUD 매트릭스

트랜잭션 분석

- CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션 양을 분석하고 테이블에 저장되는 데이터의 양을 유추하고 이를 근거로 DB용량을 산정, DB 구조를 최적화하는 것

 

트랜잭션 분석서

- 단위 프로세스와 CRUD 매트릭스를 이용하여 작성

- 구성 요소에는 단위 프로세스, CRUD 연산, 테이블 명, 칼럼명, 테이블 참조 횟수, 트랜잭션 수, 발생 주기 등

주문요청 프로세스에 대한 트랜잭션 분석서

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts