Download presentation
Presentation is loading. Please wait.
1
3. 데이터베이스 시스템(DBS)의 구성 P58
2
데이터베이스 시스템 구성 요소 - Database System
데이터를 데이터베이스(database)로 저장 관리하여 정보를 생성하는 컴퓨터 중심 시스템(computer-centered system) 구성 요소 3-level(layered) Database( 3-단계 DB) Data Languages(데이터 언어, DB 언어) Users DBMS Database Administrator(관리자) Database Computer
3
1. 3단계 데이터베이스 P58 DB의 3단계(3-level) 표현 스키마(schema) ≒ DB
DB에 대한 3단계 관점(View) - 개인, 기관 전체, 저장장치 외부 단계 (external level) : 개인(일부) 개념 단계 (conceptual level) : 전체 내부 단계 (internal level) : 전체 스키마(schema) ≒ DB DB의 구조(개체, 관계)와 제약조건 (constraints)을 명세 3-level DB 구조에 기반 외부 스키마 (external schema) 개념 스키마 (conceptual schema) 내부 스키마 (internal schema)
4
▶ 스키마 P59 (1) 외부 스키마(external schema) : 일부
개개 사용자 관점에서 정의한 DB 스키마 전체 DB의 한 논리적인 부분 Subschema(부 스키마) (2) 개념 스키마(conceptual schema) : 전체 범 기관적인 관점에서 정의한 DB 스키마 모든 응용에 대한 전체적인 통합된 데이터 구조 schema (3) 내부 스키마(internal schema) : 전체 저장장치 관점에서의 정의한 DB 스키마 개념 스키마에 대한 저장구조(storage structure)를 정의
5
3 단계 STUDENT Database 예 P61 외부 스키마 1 (교무처) 외부 스키마 2 (학생처) 개념 스키마
Sn INT Name CHAR(10) Grade INT Dept CHAR(5) STUDENT Sno PIC (4) Sname PIC X(10) Year PIC 9(2) Addr PIC X(44) STUDENT Snumber INTEGER Name CAHR(10) Year SMALLINT Grade SMALLINT Dept CHAR(5) Address CHAR(44) 개념 스키마 STORED-STUDENT LENGTH = 71 prefix BYTE(4) OFFSET = 0 Sno BYTE(4) OFFSET = INDEX = STINDX Sname BYTE(10) OFFSET = 8 Syear BYTE(2) OFFSET = 18 Sgrade BYTE(2) OFFSET = 20 Sdept BYTE(5) OFFSET = 22 Saddr BYTE(44) OFFSET = 27 내부 스키마
6
▶ 3 단계간의 사상(Mapping) P62 external/conceptual 단계 간의 사상
외부 스키마와 개념 스키마간의 대응 관계를 정의 응용 인터페이스(application interface) 논리적 데이터 독립성을 제공 conceptual/internal 단계 간의 사상 개념 스키마와 내부 스키마간의 대응 관계를 정의 저장 인터페이스(storage interface) 물리적 데이터 독립성을 제공 ☞ Tip 구체적 데이터 독립성(data independency)의 구현 방법 스키마는 컴파일되어 카탈로그(catalog)♠에 저장 스키마를 그래픽 형태로 표현한 것이 스키마 다이어그램(SD, schema diagram)
7
3 단계간의 사상(Mapping) 외부 단계 .... 외부 / 개념 사상 ( 응용 인터페이스 ) 개념 단계 개념 / 내부 사상
스키마 외부 스키마 .... 1 2 외부 스키마 n 외부 / 개념 사상 ( 응용 인터페이스 ) 개념 단계 개념 스키마 개념 / 내부 사상 ( 저장 인터페이스 ) 내부 단계 내부 스키마 저 장 데이터베이스
8
▶ Tip ♠ 카탈로그(catalog) 데이터 디렉토리(data directory)
시스템 내의 모든 객체들에 대한 정의(definition)나 명세(specification)에 대한 정보를 수록 시스템 DB, 메타 데이터베이스(meta-database) DB 관리자(DBA)가 사용하는 도구 사용자와 시스템 모두 사용 데이터 사전(DD, data dictionary)이라고도 함 데이터 디렉토리(data directory) DB에 저장된 데이터를 참조(reference)하는데 필요한 정보를 수록 시스템만 사용
9
3. 데이터 언어(Data Language) P66
데이터베이스를 정의(definition), 조작(manipulation), 제어(control)하기 위한 시스템과의 통신 수단 (1). 데이터 정의어 DDL : Data Definition Language 데이터베이스 구조를 정의(definitions)하고 변경(alteration)하는데 사용 데이터 정의의 내용 논리적 데이터 구조의 정의 스키마, 외부 스키마 명세 물리적 데이터 구조의 정의 내부 스키마 명세 데이터 저장 정의어 (Data Storage Definition Language) 논리적 데이터 구조와 물리적 데이터 구조 간의 사상을 정의
10
▶ (2) 데이터 조작어(1) ① 절차적(procedural) DML
DML : Data Manipulation Language 사용자 (응용 프로그램)와 DBMS 사이의 통신 수단 데이터 처리 연산(operations)의 집합 (데이터의 검색, 삽입, 삭제, 변경 연산) ① 절차적(procedural) DML 저급 데이터 언어(low-level data language) what과 how를 명세 한번에 하나의 레코드만 처리(one record at a time) 응용 프로그램 속에 삽입(embedded)되어 사용 DML 예비 컴파일러(precompiler)에 의해 처리
11
▶ 데이터 조작어(2) ② 비절차적(non-procedural) DML
고급 데이터 언어(high-level data language) “what”만 명세(declarative)하고 “how”는 시스템에 위임 한번에 여러 개의 레코드를 처리(set of records at a time) 질의어 (Query Language) 독자적이고 대화식 : command 타입 프로그램의 추상적 표현 ☞ Tip 데이터 부속어(DSL, Data Sublanguage) Host program 속에 삽입되어 사용되는 DML 비절차적 또는 절차적 DML 데이터 언어의 완전성(completeness of data language) 사용자가 원하면 어떤 객체도 추출할 수 있고, 관계도 표현할 수 있는 능력 Cf. PL. : 모호성(ambiguity) 배제
12
▶ (3) 데이터 제어어 공용 데이터베이스 관리를 위해 데이터 제어 (data control)를 정의하고 기술
DCL : Data Control Language 공용 데이터베이스 관리를 위해 데이터 제어 (data control)를 정의하고 기술 데이터 제어 내용 데이터 보안(security) 데이터 무결성(integrity) 데이터 회복(recovery) 병행수행(concurrency control) DB 관리 목적으로 DBA가 사용
13
4. 사용자(Users) p69 일반 사용자(end user) 응용 프로그래머(application programmer)
데이터베이스를 이용하기 위해 접근하는 사람 일반 사용자(end user) 비절차적 DML(query language)을 통해서 데이터베이스를 접근 menu, form, graphics 데이터의 insertion, deletion, update, retrieval 응용 프로그래머(application programmer) 응용 프로그램(host 언어 + DML(DSL))을 통해서 DB를 접근 host 언어: PL/I, COBOL, PASCAL, C, Java DB 관리자 (DBA: database administrator) DDL과 DCL 을 통해 DB를 정의하고 제어하는 사람
14
2. 데이터베이스 관리 시스템(DBMS) 사용자의 요구에 따라 데이터베이스에 대한 모든 연산을 수행
1. 사용자의 접근 요구 접수/분석 2. 시스템이 이해할 수 있는 형태로 요구를 변환 3. 외부/개념/내부/저장 구조간의 사상 수행 4. 저장 데이터베이스에 대해 연산 실행
15
▶ DBMS의 구성요소(1) pp63-65 ① DDL 컴파일러(DDL compiler)
DDL로 명세된 schema를 내부 형태로 변환하여 catalog에 저장 메타 데이터베이스(meta-database): 데이터의 데이터 ② 질의어 처리기(query processor) 질의문을 parsing, analysis, compile하여 DB를 접근하기 위한 object code를 생성 ③ 예비 컴파일러(precompiler) 응용 프로그램에 삽입된 DML(DSL)을 추출하고 그 자리에 procedure call로 대체 추출된 DML은 DML 컴파일러로 전달 수정된 응용 프로그램은 host 프로그램 컴파일러로 전달 ④ DML 컴파일러(DML compiler) DML 명령어를 object code로 변환
16
▶ DBMS의 구성요소(2) ⑤ 런타임 데이터베이스 처리기(runtime database processor)
실행 시간에 데이터베이스를 접근 DB 연산(operations)을 저장 데이터 관리자(stored data manager)를 통해 수행 ⑥ 트랜잭션 관리자(transaction manager) 트랜잭션(transaction) 단위로 작업을 수행 DB 접근 과정에서 무결성(integrity)과 권한(authorization) 제어 병행 제어(concurrency control)와 회복(recovery) 작업 cf. DB의 처리 단위 : Transaction(TX) cf. OS의 처리단위 : Process(task) ⑦ 저장 데이터 관리자(stored data manager) 디스크에 있는 사용자 DB나 카탈로그 접근을 제어 기본 OS module(file manager, disk manager)을 이용 file manager를 통해 파일의 페이지 결정 disk manager가 데이터 전송을 수행 메모리 내에서는 buffer manager가 관리
17
DBMS의 구성요소 p64 그림3.3 DBMS 일반사용자 응용프로그래머 데이터베이스 관리자 질의어 DML/응용프로그램
DDL/스키마 질의어 처리기 DML 예비컴파일러 DDL컴파일러 DML컴파일러 런타임 데이터베이스 처리기 트랜잭션 관리자 저장 데이터 관리자 DBMS 저장 데이터베이스 (기본 테이블) 카탈로그 (메타 데이터)
18
5. 데이터베이스 관리자(DBA) p70 DBA의 업무 DBA : Database Administrator
DB의 구성요소(components)를 결정 스키마 정의 저장 구조와 접근 방법 설정 보안 정책 수립, 권한부여, 유효성 검사 백업(backup), 회복(recovery) 절차의 수립 DB의 무결성 유지 성능 향상과 새로운 요구에 대응한 DB의 재구성 Catalog의 유지 관리
19
▶ DBA의 업무 (2) 행정 및 불평 해결 (3) 시스템 감시(monitoring) 및 성능 분석
데이터의 표현과 시스템의 문서화에 표준 설정 사용자의 요구 및 불평 해결 (3) 시스템 감시(monitoring) 및 성능 분석 시스템 성능의 청취 자원의 이용도, 병목현상(bottleneck), 장비 성능 등 사용자 요구의 변화, 데이터 사용 추세, 각종 통계의 종합 분석
20
6. 하드웨어 : 데이터베이스 컴퓨터 p71 대규모 Database (VLDB, Very Large DB)
GB(gigabyte) : 1024MB TB(terabyte) : 1024GB PB(petabyte) : 1024TB EB(exabyte) : 1024PB DB 기능만을 효율적으로 수행하기 위한 특수 목적의 하드웨어 backend computer(후위 컴퓨터) 지능형 저장 장치 내용식(연관) 메모리(associative memory) 병렬 처리(parallel processing)
21
데이터베이스 컴퓨터 구성도 p72 데이터베이스 컴퓨터 데이터베이스 접근 요청 데이터베이스 응용 프로그램 호스트 컴퓨터
컴퓨터 인터페이스 일반 작업 처리기 처리기 디스크 관리자 메모리 저장 메타 (터미널)
22
데이터베이스 시스템 구성도 p73 질의어 질의어 DBMS 저 장 데이터베이스 사용자 1 사용자 2 사용자 3 사용자 n
DML/ 응용프로그램 DML/ 응용프로그램 …. 질의어 질의어 사용자 인터페이스 …. 외부 스키마 1 외부 스키마 2 외부 스키마 m 개념 스키마 DBMS 내부 스키마 저 장 데이터베이스
Similar presentations