Top Banner
데이터베이스 데이터베이스 (Database) (Database) 데이터베이스 데이터베이스 시스템 시스템 데이터베이스 데이터베이스 시스템 시스템 개념과 개념과 아키텍처 아키텍처 개념과 개념과 아키텍처 아키텍처 문양세 문양세 강원대학교 강원대학교 IT IT특성화대학 특성화대학 컴퓨터과학전공 컴퓨터과학전공
48

데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

Mar 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터베이스데이터베이스 (Database)(Database)

데이터베이스데이터베이스 시스템시스템데이터베이스데이터베이스 시스템시스템개념과개념과 아키텍처아키텍처개념과개념과 아키텍처아키텍처

문양세문양세강원대학교강원대학교 ITIT특성화대학특성화대학 컴퓨터과학전공컴퓨터과학전공

Page 2: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성

데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처

데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 2

Page 3: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 모델모델 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

데이터 모델?

데이터 모델!

• 데이터 추상화( 세부 사항은 감추고, 개념 제시)를 제공하기 위한 주요 도구에 해당함데이터 추상화( 세부 사항은 감추 , 개념 제시)를 제공하기 위한 주요 도구에 해당함

• 데이터베이스 구조(데이터 타입, 관계, 제약 조건들)를 명시하기 위해 사용할 수 있는

개념들의 집합

Database by Yang-Sae MoonPage 3

• 데이터베이스에서 검색과 갱신을 수행하는 기본 연산들의 집합을 포함

Page 4: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 모델모델 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

관계형 데이터 모델에서 스키마 예제

데이터 모델 개념의 변화데이터 모델 개념의 변화

• DB 응용의 동적 측면 또는 행동(behavior)을 명시하기 위한 개념들이 점차적으로 데이

터 모델에 포함됨터 모델에 포함됨

• 대표적 예가 사용자 정의 연산(user defined operation)을 모델에 포함시키는 추세

• 사용자 정의 연산의 예: COMPUTE GPA (STUDENT 개체에 적용 가능)

Database by Yang-Sae MoonPage 4

• 사용자 정의 연산의 예: COMPUTE_GPA (STUDENT 개체에 적용 가능)

Page 5: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 모델의모델의 분류분류데이터베이스 시스템 개념과 아키텍처

물리적(저수준) 데이터 모델• 데이터가 컴퓨터에 어떻게 저장되는지의 세부 사항을 명시하는 개념을 제공

• 하드웨어에 의존적, 일반인의 이해가 어려움

• 레코드 형식, 레코드 순서, 접근경로 정의 (인덱스, 물리적 배치 등)

개념적(고수준) 데이터 모델• 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공

• 하드웨어에 독립적 일반인의 이해가 쉬움• 하드웨어에 독립적, 일반인의 이해가 쉬움

• Entity Relationship Diagram: 개체, 속성, 관계 모델 자체의 구현은 어려움

표현(구현) 데이터 모델표현(구현) 데이터 모델• 고수준 모델과 저수준 모델 사이에 존재

• 일반 사용자들이 이해할 수 있는 개념을 제공

• 데이터 저장 구조의 세부 사항을 은폐하지만, 컴퓨터 상에서 직접 구현 가능함

• 상용 DBMS에서 많이 사용함

• 대표적 모델: 계층 모델 네트워크 모델 관계 모델

Database by Yang-Sae MoonPage 5

대표적 모델: 계층 모델, 네트워크 모델, 관계 모델legacy model

Page 6: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

스키마스키마, , 인스턴스인스턴스, , 데이터베이스데이터베이스 상태상태 (1/4)(1/4)데이터베이스 시스템 개념과 아키텍처

데이터베이스 스키마 (또는 메타 데이터)

데이터베이스 자체에 대한 기술 (카타로그 데이터에 대한 데이터)• 데이터베이스 자체에 대한 기술 (카타로그, 데이터에 대한 데이터)

• 데이터베이스 설계 과정에서 명시하며 자주 변경되지 않음

• 메타 데이터 역할• 메타 데이터 역할

스키마 다이어그램스키마 다이어그램

• 데이터베이스 스키마를 도식화한 것(그림으로 나타낸 것)

레코드 타입의 이름 데이터 항목의 이름 일부 제약 조건 유형들과 같은 스키마의• 레코드 타입의 이름, 데이터 항목의 이름, 일부 제약 조건 유형들과 같은 스키마의

일부 관점만을 나타냄

여러 다른 관점(항목의 데이터 타입, 파일간 관계, 제약 조건 등)은 표현되지 않음여러 다른 관점(항목의 데이터 타입, 파일간 관계, 제약 건 등)은 현되지 않음

• 다음 페이지(교재의 그림 2.1) 참조

Database by Yang-Sae MoonPage 6

Page 7: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

스키마스키마, , 인스턴스인스턴스, , 데이터베이스데이터베이스 상태상태 (2/4)(2/4)데이터베이스 시스템 개념과 아키텍처

그림 1.2의 데이터베이스에 대한 스키마 다이어그램

Database by Yang-Sae MoonPage 7

Page 8: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

스키마스키마, , 인스턴스인스턴스, , 데이터베이스데이터베이스 상태상태 (3/4)(3/4)데이터베이스 시스템 개념과 아키텍처

데이터베이스 상태 (혹은 스냅샷)

어커런스(occurrence)나 인스턴스(instance)들의 집합이라고도 함• 어커런스(occurrence)나 인스턴스(instance)들의 집합이라고도 함

• 어떤 특정 시점에 데이터베이스에 들어 있는 데이터(들의 집합)

• 데이터베이스에 갱신 연산이 수행될 때마다 새로운 다른 데이터베이스 상태를 가짐• 데이터베이스에 갱신 연산이 수행될 때마다 새로운 다른 데이터베이스 상태를 가짐

• DBMS는 데이터베이스 상태가 스키마에 명시된 구조와 제약조건을 만족하는 유효한

상태임을 보장하는 책임을 일부 가짐상태임을 보장하는 책임을 일부 가짐

• (DBMS 카타로그에 메타 데이터로서 “스키마와 제약 조건”이 저장/관리됨)

Database by Yang-Sae MoonPage 8

Page 9: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

스키마스키마, , 인스턴스인스턴스, , 데이터베이스데이터베이스 상태상태 (4/4)(4/4)데이터베이스 시스템 개념과 아키텍처

내포(intension)과 외연(extension)• 일반적으로 스키마는 내포(intension)라 부르고,

• 데이터베이스 상태는 외연(extension)이라 부름

스키마 진화(schema evolution)스키마 진화(schema evolution)• 새로운 필드를 추가하거나, 필요 없는 필드를 삭제하는 과정

• 대부분 DBMS는 시스템 운영 중에 스키마 진화가 허용되도록 지원함

Database by Yang-Sae MoonPage 9

Page 10: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성• 3단계-스키마 아키텍처

• 데이터 독립성• 데이터 독립성

데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처를 위한 중앙집중식과 클라이언 /서버 아키텍처

데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 10

Page 11: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

REMIND: REMIND: 데이터베이스의데이터베이스의 특징특징데이터베이스 시스템 개념과 아키텍처

데이터베이스 특징 중 세 가지 주요 특징• 프로그램과 데이터의 분리(격리)

• 다중 뷰의 지원

• 카타로그(메타 데이터) 저장/관리

세 가지 주요 특징을 잘 반영하기 위한 아키텍처?

3단계 스키마 아키텍처 (three schema architecture)3단계-스키마 아키텍처 (three-schema architecture)

Database by Yang-Sae MoonPage 11

Page 12: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

33단계단계--스키마스키마 아키텍처아키텍처 (1/3)(1/3)데이터베이스 시스템 개념과 아키텍처

3단계-스키마 아키텍처(three-schema architecture)의 목적

사용자의 응용(application)과 물리적 데이터베이스의 분리• 사용자의 응용(application)과 물리적 데이터베이스의 분리

3단계 스키마 아키텍처의 구성3단계-스키마 아키텍처의 구성

• 제1단계: 내부 단계(internal level)

제2단계 개념 단계 l l l• 제2단계: 개념 단계(conceptual level)

• 제3단계: 외부 단계(external level) 또는 뷰 단계(view level)

Database by Yang-Sae MoonPage 12

Page 13: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

33단계단계--스키마스키마 아키텍처아키텍처 (2/3)(2/3)데이터베이스 시스템 개념과 아키텍처

내부 단계• 내부 스키마를 가지며, 내부 스키마는 물리적 데이터 모델을 사용

• 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로들을 기술

개념 단계개념 단계• 개념 스키마를 가지며, 이는 전체 사용자를 위한 데이터베이스의 구조를 기술

• (물리적 저장 구조의 세부 사항은 은폐하고)(물리적 저장 구조의 세부 사항은 은폐하고)

• 엔티티, 데이터 타입, 관계, 사용자 연산, 제약 조건들을 나타내는데 중점

외부 단계 또는 뷰 단계• 외부 스키마나 사용자 뷰들을 포함

특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는• 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는은폐함

Database by Yang-Sae MoonPage 13

Page 14: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

33단계단계--스키마스키마 아키텍처아키텍처 (3/3)(3/3)데이터베이스 시스템 개념과 아키텍처

사상(mapping)

(외부 스키마 개념 스키마) 외부 스키마를 참조하여 사용자가 데이터를 요구하면• (외부 스키마 개념 스키마) 외부 스키마를 참조하여 사용자가 데이터를 요구하면

이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고,

• (개념 스키마 내부 스키마) 개념 스키마는 다시 내부 스키마에 대한 요구로 변환되어(개념 스키마 내부 스키마) 개념 스키마는 다시 내부 스키마에 대한 요구로 변환되어

저장된 데이터베이스에 접근하여, 사용자의 요구에 대한 결과를 얻은 후,

• 이를 반대 과정(내부 개념 외부)을 거쳐서 사용자의 뷰와 일치하도록 재구성하는

과정을 “사상”이라 일컫는다.

Database by Yang-Sae MoonPage 14

Page 15: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

33단계단계--스키마스키마 아키텍처아키텍처 도식화도식화데이터베이스 시스템 개념과 아키텍처

사용자에게데이터베이스가보여지는 구조 기술

Mapping

보여지는 구조 기술

논리적 데이터 독립성

데이터베이스 구조 기술

물리적 데이터 독립성

물리적 저장 구조 기술

Database by Yang-Sae MoonPage 15

Page 16: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 독립성독립성 (data independence)(data independence)데이터베이스 시스템 개념과 아키텍처

논리적 데이터 독립성 (logical data independence)• 외부 스키마나 응용 프로그램을 변경하지 않으면서도 개념 스키마를 변경할 수

있는 능력 (성질)

• 주로 뷰(외부 스키마)와 테이블(개념 스키마) 사이의 독립성을 의미하며, 테이블 구조/내용 변경 시에도 뷰는 영향을 받지 않는 능력을 의미함테이블 구조/내용 변경 시에도 뷰는 영향을 받지 않는 능력을 의미함

레코드 타입 추가/삭제, 데이터 항목 추가/삭제가 관련 없는 다른 뷰에는 영향을 주어서는 안됨

리적 데이터 립성물리적 데이터 독립성 (physical data independence)• 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 능력 (성질)

• 물리적 구조인 내부 스키마(인덱스 구조 접근 경로 관리 등)의 변경하더라도물리적 구조인 내부 스키마(인덱스 구조, 접근 경로 관리 등)의 변경하더라도,개념 스키마(예: 테이블 구조)는 영향을 받지 않는 능력을 의미함

Database by Yang-Sae MoonPage 16

Page 17: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

33단계단계--스키마스키마 장장//단점단점데이터베이스 시스템 개념과 아키텍처

장점• 물리적 및 논리적 독립성 확보가 용이

사상(mapping)만 변경되며, 각 단계의 독립성이 유지됨

단점단점• 두 번의 사상에 따른 DBMS의 비효율성 초래

(질의/프로그램 컴파일/실행에 많은 오버헤드 발생)

실제로 완벽한 3단계-스키마 아키텍처를 구현한 DBMS는 거의 없음

Database by Yang-Sae MoonPage 17

Page 18: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성

데이터베이스 언어와 인터페이스• DBMS 언어

• DBMS 인터페이스

데이터베이스 시스템 환경

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처를 위한 중앙집중식과 클라이언 /서버 아키텍처

데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 18

Page 19: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 언어언어 (DBMS Language) (1/2)(DBMS Language) (1/2)데이터베이스 시스템 개념과 아키텍처

데이터 정의어 (DDL: Data Definition Language)• 개념 스키마와 내부 스키마를 정의

• 예: CREATE TABLE, DROP INDEX

데이터 조작어 (DML: Data Manipulation Language)데이터 작어 ( p g g )• 데이터를 검색, 삽입, 삭제, 수정하기 위한 조작 언어

• 비절차적(nonprocedural)인 언어, 사용이 편리한 언어를 사용 (대표적 예: SQL 언어)

DML 명령어는 범용 래밍 언어에 삽입되어 사용될 수 있으며 이때 범용 래• DML 명령어는 범용 프로그래밍 언어에 삽입되어 사용될 수 있으며, 이때 범용 프로그래밍 언어를 호스트 언어라 하고, 삽입된 DML 명령어를 데이터 부속어라 함

Database by Yang-Sae MoonPage 19

Page 20: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 언어언어 (DBMS Language) (2/2)(DBMS Language) (2/2)데이터베이스 시스템 개념과 아키텍처

기타 언어 (DBMS에 따라 제공되는 언어)

저장구조 정의어(SDL: Storage Definition Language): 내부 스키마를 정의• 저장구조 정의어(SDL: Storage Definition Language): 내부 스키마를 정의

• 뷰 정의어(VDL: View Definition Language): 뷰를 명시하거나 개념 스키마 사이의

사상을 나타냄사상을 나타냄

Database by Yang-Sae MoonPage 20

Page 21: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 인터페이스인터페이스 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

메뉴 기반 인터페이스 (pull down interface, pop up interface, …)

폼 기반 인터페이스

그래픽 사용자 인터페이스 (그림 조작으로 명령 수행 마우스 활용)그래픽 사용자 인터페이스 (그림 조작으로 명령 수행, 마우스 활용)

자연어 인터페이스 (영어 등 자연어 사용)자연어 인터페이스 (영어 등 자연어 사용)

음성 입력 및 출력

초보자를 위한 인터페이스 (은행 직원 등을 위한 특별하고 고정된)

데이터베이스 관리자를 위한 인터페이스 (특권 명령 제공)

Database by Yang-Sae MoonPage 21

Page 22: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 인터페이스인터페이스 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

phpMyAdmin 예제 (MySQL에서 제공하는 메뉴/폼 인터페이스)

Database by Yang-Sae MoonPage 22

Page 23: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성

데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경• DBMS 구성 모듈구성 듈

• 데이터베이스 시스템 유틸리티

• 도구, 응용 환경, 통신 장비

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처

데이터베이스 관리 시스템의 분류데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 23

Page 24: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 구성구성 모듈모듈 (1/3)(1/3)데이터베이스 시스템 개념과 아키텍처

DDL 컴파일러• 데이터 정의어를 해석하여, 이에 명시된 스키마 정의들을 처리

• 처리 결과인 스키마 정보(메타 데이터)를 DBMS 카탈로그 안에 저장 다른 DBMS 모듈들이 매우 빈번하게 이러한 카타로그를 접근함

저장 데이터 관리자 (stored data manager)• 디스크에 저장되어 있는 DBMS의 정보(데이터베이스 또는 카탈로그)에 대한 접근 제어

런타임 데이터베이스 처리기 (run-time database processor)• 질의를 실제로 수행하고, 그 과정에서 실제 데이터베이스 접근을 처리

질의 컴파일러 (query compiler)질의 컴파일러 (query compiler)• 여러 질의 인터페이스에 의해 입력된 고수준 질의들을 컴파일 (및 해석) 런타임 데이터베이스 처리기가 수행할 수 있는 형식으로 변환

Database by Yang-Sae MoonPage 24

Page 25: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 구성구성 모듈모듈 (2/3)(2/3)데이터베이스 시스템 개념과 아키텍처

질의 최적화기 (query optimizer)• 연산 재배치, 중복 연산의 제거 등을 통해 최적의 수행 코드를 생성함

• 데이터베이스에 대한 정보(인덱스, 하드웨어 자원 등)를 활용하여 최적화 수행

프리 컴파일러 (pre-compiler)• 호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작어 명령들을 추출

추출된 데이터 조작어 명령은 DML 컴파일러를 통해 컴파일• 추출된 데이터 조작어 명령은 DML 컴파일러를 통해 컴파일

DML 컴파일러컴파일러• 데이터 조작어 명령들을 데이터베이스 접근을 위한 (실행 가능한) 목적 코드로 컴파일

Database by Yang-Sae MoonPage 25

Page 26: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMS DBMS 구성구성 모듈모듈 (3/3)(3/3)데이터베이스 시스템 개념과 아키텍처

Database by Yang-Sae MoonPage 26

Page 27: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터베이스데이터베이스 시스템시스템 유틸리티유틸리티 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

대부분 DBMS는 DBA가 데이터베이스 시스템을 관리하는 것을 도와주는데이터베이스 유틸리티를 제공함

적재기(loading)• 데이터 파일(예: 텍스트 파일)을 자동적으로 데이터베이스 화일의 형식으로 변환해서

저장함

• 엑셀에서 텍스트 파일을 엑셀 파일로 변경하는 것을 예로 생각할 수 있음엑셀에서 텍 파일을 엑셀 파일 변경하는 것을 예 생각할 수 있음

백업(backup)• 전체 데이터베이스를 테이프/디스크에 복사하여 데이터베이스의 백업 사본을 만듦

• 추후 발생할 수 있는 치명적 오류(시스템 파괴, 디스크 파손 등)에 대비함

파일 재조직 (file reorganization)• 성능 향상을 위해 데이터베이스 화일 구조를 다른 화일 구조로 재조직함

Database by Yang-Sae MoonPage 27

성능 향상을 위해 데이터베이 화일 구 를 다른 화일 구 재 직함

Page 28: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터베이스데이터베이스 시스템시스템 유틸리티유틸리티 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

성능 모니터링 (performance monitoring)• 데이터베이스의 사용을 모니터링해서 사용 통계를 데이터베이스 관리자에게 제공함

• 이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서 화일들을 재조직할 것인지를 결정하는데 사용됨

Database by Yang-Sae MoonPage 28

Page 29: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 사전사전 시스템과시스템과 데이터데이터 디렉토리디렉토리데이터베이스 시스템 개념과 아키텍처

데이터 사전 시스템 (data dictionary system)• 스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정, 사용 표준, 응용 프로그램

기술, 사용자 정보 등과 같은 정보를 저장

• DBMS 카탈로그와 유사하나 더 다양한 정보를 가짐

• DBMS 소프트웨어보다는 주로 사용자가 접근• DBMS 소프트웨어보다는 주로 사용자가 접근

• 데이터 저장소(data repository system) 혹은 정보 저장소(information repository)라불리기도 함

데이터 디렉토리 (또는 능동 데이터 사전)• 사용자와 DBMS 소프트웨어 모두가 사용하는 통합된 카탈로그/데이터 사전• 사용자와 DBMS 소프트웨어 모두가 사용하는 통합된 카탈로그/데이터 사전

(수동 데이터 사전은 사용자만 이용하는 데이터 사전을 의미)

Database by Yang-Sae MoonPage 29

Page 30: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

도구도구, , 응용응용, , 통신통신 장비장비데이터베이스 시스템 개념과 아키텍처

CASE 도구• 데이터베이스 시스템을 설계하는 과정에서 사용됨

• 원래 CASE는 SE 도구이나, 실질적으로 데이터베이스 설계에 많이 사용됨

응용 개발 환경응용 개발 환경• PowerBuilder(Sybase), Jbuilder(Borland) 등 사용이 용이하고, powerful한 개발 환경을

제공함 다음 두 슬라이드의 예 참조

통신 인터페이스 제공• 통신 소프트웨어와 통신 장비를 사용하여 데이터베이스 시스템 사이트로부터 멀리

떨어진 컴퓨터 터미널, 워크스테이션, 마이크로 컴퓨터, 소형 컴퓨터에서 데이터베이스접근을 가능하게 함

• DB/DC 시스템 : DBMS와 데이터 통신 시스템의 결합체 (database/data communication)

Database by Yang-Sae MoonPage 30

Page 31: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

PowerBuilder PowerBuilder 화면화면 예예데이터베이스 시스템 개념과 아키텍처

Database by Yang-Sae MoonPage 31

Page 32: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

JbuilderJbuilder 화면화면 예예데이터베이스 시스템 개념과 아키텍처

Database by Yang-Sae MoonPage 32

Page 33: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성

데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처• 중앙집중식 DBMS 아키텍처

• 기본적인 클라이언트/서버 아키텍처기본적인 클라이언트/서버 아키텍처

• DBMS를 위한 2-층 클라이언트/서버 아키텍처

• 웹 응용들을 위한 3-층 클라이언트/서버 아키텍처

데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 33

강의 요약

Page 34: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

중앙집중식중앙집중식 DBMS DBMS 아키텍처아키텍처 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

메인 프레임과 터미널을 사용: 모든 작업은 메인 프레임에서 진행되고, 데이터를 입력하고 필요한정보를 출력하여 표시해주는 일만을 터미널이 수행

(컴퓨터의 대중화 및 가격 하락에 따라) 터미널이 PC와 워크스테이션으로 대치됨

초기/과거의 DBMS 아키텍처는 중앙집중식 구조를 가짐

Database by Yang-Sae MoonPage 34

Page 35: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

중앙집중식중앙집중식 DBMS DBMS 아키텍처아키텍처 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

Database by Yang-Sae MoonPage 35

Page 36: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

클라이언트클라이언트//서버서버 아키텍처아키텍처 (1/3)(1/3)데이터베이스 시스템 개념과 아키텍처

특정 기능을 갖는 특별한 서버를 지정

파일 서버, 프린터 서버, 웹 서버, 이메일 서버 등

여러 서버가 메인 프레임의 기능을 분산해서 수행(부하 분담)하며,저마다 독창적인 기능(기능의 전문화 및 특화)을 수행함

클라이언트: 지역 응용들을 수행하기 위한 처리 기능뿐만 아니라서버들을 이용하기 위한 인터페이스 (단순한 터미널 기능에서 탈피)

Database by Yang-Sae MoonPage 36

Page 37: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

클라이언트클라이언트//서버서버 아키텍처아키텍처 (2/3)(2/3)데이터베이스 시스템 개념과 아키텍처

논리적인 2-층 클라이언트/서버 아키텍처

Database by Yang-Sae MoonPage 37

Page 38: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

클라이언트클라이언트//서버서버 아키텍처아키텍처 (3/3)(3/3)데이터베이스 시스템 개념과 아키텍처

물리적인 2-층 클라이언트/서버 아키텍처

Database by Yang-Sae MoonPage 38

Page 39: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMSDBMS를를 위한위한 22--층층 C/SC/S 아키텍처아키텍처 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

중앙집중식 RDBMS가 클라이언트-서버 아키텍처로 바뀌고 있음

서버: 질의와 트랜잭션 기능 (질의 서버 트랜잭션 서버 SQL 서버)서버: 질의와 트랜잭션 기능 (질의 서버, 트랜잭션 서버, SQL 서버)

클라이언트: User interface program과 App. Program 수행

b l fODBC(Open Database Connectivity) API(Application Programming Interface):

서버가 API를 제공하고 클라이언트가 이를 호출하여 사용

(JDBC J 언어를 위한 DB 인터페이스)(JDBC Java 언어를 위한 DB 인터페이스)

Database by Yang-Sae MoonPage 39

Page 40: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMSDBMS를를 위한위한 22--층층 C/SC/S 아키텍처아키텍처 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

객체지향 DBMS는 대부분 처음부터 클라이언트-서버 아키텍처로 개발

특히 일 객체지향 서버 단계 클라이언 단계를 갖특히, 일부 객체지향 DBMS는 서버 단계, 클라이언트 단계를 갖는 C/S

아키텍처를 취함

• 서버 단계: 데이터 저장, 동시성 제어와 회복, 버퍼링과 캐싱 등

• 클라이언트 단계: 사용자 인터페이스, 데이터 사전, 버퍼 내의 데이터로부터 복잡한

객체를 구성객체를 구성

Database by Yang-Sae MoonPage 40

Page 41: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

웹웹 응용응용 위한위한 33--층층 C/SC/S 아키텍처아키텍처 (1/2)(1/2)데이터베이스 시스템 개념과 아키텍처

클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가

이 서버 데이터베이 서버에 저장된 비 니 칙 시저이 서버는 데이터베이스 서버에 저장된 비즈니스 규칙(프로시저 또는

제약조건)들을 저장함으로써 중간 역할을 수행함

비즈니스 규칙은 일반적으로 데이터를 접근하는데 사용됨

각 시스템의 역할각 시 템의 역할

• DB서버: 데이터 접근

• 응용/웹 서버: 응용 규칙의 수행 (및 트랜잭션 제어)• 응용/웹 서버: 응용 규칙의 수행 (및 트랜잭션 제어)

• 클라이언트: 사용자 인터페이스

Database by Yang-Sae MoonPage 41

Page 42: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

웹웹 응용응용 위한위한 33--층층 C/SC/S 아키텍처아키텍처 (2/2)(2/2)데이터베이스 시스템 개념과 아키텍처

Database by Yang-Sae MoonPage 42

Page 43: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

강의강의 내용내용데이터베이스 시스템 개념과 아키텍처

데이터 모델, 스키마, 인스턴스

DBMS 아키텍처와 데이터 독립성

데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처

데이터베이스 관리 시스템의 분류

강의 요약

Database by Yang-Sae MoonPage 43

Page 44: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMSDBMS의의 분류분류 기준기준데이터베이스 시스템 개념과 아키텍처

데이터 모델에 따른 분류: 다음 세 슬라이드 참조

최근 사용되는 모델: 관계 데이터 모델 객체지향 및 객체관계 데이터 모델• 최근 사용되는 모델: 관계 데이터 모델, 객체지향 및 객체관계 데이터 모델

• Legacy 모델: 네트워크 데이터 모델, 계층 데이터 모델

사용자의 수에 따른 분류 단일 사용자 다수 사용자 시스템사용자의 수에 따른 분류: 단일 사용자, 다수 사용자 시스템

사이트의 수에 따른 분류:

• 중앙집중식 DBMS

• 분산 DBMS(DDBMS): 동질 분산 DBMS 또는 이질 분산 DBMS

비용에 따른 분류: 무료, 라이선스 제공, 유지보수 비용 등

접근 경로의 유형에 따른 분류: B-트리 기반 구조, inverted file 구조 등접근 경 의 유형에 따른 분류 리 기반 구 , 구 등

범용 또는 특수 목적용 (예: 실시간 처리를 위한 Memory DBMS)

Database by Yang-Sae MoonPage 44

Page 45: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

데이터데이터 모델에모델에 따른따른 분류분류 (1/3)(1/3)데이터베이스 시스템 개념과 아키텍처

개념적(고수준) 데이터 모델: 개체-관계(Entity-Relationship) 모델

논리적(표현/구현) 데이터 모델: 관계, 네트워크, 계층, 객체 데이터 모델

관계 모델• 데이터베이스는 테이블들의 모임으로 구성

교재의 그림 1 2와 유사• 교재의 그림 1.2와 유사

• 고급 질의어를 제공하고 제한된 형태의 사용자 뷰를 지원

네트워크 모델• 데이터를 네트워크(그래프) 구조로 나타냄

• 데이터를 레코드타입으로 나타냄

• 일대다(1:n)관계를 표현하는 화살표 이용 (Owner-Member 관계)

• 다음 페이지 혹은 교재의 그림 2.8 참조

Database by Yang-Sae MoonPage 45

다음 페이지 혹은 교재의 림 2.8 참조

Page 46: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMSDBMS의의 분류분류 (2/3)(2/3)데이터베이스 시스템 개념과 아키텍처

네트워크 모델의 스키마 예제

Database by Yang-Sae MoonPage 46

Page 47: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

DBMSDBMS의의 분류분류 (3/3)(3/3)데이터베이스 시스템 개념과 아키텍처

계층 모델• 데이터를 계층적 트리 구조로 나타냄

• 데이터를 레코드타입으로 나타냄

• 일대다(1:n)관계를 표현하는 연결선 이용 (Parent-Child 관계)

객체지향 모델• 객체, 객체의 속성, 연산으로 데이터베이스를 정의객체, 객체의 속성, 연산으로 데이터베이스를 정의

• 같은 구조와 행위를 갖는 객체들은 한 클래스에 속하고 클래스들은 계층 또는비순환 그래프로 조직됨

메소드라고 하는 미리 정의된 프로시저들이 클래스의 연산을 나타냄• 메소드라고 하는 미리 정의된 프로시저들이 클래스의 연산을 나타냄

객체-관계 모델객체 관계 모델• 관계 모델에 객체지향 모델의 개념을 도입하여 확장함

Database by Yang-Sae MoonPage 47

Page 48: 데이터베이스시스템 개념과아키텍처ysmoon/courses/2009_2/db/03.pdf · 2016-06-02 · •처리결과인스키마정보(메타데이터)를DBMS 카탈로그안에저장

요약요약데이터베이스 시스템 개념과 아키텍처

데이터 모델• 고수준 또는 개념적 데이터 모델(개체관계)

• 데이터 모델들의 구현(레코드 기반, 객체지향)

• 저수준 또는 물리적 데이터 모델

스키마 외부 스키마 개념 스키마 내부 스키마스키마: 외부 스키마, 개념 스키마, 내부 스키마

데이터베이스 상태

논리적 물리적 데이터 독립성논리적, 물리적 데이터 독립성

DBMS가 지원하는 언어: DDL, DML

인터페이스 유형인터페이스 유형

DBMS 유틸리티

데이터베이스 응용들을 위한 2 층 3 층 아키텍처데이터베이스 응용들을 위한 2-층, 3-층 아키텍처

DBMS의 분류

Database by Yang-Sae MoonPage 48