728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶설계 개요
데이터베이스 개발 생명 주기(life cycle)
데이터베이스 설계 단계
요구사항 분석을 기초로 데이터 베이스 구조를 작성하는 과정이다.
문제가 발생되면 피드백을 받아 적절한 단계로 되돌아가 다시 시작한다.
데이터베이스 설계 시 고려사항
- 무결성(integrity)
- 변경 연산 후에도 제약조건 만족
- 일관성(consistency)
- 데이터 간, 응답 간의 일치
- 회복(recovery)
- 장애 발생 시 일관된 상태로 복구
- 보안(security)
- 불법 접근의 방지
- 효율성(efficiency)
- 응답 시간/저장 공간 최소화
- 생산성 향상
- 확장성(extensibility)
- 운영에 지장이 없이 새로운 데이터의 계속적 추가
▶요구사항 분석(requirements analysis)
사용자의 요구사항을 수집하고 분석하여 공식적인 요구사항 명세서(specification)를 생성하는 것
- 개체, 애트리뷰트, 관계성, 제약조건 등과 같은 정적 정보 구조에 대한 요구사항
- 트랜잭션 유형, 트랜잭션 실행 빈도와 같은 동적 DB 처리 요구사항
- 회사의 경영 목표 및 정책, 그리고 규정과 같은 범기관적 제약조건 등이 산출되어야 한다.
요구사항 분석 과정
- 일반 사항 분석
- 회사 매출 규모, 부서 조직, 생산 제품, 개발 배경 등
- 업무와 관련된 문서들을 수집
- 업무 매뉴얼, 장부, 거래 전표, PC 자료 등
- 설문지, 인터뷰, 회의를 통해 수집: 업무 이해 및 정확한 요구사항 파악
- 회사의 경영 목표 및 제약조건 파악
- 경영 정책, 내/외적 환경, 조직의 관리와 기획에 필요한 정보, 조직의 현재와 장래 정보 전략 등에 대해 조사
- 필요시 회사 경영자와의 면담
- 모아진 문서와 자료 등을 분류하고 정리
- 공식적 요구사항 명세서(requirement specification) 작성
- 정적인 데이터 요소, 동적 데이터 처리 특성에 대한 내용이 포함
- 빈번한 변경이나 분쟁 등을 방지
- 요구사항 명세서 담당자들과 확인 회의를 거침
- 회사 업무를 올바로 파악했는지를 확인함
▶문서들을 체계적으로 정리
많은 분량의 문서들을 정리하여 DB 설계 준비
소프트웨어 공학 기법들이 사용될 수 있다.
- HIPO (hierarchical input process output)
- SADT (strucured analysis and design technique)
- DFD (data flow diagram)
- Orr-Warnier Diagram
- Nassi-Schneiderman Diagram
DFD (data flow diagram)
약속된 표기법에 따라서 작성된다.
▶개념적 설계 (conceptual design)
개념적 스키마 모델링과 트랜잭션 모델링을 병행적으로 수행
개념적 스키마 모델링(conceptual schema modeling)
- E-R 다이어그램 사용
- 요구 사항 분석 결과로 나온 명세서를 E-R 다이어그램과 같은 개념적 데이터 모델로 기술한다.
- 이런 과정을 개념적 데이터 모델링이라 하고, 표현된 결과를 개념적 데이터 구조 또는 개념적 데이터 스키마라고 한다.
- 스키마 구성 요소 : 개체, 속성, 관계를 식별해서 결정
개념적 스키마를 유도하는 기본 원리
- 추상화(abstraction)
- 현실세계를 단순화, 개념화시켜 표현한 것
- 집단화(aggregation)
- 하위 클래스 몇 개의 속성을 묶어서 하나의 새로운 개체를 생성
- ex. 엔진, 기어, 바퀴 -> 자동차
- 일반화(generalization)
- 하위 레벨의 공통적인 특성을 파악하여 상위 레벨의 개체를 생성
- ex. 승용차, 트럭, 버스 -> 자동차
트랜잭션 모델링
처리 중심 설계 : 응용을 위한 데이터 처리에 중점을 둔다.
- 주요 트랜잭션들을 식별하고 이들에 대한 기능적 특성을 DB 설계 단계 초기에 명세해 놓은 것
- 이렇게 하면 스키마에 트랜잭션이 필요로 하는 정보가 모두 포함되어 있는지 확인할 수 있다.
- 트랜잭션 사이의 상대적 중요성과 예상 실행 빈도수를 파악해 물리적 DB 설계할 때 중요 정보로 사용된다.
I/O와 기능적 행태(functional behavior)만 주로 정의
- 즉, 입력 데이터, 출력 데이터, 내부적인 제어 흐름을 기술한다.
트랜잭션의 유형
- 검색, 갱신, 혼합(검색 & 갱신) 형태가 존재
728x90
'컴퓨터공학 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 무결성, 보안 (0) | 2022.11.25 |
---|---|
[데이터베이스] 데이터베이스 설계2 (1) | 2022.11.24 |
[데이터베이스] 데이터베이스 정규화 - 정규형 (2) | 2022.11.12 |
[데이터베이스] 데이터베이스 정규화 (2) | 2022.11.12 |
[데이터베이스] SQL - Structured Query Language3 (2) | 2022.11.12 |