12. 데이터베이스 설계.

Slides:



Advertisements
Similar presentations
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
Advertisements

화일구조.
Chapter 2 정보시스템 아키텍처 (IS Architecture)
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
데이터베이스 시스템.
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
ERP(Enterprise Resource Planning)
Operating Systems Overview
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Information Technology
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
Enterprise Data Warehouse
컴퓨터 구조학 정보보호학과.
소프트웨어 공학 (Software Engineering)
Chapter 01 데이터베이스 시스템.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
데이터 웨어하우스 목차 1.데이터 웨어하우스 개발방법론 2슬라이드~13슬라이드
데이터 웨어 하우스 이병규 김기훈.
3. 데이터베이스 시스템의 구성.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
ER-Win 사용 방법.
(Requirements Analysis)
(Requirements Analysis)
Dept. of CSE, Ewha Womans Univ.
제 2 장 데이터베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
시스템 분석 및 설계.
디지털 시스템 설계(3).
Chapter 10. 파일 시스템 인터페이스(File System Interface)
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
소프트웨어 공학 (Software Engineering) 요구 분석 (Requirement Analysis)
SQL Server 7.0 세미나 (Performance Tuning)
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
제 1 장 소 개 시스템 분석 및 설계 허철회 2006학년도 2학기 상주대학교 컴퓨터공학과.
Module 3 : 프로세스 평가 Process Assessment.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
T O C(제약조건의 이론) 21세기의 기업경영을 목표로 Supply Chain Management 구현을 위한
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
ERP 시스템의 구축 ERP 시스템의 구축 기업이 ERP 시스템의 도입을 검토하는 단계에서부터 실제 업무에 적용하고 사후관리에 들어가는 단계에 이르기까지 시스템을 효과적으로 사용하기 위해 필요한 모든 활동.
1조 김성수 백현기 석광우 김지원 박광연.
운영체제 (Operating Systems) (Memory Management Strategies)
Introduction to Computers
소프트웨어 공학 (Software Engineering) 요구 분석 (Requirement Analysis)
Chapter 12 Memory Organization
시스템 분석 및 설계 글로컬 IT 학과 김정기.
XML-II (eXtensible Markup Language) DTD/DOM
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
13.1 정보시스템의 개요 13.2 정보시스템의 개발 13.3 시스템 검사 13.4 시스템 문서화
화일구조.
CHAPTER 04 파일 설계(FiLE Design).
2장 시스템 분석/설계 개요 한빛미디어(주).
시스템 분석 / 설계 개요 2장.
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
4. 데이타베이스 시스템의 구성.
ER-관계 사상에 의한 관계 데이터베이스 설계
데이터 베이스의 내부 구조.
1. 데이터베이스 환경.
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
Presentation transcript:

12. 데이터베이스 설계

 데이터베이스 설계 환경 ▶ 데이터베이스 생명 주기 (database life cycle)

▶ 데이터베이스 설계 단계 단계별 주요 작업 내용 요구조건 분석단계 개념적 설계 단계 논리적 설계 단계 물리적 설계 단계 데이터 및 처리 요구조건 개념적 설계 단계 DBMS 독립적 개념 스키마 설계, 트랜잭션 모델링 논리적 설계 단계 목표 DBMS에 맞는 스키마 설계 트랜잭션 인터페이스 설계 물리적 설계 단계 목표 DBMS에 맞는 물리적 구조 설계 트랜잭션 세부설계 구현 단계 목표 DBMS DDL로 스키마 작성 트랜잭션(응용프로그램)작성 단계별 주요 작업 내용

▶ 데이터베이스 설계 전략 1. 데이터 중심(data-driven) DB 설계 2. 처리 중심(processing-driven) DB 설계 데이타의 처리와 응용(트랜잭션)에 치중 ⇒ 병행적으로 추진

▶ 데이타베이스 설계 고려사항 무결성(integrity) - 제약조건 일치성(consistency) – 데이터 간, 응답간의 일치성 회복(recovery) - 장애 복구 보안(security) - 불법 접근의 방지 효율성(efficiency) - 응답시간, 저장 공간, 처리도 데이터베이스 성장(database growth) - 응용과 데이터의 계속적 확대

 요구 조건 분석 (requirements analysis) 잠정적인 사용자(potential user)의 식별 수행 업무 데이터의 종류 데이터의 용도 및 처리 형태 데이터의 흐름 처리 과정에서의 요구조건이나 제약조건 트랜잭션의 입력과 출력 데이터

▶ 요구조건 내용 DB의 정적 정보 구조 요소 동적 DB 처리 요구조건 범 기관적 제약조건 개체(entities) 애트리뷰트(attributes) 관계성(relationships) 제약조건(constraints) 동적 DB 처리 요구조건 transaction 유형 transaction 실행 빈도 범 기관적 제약조건 경영 목표, 정책, 규정, … 데이타베이스는 경영 목표 달성을 위한 효율적 도구

▶ 요구조건 분석 과정 정보 내용과 처리 요구조건의 수집 범기관적 경영 목표와 제약조건을 식별 방법-: 서면 조사, 인터뷰 내용-: 업무, 데이터, 처리형태 범기관적 경영 목표와 제약조건을 식별 장래 정보 전략(future information strategy) 공식적 요구조건 명세(requirement specification)의 작성 데이터(data) 트랜잭션(transactions) 작업-데이터 (task-data) 간의 관계 제약조건(constraints) 요구조건 명세의 검토 및 확인 중복, 누락, 보완 잠정적 확정

 작업-데이터 (task-data) 간의 관계 예 데이타 학생명부 성적표 과목표 교수명부 학번  학생이름 주소 학과 과목이름 과목번호 성적 학점 교수이름 전공 직급 전화번호

 요구조건 명세 작성 기법 Diagram 방식 Computer tool 이용 - 정보 처리 요구조건을 조직하여 표현 HIPO (hierarchical input process output) SADT (structured analysis and design technique) DFD (data flow diagram) Computer tool 이용 PSL/PSA(Problem Statement Language/Problem Statement Analyzer) 일치성(consistency)과 완전성(completeness)을 검사

 (1) 개념적 설계 (conceptual design) 1. conceptual schema modeling data의 조직과 표현에 초점  data oriented design 2. transaction modeling application을 위한 데이타 처리에 초점  processing oriented design

▶ 개념적 스키마 모델링 개념적 모델링 (conceptual modeling) 요구조건 분석 결과로 나온 명세를 개념적 데이터 모델(conceptual data model) 즉, DBMS에 독립적이고 고차원적인 표현 기법으로 기술 기술 결과를 개념적 구조(conceptual structure) 즉 개념적 스키마 (conceptual schema)라고 함 스키마 구성 요소: 개체 타입(entity type), 속성(attribute), 관계성 (relationship)을 식별해서 결정 설계자의 설계 결정(design decision) E-R diagram으로 표현 conceptual data model high level data model

▶ 개념적 데이터 모델 (conceptual data model) high-level data model 특성 표현력(expressiveness): 개체 타입, 관계성, 제약조건 단순성( simplicity): 이해와 사용이 단순 최소성(minimality): 작은 수의 기본 개념만 사용 다이어그램식 표현: 시각적이고 종합적 공식성(formality): 공식적 명세를 위해 모호하지 않고 정확 독립성(independency): DBMS에 독립적 융통성(flexibility): 변경을 수용 능력

▶ 개념적 스키마 모델링의 기본 원리 추상화(abstraction) 자세하고 복잡한 것들을 단순하면서도 전체적인 추상적 객체, 즉 개념화(conceptualization)를 이용해 표현 추상화 방법: 집단화(aggregation)와 일반화(generalization)

▶ 개념적 스키마 설계 방법 1) 뷰 통합 방법(view integration approach) 2) 애트리뷰트 합성 방법 (attribute synthesis approach)

▶ 뷰 통합 방법 (view integration) 하향식 방법(top-down approach) divide and conquer 접근법 요구조건 명세로부터 먼저 몇 개의 응용 부문별 뷰(view)를 식별하고 모델링 개체를 식별, 개체에 대한 키 애트리뷰트(key attribute)를 결정 개체들 간의 관계성을 식별하고 명세 각 개체에 대해 그 특성을 표현하는 설명 애트리뷰트(descriptive attribute)들을 첨가 부문별 뷰들을 통합해서 하나의 전체적 개념 스키마 구성 동일성 통합(identity integration) 동일 요소나 동의어들을 통합 집단화(aggregation) 개체 원소들을 그룹핑 일반화(generalization) 개체들의 공통 성질을 기초로 대분류 상호 모순 해결 이름, 타입, 도메인, 제약조건, 키

▶ 애트리뷰트 합성방법 (attribute synthesis) 상향식(bottom-up) 애트리뷰트 리스트에서 출발 작업-데이터 (task-data) 간의 관계에 기초 애트리뷰트들을 식별, 분류 유일성(uniqueness) 여부에 따라 구분 개체 정의 키(key) 애트리뷰트, 설명(descriptive) 애트리뷰트 관계성 정의 개체간, 개체-애트리뷰트, 애트리뷰트간 관계 그래프(다이어그램) 표기법으로 표현(ERD) 개념적 구조(ERD)를 분석, 확인 cardinality 종속 정보(dependency information) 누락 정보(missing information)

▶ 트랜잭션 모델링 (transaction modeling) 주요 transaction을 선정하고 기능적 특성을 DB 설계 초기에 명세 스키마에 transaction이 필요로 하는 정보가 모두 포함되고 있는지 확인 transaction의 상대적 중요성, 예상 실행 빈도수 파악 물리적 DB 설계의 자료 I/O와 기능적 행태를 명세 입력 데이터, 출력 데이터, 내부 제어 흐름 transaction 유형 검색(retrieval) 갱신(update) 혼합(검색, 갱신)

 (2) 논리적 설계 (logical design) 개념적 설계 단계로부터 생성된 conceptual schema로 부터 목표 DBMS가 처리할 수 있는 논리적 스키마 (logical schema)를 생성 requirements에 부합 integrity와 consistency constraints도 만족

▶ DBMS의 선정 - 비용 중심 기능 : 기본적(mandatory)인 기능과 추가적(optional)인 기능을 평가 software 구입 비용: options 유지 비용: maintenance and version up hardware 구입 비용 추가적인 main memory, disk 주변 장치 DB 생성과 변환 비용 구형에서 신형 시스템 from scratch 인건비: 새로운 직책과 조직 교육 훈련 비용 operational cost

▶ 논리적 설계 세부 단계 1. 논리적 데이터 모델(logical data model)로 변환 2. 트랜잭션 인터페이스(transaction interface) 설계 3. 스키마의 평가(schema evaluation) 및 정제

▶ 논리적 데이타 모델로 변환 개념적 스키마(개념적 구조)를 목표 DBMS의 논리적 데이타 모델에 맞는 스키마로 변환 논리적 데이터베이스 구조(논리적 데이터 모델) Relational, Hierarchical, Network, Object-Oriented, Object-Relational 결과 : 목표 DBMS의 DDL로 기술된 스키마 DDL에 포함되는 물리적 설계 매개변수(physical design parameter)가 있는 경우에는 물리적 설계 단계까지 보류

▶ 트랜잭션 인터페이스 설계 전체적 트랜잭션 골격(skeleton) 및 인터페이스 (interface)를 정의 트랜잭션은 입출력과 기능적 행태로 정의 데이터 접근 방법 및 인터페이스를 절차적으로 명세 : programming

▶ 스키마의 평가 및 정제 정량적 정보와 성능 평가 기준에 따라 평가 정제(refinement) 정량적 정보(quantitative information) 데이터의 양, 처리 빈도수,처리 작업량 성능 평가 기준(performance evaluation criteria) 논리적 레코드 접근, 데이터 전송량, DB 크기 정제(refinement)

▶ 관계 데이터 모델로의 변환 예 ① 개체 타입(entity type): ② 관계 타입(relationship type): 개체 릴레이션(entity relation) ② 관계 타입(relationship type): 연관된 개체 타입들의 키를 포함시켜 표현하는 관계 릴레이션(relationship relation) 두 릴레이션에 공통되는 애트리뷰트(키)를 포함시켜 관계(relationship)를 표현 : 묵시적 표현 설계 선택(design alternatives) data redundancy(중복성) efficient processing(효율성)

 학사 관계 데이터베이스 스키마 다이어그램 교 수 학 생 과 목 전공 성적 과목 번호 이름 학점 지도 강의 등록 교수 학과 학번 주소 학년 n m 1 시간 장소

 학사 관계 데이터베이스 스키마 다이어그램 독립된 릴레이션으로 관계(relationship)를 표현 교수번호 교수이름 전공 학과 교수 학번 이름 주소 학년 학생 과목번호 과목이름 학점 과목 entity 릴레이션 지도 시간 장소 강의 성적 등록 relationship 릴레이션

 교수와 학생간의 지도 관계의 표현 공통 애트리뷰트로 관계(relationship)를 표현 (a) (b) 교수번호 교수이름 전공 학과 교수 학번 이름 주소 학년 학생 (a) (b)

 (3) 물리적 설계(physical design) ※ 파일 설계 logical schema로부터 효율적인 internal schema 설계 물리적 데이타베이스 구조를 생성 구현을 위한 transaction의 내부 구조를 결정 물리적 database의 기본적인 데이터 단위는 저장 레코드(stored record) contents of physical design 저장 레코드 양식 설계(stored record format design) 레코드 집중화(record clustering) 접근 경로(access path) 저장 공간 할당(storage space allocation)

▶ 저장 레코드의 양식 설계 양식(format) 설계 고려 사항 data type distribution of data values(분산) Applications to be used(응용) Access frequency(빈도) 데이터 표현(data representation) 및 압축(compression) 양식도 설계 접근 빈도에 따라 상이한 양식으로 저장의 효율성을 증진

▶ 레코드 집중의 분석 및 설계 레코드 집중(record clustering) 물리적 순차성(physical contiguity) 지원 record size와 physical storage device의 특성에 의존 순차 처리(sequential processing) cf, 순차파일 large block 임의 접근 처리(random processing) cf. 임의 파일 small block

▶ 접근 방법 설계(1) 접근 경로(access path) 기본 접근 경로와 보조 접근 경로의 설계 저장 레코드의 접근을 위한 절차 저장 구조 : (인덱스를 통한) 접근 방법과 저장 레코드를 정의 탐색 기법 : 응용에 적절한 접근 경로 정의 기본 접근 경로와 보조 접근 경로의 설계 기본 접근 경로(primary access path) 기본 키를 이용한 기본 인덱스 이용 초기 레코드 적재, 레코드의 물리적 위치, 기본 키에 의한 검색 주요 응용의 효율적 처리 보조 접근 경로(secondary access path) 보조 키에 의한 인덱스 이용

▶ 접근 방법 설계(2) 상용 DBMS는 성능 향상을 위해 여러 가지 tool을 지원 physical design 옵션 선택 시 고려사항 response time efficient storage space transaction throughput Simulation(모의실험)이나 prototype(시제품)으로 평가 추후 분석을 위한 monitoring utility 이용 system catalog에 성능 통계를 수집,저장 design tune-up

 (4) DB 구현 목표 DBMS의 DDL로 기술된 schema의 compile 및 execution data loading DB schema creation empty DB file creation data loading transformation routine이나 utility를 이용 transaction 구현 executable transaction operational database의 완성

 DB 설계 과정 요약 정보 요구조건 처리 요구 조건 분석 요구 조건 명세 개념적 설계 개념적 데이터베이스 스키마 트랜잭션 정의 논리적 설계 논리적 스키마 트랜잭션 인터페이스 물리적 설계 내부 스키마 상세 트랜잭션 데이타베이스 구현 운영 데이터베이스 실행 트랜잭션 목표 DBMS 특성 하드웨어 및 운영 체제 특성