데이터베이스및설계 Chap 9. 데이타베이스설계 2012.06.07. 오병우 컴퓨터공학과
데이타베이스설계환경 데이타베이스생명주기 (Database life Cycle) 요구조건분석 설 계 구 현 운 영 감시및개선 Department of Computer Engineering 2
데이타베이스설계단계 단계별주요작업내용 요구조건분석단계 데이타및처리요구조건 개념적설계단계 DBMS 독립적개념스키마설계, 트랜잭션모델링 논리적설계단계목표 DBMS 에맞는스키마설계트랜잭션인터페이스설계 물리적설계단계목표 DBMS 에맞는물리적구조설계트랜잭션세부설계 구현단계목표 DBMS DDL 로스키마작성트랜잭션 ( 응용프로그램 ) 작성 E-R Diagram Relational DB (Oracle) Clustering, Index (Access Method) Department of Computer Engineering 3
데이타베이스설계전략 데이타중심 (data-driven) DB 설계 DB 내용과구조설계 처리중심 (processing-driven) DB 설계 데이타의처리와응용소프트웨어 ( 트랜잭션 ) 설계 병행적으로추진 Department of Computer Engineering 4
데이타베이스설계고려사항 무결성일관성회복보안효율성 - 제약조건 - 응답, 출력 - 장애복구 - 불법접근 - 응답시간, 저장공간, 처리도 데이타베이스확장 - 응용과데이타의확대 Department of Computer Engineering 5
요구조건분석 (Requirements analysis) 잠정적인사용자식별 사용자가의도하는 DB 의용도파악 공식적요구조건명세정의 Department of Computer Engineering 6
요구조건내용 정적정보구조요소 : 개체, 애트리뷰트, 관계성, 제약조건 동적 DB 처리요구조건 : 트랜잭션유형, 실행빈도 범기관적제약조건 : 경영목표, 정책, 규정, Department of Computer Engineering 7
요구조건분석과정 정보의내용과처리요구조건의수집 방법 : 서면조사, 인터뷰 내용 : 업무, 데이타, 처리형태 범기관적경영목표와제약조건을식별 장래정보전략 공식적요구조건명세 (requirement specification) 의작성 데이타, 트랜잭션, 작업 - 데이타관계, 제약조건 요구조건명세의검토및확인 잠정적확정 Department of Computer Engineering 8
작업 - 데이터 (task-data) 와의관계예 작업학생명부성적표과목표교수명부데이타학번 학생이름 주소 학과 과목이름 과목번호 성적 학점 교수이름 전공 직급 전화번호 Department of Computer Engineering 9
요구조건명세작성기법 다이어그램방식 HIPO, SADT, DFD 컴퓨터이용기법 PSL/PSA(Problem Statement Language/Problem Statement Analyzer) Department of Computer Engineering 10
개념적설계 (Conceptual design) 개념적 ( 추상적 ) 스키마모델링 데이타의조직과표현에초점 데이타중심설계 뷰통합방법 애트리뷰트합성방법 트랜잭션모델링 응용을위한데이타처리에초점 처리중심설계 Department of Computer Engineering 11
개념적스키마모델링 개념적모델링 (Conceptual modeling) 특정 DBMS에독립적이고고차원적인표현 개념적구조즉개념적스키마 (conceptual schema) 를생성 개념적데이타모델로개체, 속성, 관계성을선정및표현 E-R 다이어그램으로표현 개념적데이타모델 고급데이타모델 Department of Computer Engineering 12
개념적데이타모델 (Conceptual data model) 고급데이타모델 (High-level data model) 특성 표현력 : 개체타입, 관계성, 제약조건 단순성 : 이해와사용이단순 최소성 : 작은수의기본개념만사용 다이어그램식표현 : 시각적이고종합적 공식성 : 공식적명세를위해모호하지않고정확 DBMS 에독립적 Department of Computer Engineering 13
개념적스키마모델링의기본원리 추상화 (abstraction): 개념 (concept) 화 집단화 (aggregation) 일반화 (generalization) 일반화 대학원생 학부생 학생 집단화 학번이름학과 Department of Computer Engineering 14
개념적스키마설계방법 뷰통합방법 (view integration approach) 애트리뷰트합성방법 (attribute synthesis approach) Department of Computer Engineering 15
뷰통합방법 (View integration) 하향식방법 (top-down approach) 요구조건명세로부터먼저몇개의부문별뷰 (View) 를식별하고모델링 개체, 키, 관계성, 애트리뷰트 부문별뷰들을통합해서하나의전체적개념스키마구성 동일성통합 (identity integration) : 동일요소나동의어들을통합 집단화 (aggregation) : 개체원소들을그룹핑 일반화 (generalization) : 개체들의공통성질을기초로대분류 상호모순해결 : 이름, 타입, 도메인, 제약조건, 키 Department of Computer Engineering 16
애트리뷰트합성방법 (Attribute Synthesis) 상향식 (bottom-up) 애트리뷰트리스트에서출발 작업 - 데이타 (task-data) 관계에기초 애트리뷰트들을식별, 분류 유일성여부에따라구분 개체정의 키애트리뷰트, 설명애트리뷰트 관계성정의 개체간, 개체 - 애트리뷰트, 애트리뷰트간관계 그래프표기법으로표현 (ERD) 개념적구조 (ERD) 를분석, 확인 cardinality 종속정보 누락정보 Department of Computer Engineering 17
트랜잭션모델링 (Transaction modeling) 응용을위한트랜잭션을명세 주요트랜잭션을식별하고기능적특성을 DB 설계초기에명세 스키마에트랜잭션이필요로하는정보가모두포함되고있는지확인 트랜잭션의상대적중요성, 예상실행빈도수파악 물리적 DB 설계의자료입출력과기능적행태명세 입력데이타, 출력데이타, 내부제어흐름트랜잭션유형 검색 갱신 혼합 ( 검색, 갱신 ) Department of Computer Engineering 18
논리적설계 (Logical design) 개념적스키마로부터목표 DBMS가처리할수있는논리적스키마 (logical schema) 생성 요구조건만족 무결성, 일관성제약조건만족 Department of Computer Engineering 19
DBMS 의선정 - 비용중심 기능 : 기본적인기능과추가적인기능소프트웨어구입비용 : options 유지비용 : version up 하드웨어구입비용 부수적인메모리, 주변장치 DB 생성과변환비용 구형에서신형시스템 from scratch ( 맨처음부터 ) 인건비 : 새로운직책과조직교육훈련비용운영비용 Department of Computer Engineering 20
논리적설계단계 개념적스키마를논리적데이타모델로변환 목표 DBMS 가지원하는데이타모델 트랜잭션인터페이스설계 입출력과기능적행태로정의된트랜잭션의골격과인터페이스를정의 스키마의평가및정제 정량적정보와성능평가기준에따라평가 Department of Computer Engineering 21
논리적데이타모델로변환 개념적스키마 ( 개념적구조 ) 를목표 DBMS의데이타모델에맞는스키마로변환 논리적데이타베이스구조 ( 논리적데이타모델 ) Relational, Hierarchical, Network, O-O, O-R 결과 : 목표 DBMS 의 DDL 로기술된스키마 ( 물리적설계 매개변수는제외 ) Department of Computer Engineering 22
트랜잭션인터페이스설계 전체적트랜잭션골격및인터페이스정의 데이타접근방법및인터페이스를절차적으로명세 Department of Computer Engineering 23
스키마의평가및정제 정량적정보와평가기준에따라평가 정량적정보 : 데이타의양, 처리빈도수, 처리작업량 성능평가기준 : 논리적레코드접근, 데이타전송량, DB 크기 Department of Computer Engineering 24
관계데이타모델로의변환예 개체타입 : 개체릴레이션 (entity relation) 관계타입 : 연관된개체타입의키애트리뷰트들을포함하는관계릴레이션 (relationship relation) 두릴레이션에공통애트리뷰트 ( 키 ) 를포함시켜관계성을표현 : 묵시적표현 설계선택 데이타의중복 효율적처리 Department of Computer Engineering 25
학사관계데이타베이스스키마다이어그램 1 교수 1 시간 지도 교수번호 교수이름 전공 학과 강의 장소 n 학생 n 등록 m n 과목 학번이름주소학년 성적 과목번호 과목이름 학점 Department of Computer Engineering 26
학사관계데이타베이스스키마다이어그램 독립된릴레이션으로관계를표현 교수 교수번호교수이름전공학과 지도 교수번호 학번 학생 학번이름주소학년 강의 교수번호과목번호시간장소 과목 과목번호과목이름 학점 등록 학번과목번호성적 개체릴레이션 관계릴레이션 Department of Computer Engineering 27
교수와학생간의지도관계의표현 공통애트리뷰트로관계를표현 교수 교수번호교수이름전공학과 학생 1:n 인경우 n 쪽의릴레이션에대응투플의키애트리뷰트를추가하는것이효율적임 학번이름주소학년 (a) 교수번호 교수 교수번호교수이름 전공 학과 학생 학번 이름 주소 학년 (b) 학번 각교수가지도하는학생수만큼똑같은교수투플이중복되어비효율적임 Department of Computer Engineering 28
물리적설계 논리적스키마로부터효율적인내부적스키마설계 DBMS가지원하는기법을선택하여이용 저장구조 접근경로 Department of Computer Engineering 29
고려사항 저장레코드의양식설계 데이타타입 데이타값의분포 사용될응용 접근빈도 데이타표현및압축양식도설계 Department of Computer Engineering 30
레코드집중 (Clustering) 의분석및설계 Clustering 중요함 논리적으로관련있는것들을물리적으로관련있는곳에저장 집중저장 : 물리적순차성지원레코드크기와물리적저장장치의특성에의존순차처리 : 큰블록임의접근처리 : 작은블록 Department of Computer Engineering 31
접근방법설계 (1) 접근경로 : 저장레코드의접근을위한절차 저장구조 : ( 인덱스를통한 ) 접근방법과저장레코드를정의 탐색기법 : 응용에적절한접근경로정의 기본및보조접근경로의설계 기본접근경로 : 기본키를이용한기본인덱스이용 초기레코드적재, 레코드의물리적위치, 기본키에의한검색 주요응용의효율적처리 보조접근경로 : 보조키에의한인덱스이용 Department of Computer Engineering 32
접근방법설계 (2) 물리적설계의옵션선택시고려사항 응답시간 저장공간의효율화 트랜잭션처리도 (throughput) 분석을위한감시유틸리티이용 시스템카탈로그나데이타사전에성능통계를수집, 저장 설계 tune-up Department of Computer Engineering 33
데이타베이스구현 목표 DBMS의 DDL로기술된명령문 ( 스키마 ) 의컴파일및실행 DB 스키마, 공백 DB 화일생성 데이타적재트랜잭션구현 Department of Computer Engineering 34
DB 설계과정요약 정보요구조건 요구조건분석 요구조건명세 처리요구조건 논리적스키마트랜잭션인터페이스 물리적설계 하드웨어및운영체제특성 개념적설계 내부적스키마상세트랜잭션 개념적데이타베이스스키마트랜잭션정의 논리적설계 목표 DBMS 특성 데이타베이스구현 운영데이타베이스이용실행트랜잭션 Department of Computer Engineering 35