제 2 장 데이타베이스시스템개념과아키텍처 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe Copyright 2002 황규영홍의경음두헌박영철김진호조완섭
목차 2.1 데이타모델, 스키마, 인스턴스 2.2 DBMS 아키텍처와데이타독립성 2.3 데이타베이스언어와인터페이스 2.4 데이타베이스시스템환경 2.5 데이타베이스관리시스템의분류 2.6 요약 2
2.1 데이타모델, 스키마, 인스턴스 데이타모델 데이타타입, 관계, 제약조건들을명시하기위해사용할수있는 개념들의집합 데이타베이스에서검색과갱신을수행하는기본연산들의집합을 포함 점차 DB 응용의동적측면또는행동이데이타모델에포함됨 사용자정의연산 (user defined operation) ( 예 ) COMPUTE_GPA 3
2.1.1 데이타모델의분류 저수준또는물리적데이타모델 어떻게데이타가컴퓨터에저장되는지의세부사항을명시하는 개념을제공 고수준또는개념적데이타모델 사용자들이데이타를인식하는방식에대한개념을제공 ER 모델, SDM 모델, DAPLEX 모델, 표현 ( 또는구현 ) 데이타모델 고수준모델과저수준모델사이에존재 일반사용자들이이해할수있는개념을제공 데이타저장구조의세부사항을은폐하지만, 컴퓨터상에서직접구현가능함 상용DBMS에서많이사용함 계층모델, 네트워크모델, 관계모델 4
2.1.2 스키마, 인스턴스, 데이타베이스상태 데이타베이스스키마 ( 또는메타데이타 ) 데이타베이스에대한기술 데이타베이스설계과정에서명시하며자주변경되지않음 메타데이터역할 스키마다이어그램 데이타베이스스키마를도식화한것 레코드타입의이름, 데이타항목의이름, 일부제약조건유형들과같은스키마의일부관점만을나타냄 5
2.1.2 2 스키마, 인스턴스, 데이타베이스상태 (cont.) 데이타베이스상태 어커런스나인스턴스들의집합이라고도함 어떤특정시점에데이타베이스에들어있는데이타 데이타베이스에갱신연산이수행될때마다새로운다른데이타베이스상태를가짐 DBMS는데이타베이스상태가스키마에명시된구조와제약조건을만족하는유효한상태임을보장하는책임을일부가짐 일반적으로스키마는내포 (intension) 라하고, 데이타베이스상태는 외연 (extension) 이라함 6
[ 그림 2.1] 그림 1.2 의데이타베이스에대한스키마다이어그램 7
2.22 DBMS 아키텍처와데이타독립성 2.2.1 3 단계 - 스키마아키텍처 2.2.2 데이타독립성 8
2.2.1 3 단계- 스키마아키텍처 3 단계 - 스키마아키텍처의목적 사용자의응용과물리적데이타베이스의분리 3 단계 - 스키마아키텍처 1. 내부단계 2. 개념단계 3. 외부단계또는뷰단계 내부단계 내부스키마를가지며, 내부스키마는물리적데이타모델을사용 데이타저장구조의세부사항과데이타베이스에대한접근경로를기술 개념단계 개념스키마를가지며, 이는전체사용자를위한데이타베이스의구조를기술함 엔티티, 데이타타입, 관계, 사용자연산, 제약조건들을나타내는데중점 9
2.2.1 3 단계- 스키마아키텍처 (cont.) 외부단계또는뷰단계 외부스키마나사용자뷰들을포함 특정사용자그룹이관심을갖는부분을나타내고나머지는은폐함 사상 외부스키마를참조하여사용자가데이타를요구하면이를데이타베이스 내에서개념스키마에대한요구로변환하고, 다시내부스키마에대한 요구로변환과정을거쳐저장된데이타베이스에접근하여데이타를 추출한후사용자의뷰와일치하도록재구성하는과정 10
[ 그림 2.2] 3 단계스키마아키텍처 11
2.2.2 데이타독립성 논리적데이타독립성 외부스키마나응용프로그램을변경하지않으면서개념스키마를변경할수있는 능력 ( 성질 ) 물리적데이타독립성 개념스키마를변경하지않으면서내부스키마를변경할수있는능력 ( 성질 ) 12
2.3 데이타베이스언어와인터페이스 231DBMS 2.3.1 언어 2.3.2 DBMS 인터페이스 13
2.3.1 DBMS 언어 데이타정의어 (DDL: Data Definition Language) 개념스키마와내부스키마를정의 어떤 DBMS 에서는저장구조정의어 (SDL: Storage Definition Language) 를사용하여내부스키마를나타내고, 뷰정의어 (VDL: View Definition Language) 를사용하여뷰를명시하거나개념스키마사이의사상을나타냄 데이타조작어 (DML: Data Manipulation Language) 데이타를검색, 삽입, 삭제, 수정하기위한조작언어 비절차적인언어, 사용이편리한언어를사용 DML 명령어는범용프로그래밍언어에삽입되어사용될수있고, 이때범용프로그래밍언어를호스트언어라하고, 삽입된 DML 명령어를데이타부속어라함 14
2.3.2 DBMS 인터페이스 메뉴기반인터페이스 폼기반인터페이스 그래픽사용자인터페이스 자연어인터페이스 초보자를위한인터페이스 데이타베이스관리자를위한인터페이스 15
2.4 데이타베이스시스템환경 2.4.1 DBMS 구성모듈 2.4.2 데이타베이스시스템유틸리티 2.4.3 도구, 응용환경, 통신장비 16
241DBMS 2.4.1 구성모듈 저장데이타관리자 디스크에저장되어있는 DBMS 의정보 ( 데이타베이스또는카탈로그 ) 에대한 접근을제어 데이타정의어컴파일러 데이타정의어로명시된스키마정의들을처리 스키마들에대한정보 ( 메타데이타 ) 를 DBMS 카탈로그안에저장 런타임데이타베이스처리기 (run-time database processor) 수행시데이타베이스접근을처리 질의컴파일러 대화식으로입력된고수준질의들을처리 프리컴파일러 (precompiler) 호스트프로그래밍언어로작성된응용프로그램에서데이타조작어명령들을추출 데이타조작어컴파일러 데이타조작어명령들을데이타베이스접근을위한목적코드로컴파일 17
[ 그림 2.3] DBMS 의구성요소. 점선은저장데이터관리자의제어를 통해접근하는것을나타냄 18
2.4.2 2 데이타베이스시스템유틸리티 데이타베이스유틸리티 DBMS 는데이타베이스관리자의데이타베이스시스템운영을도와줌 적재 데이타화일을자동적으로데이타베이스화일의형식으로변환해서저장함 백업 전체데이타베이스를테이프에복사하여데이타베이스의백업사본을만듦 화일재조직 성능향상을위해데이타베이스화일구조를다른화일구조로재조직함 성능모니터링 데이타베이스의사용을모니터해서사용통계를데이타베이스관리자에게제공함 이정보는관리자가데이타베이스성능을향상시키기위해서화일들을재조직할것인지를결정하는데사용됨 19
2.4.2 2 데이타베이스시스템유틸리티 (cont.) 데이타사전시스템 (data dictionary system) 스키마와제약조건들에관한카탈로그정보와설계결정, 사용 표준, 응용프로그램기술, 사용자정보등과같은정보를저장 DBMS 카탈로그와유사하나더다양한정보를가짐 DBMS 소프트웨어보다는주로사용자가접근 데이터저장소 (data repository system) 혹은정보 저장소 (information repository) 라고도함 데이타디렉토리 ( 또는능동데이타사전 ) 사용자와 DBMS 소프트웨어모두가사용하는통합된카탈로그 / 데이타 사전 ( 수동데이타사전은사용자만이용하는데이타사전을의미 ) 20
2.4.3 도구, 응용, 통신장비 CASE 도구 데이타베이스시스템을설계하는과정에서사용됨 응용개발환경 - PowerBuilder 시스템 통신소프트웨어와통신장비를사용하여데이타베이스시스템 사이트로부터멀리떨어진컴퓨터터미널, 워크스테이션, 마이크로 컴퓨터나소형컴퓨터에서데이타베이스를접근하는것이가능함 DB/DC 시스템 : DBMS 와데이터통신시스템의결합체 21
2.5 DBMS 의분류 DBMS 의분류기준 데이타모델 : 관계, 네트워크, 계층, 객체지향, 객체관계등 사용자의수 : 단일사용자, 다수사용자시스템 사이트의수 : 중앙집중식, 분산 DBMS ( 동질분산 DBMS 또는이질분산 DBMS) DBMS 의비용 접근경로의유형 범용또는특수목적용 관계모델 데이타베이스는테이블들의모임으로구성 그림 1.2와유사 고급질의어를제공하고제한된형태의사용자뷰를지원 22
2.5 DBMS 의분류 (cont.) 네트워크모델 데이타를레코드타입들로나타냄 그림 2.4 참고 계층모델 데이타를계층적트리구조로나타냄 객체지향모델 객체, 객체의속성, 연산으로데이타베이스를정의 같은구조와행위를갖는객체들은한클래스에속하고클래스들은계층또는비순환그래프로조직됨 메소드라고하는미리정의된프로시저들이클래스의연산을나타냄 객체관계모델 관계모델에객체지향모델의개념을도입하여확장함 23
[ 그림 2.4] 네트워크스키마 24
2.6 요약 데이타모델 고수준또는개념적데이타모델 ( 개체관계 ) 데이타모델들의구현 ( 레코드기반, 객체지향 ) 저수준또는물리적데이타모델 스키마 외부스키마, 개념스키마, 내부스키마 데이타베이스상태 논리적, 물리적데이타독립성 DBMS 가지원하는언어 데이타정의어, 데이타조작어 인터페이스유형 DBMS 유틸리티 DBMS 의분류 25