48
데데데데데데 (Database) 데데데데데데 데데데 데데데 데데데데 데데데 데데데데데 IT 데데 데데데데데데데

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

  • Upload
    turi

  • View
    104

  • Download
    0

Embed Size (px)

DESCRIPTION

데이터베이스 (Database) 데이터베이스 시스템 개념과 아키텍처 문양세 강원대학교 IT 대학 컴퓨터과학전공. 강의 내용. 데이터베이스 시스템 개념과 아키텍처. 데이터 모델 , 스키마 , 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약. 데이터 모델 (1/2). 데이터베이스 시스템 개념과 아키텍처. 데이터 모델 ?. 데이터 모델 ! - PowerPoint PPT Presentation

Citation preview

Page 1: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

데이터베이스 (Database)

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

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 2

강의 내용

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

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

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

데이터베이스 시스템 환경

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

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

강의 요약

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

Page 3: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 3

데이터 모델 (1/2)

데이터 모델 ?

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

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

해당함

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

있는

개념들의 집합

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

Page 4: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 4

데이터 모델 (2/2)

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

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

데이터 모델에 포함됨

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

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

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

Page 5: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 5

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

물리적 ( 저수준 ) 데이터 모델• 데이터가 컴퓨터에 어떻게 저장되는지의 세부 사항을 명시하는 개념을 제공• 하드웨어에 의존적 , 일반인의 이해가 어려움• 레코드 형식 , 레코드 순서 , 접근경로 정의 ( 인덱스 , 물리적 배치 등 )

개념적 ( 고수준 ) 데이터 모델• 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공• 하드웨어에 독립적 , 일반인의 이해가 쉬움• Entity Relationship Diagram: 개체 , 속성 , 관계 모델 자체의 구현은 어려움

표현 ( 구현 ) 데이터 모델• 고수준 모델과 저수준 모델 사이에 존재• 일반 사용자들이 이해할 수 있는 개념을 제공• 데이터 저장 구조의 세부 사항을 은폐하지만 , 컴퓨터 상에서 직접 구현 가능함• 상용 DBMS 에서 많이 사용함• 대표적 모델 : 계층 모델 , 네트워크 모델 , 관계 모델

legacy model

Page 6: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 6

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

데이터베이스 스키마 ( 또는 메타 데이터 )• 데이터베이스 자체에 대한 기술 ( 카타로그 , 데이터에 대한 데이터 )• 데이터베이스 설계 과정에서 명시하며 자주 변경되지 않음

• 메타 데이터 역할

스키마 다이어그램• 데이터베이스 스키마를 도식화한 것 ( 그림으로 나타낸 것 )• 레코드 타입의 이름 , 데이터 항목의 이름 , 일부 제약 조건 유형들과 같은 스키마의

일부 관점만을 나타냄

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

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

Page 7: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 7

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

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

Page 8: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 8

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

데이터베이스 상태 ( 혹은 스냅샷 )• 어커런스 (occurrence) 나 인스턴스 (instance) 들의 집합이라고도 함

• 어떤 특정 시점에 데이터베이스에 들어 있는 데이터 ( 들의 집합 ) • 데이터베이스에 갱신 연산이 수행될 때마다 새로운 다른 데이터베이스 상태를 가짐

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

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

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

Page 9: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 9

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

내포 (intension) 과 외연 (extension)• 일반적으로 스키마는 내포 (intension) 라 부르고 ,• 데이터베이스 상태는 외연 (extension) 이라 부름

스키마 진화 (schema evolution)• 새로운 필드를 추가하거나 , 필요 없는 필드를 삭제하는 과정 • 대부분 DBMS 는 시스템 운영 중에 스키마 진화가 허용되도록 지원함

Page 10: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 10

강의 내용

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

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

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

데이터베이스 시스템 환경

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

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

강의 요약

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

Page 11: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 11

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

데이터베이스 특징 중 세 가지 주요 특징• 프로그램과 데이터의 분리 ( 격리 )• 다중 뷰의 지원• 카타로그 ( 메타 데이터 ) 저장 / 관리

세 가지 주요 특징을 잘 반영하기 위한 아키텍처 ? 3 단계 - 스키마 아키텍처 (three-schema architecture)

Page 12: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 12

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

3 단계 - 스키마 아키텍처 (three-schema architecture) 의 목적• 사용자의 응용 (application) 과 물리적 데이터베이스의 분리

3 단계 - 스키마 아키텍처의 구성• 제 1 단계 : 내부 단계 (internal level)• 제 2 단계 : 개념 단계 (conceptual level)• 제 3 단계 : 외부 단계 (external level) 또는 뷰 단계 (view level)

Page 13: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 13

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

내부 단계• 내부 스키마를 가지며 , 내부 스키마는 물리적 데이터 모델을 사용• 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로들을 기술

개념 단계• 개념 스키마를 가지며 , 이는 전체 사용자를 위한 데이터베이스의 구조를 기술• ( 물리적 저장 구조의 세부 사항은 은폐하고 )• 엔티티 , 데이터 타입 , 관계 , 사용자 연산 , 제약 조건들을 나타내는데 중점

외부 단계 또는 뷰 단계• 외부 스키마나 사용자 뷰들을 포함• 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는

은폐함

Page 14: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 14

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

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

이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고 , • ( 개념 스키마 내부 스키마 ) 개념 스키마는 다시 내부 스키마에 대한 요구로 변환되어

저장된 데이터베이스에 접근하여 , 사용자의 요구에 대한 결과를 얻은 후 ,• 이를 반대 과정 ( 내부 개념 외부 ) 을 거쳐서 사용자의 뷰와 일치하도록 재구성하는

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

Page 15: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 15

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

Mapping데이터베이스 구조 기술

물리적 저장 구조 기술

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

논리적 데이터 독립성

물리적 데이터 독립성

Page 16: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 16

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

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

있는 능력 ( 성질 )• 주로 뷰 ( 외부 스키마 ) 와 테이블 ( 개념 스키마 ) 사이의 독립성을 의미하며 ,

테이블 구조 / 내용 변경 시에도 뷰는 영향을 받지 않는 능력을 의미함

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

물리적 데이터 독립성 (physical data independence)• 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 능력 ( 성질 )• 물리적 구조인 내부 스키마 ( 인덱스 구조 , 접근 경로 관리 등 ) 의 변경하더라도 ,

개념 스키마 ( 예 : 테이블 구조 ) 는 영향을 받지 않는 능력을 의미함

Page 17: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 17

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

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

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

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

( 질의 / 프로그램 컴파일 /실행에 많은 오버헤드 발생 ) 실제로 완벽한 3 단계 - 스키마 아키텍처를 구현한 DBMS 는 거의 없음

Page 18: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 18

강의 내용

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

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

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

데이터베이스 시스템 환경

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

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

강의 요약

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

Page 19: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 19

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

데이터 정의어 (DDL: Data Definition Language)• 개념 스키마와 내부 스키마를 정의• 예 : CREATE TABLE, DROP INDEX

데이터 조작어 (DML: Data Manipulation Language)• 데이터를 검색 , 삽입 , 삭제 , 수정하기 위한 조작 언어• 비절차적 (nonprocedural) 인 언어 , 사용이 편리한 언어를 사용 ( 대표적 예 : SQL

언어 )• DML 명령어는 범용 프로그래밍 언어에 삽입되어 사용될 수 있으며 , 이때 범용

프로그래밍 언어를 호스트 언어라 하고 , 삽입된 DML 명령어를 데이터 부속어라 함

Page 20: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 20

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

기타 언어 (DBMS 에 따라 제공되는 언어 )• 저장구조 정의어 (SDL: Storage Definition Language): 내부 스키마를 정의

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

사상을 나타냄

Page 21: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 21

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

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

폼 기반 인터페이스

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

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

음성 입력 및 출력

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

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

Page 22: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 22

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

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

Page 23: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 23

강의 내용

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

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

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

데이터베이스 시스템 환경• DBMS 구성 모듈• 데이터베이스 시스템 유틸리티• 도구 , 응용 환경 , 통신 장비

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

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

강의 요약

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

Page 24: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 24

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

DDL 컴파일러• 데이터 정의어를 해석하여 , 이에 명시된 스키마 정의들을 처리• 처리 결과인 스키마 정보 ( 메타 데이터 ) 를 DBMS 카탈로그 안에 저장

다른 DBMS 모듈들이 매우 빈번하게 이러한 카타로그를 접근함

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

제어

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

질의 컴파일러 (query compiler)• 여러 질의 인터페이스에 의해 입력된 고수준 질의들을 컴파일 ( 및 해석 )

런타임 데이터베이스 처리기가 수행할 수 있는 형식으로 변환

Page 25: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 25

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

질의 최적화기 (query optimizer)• 연산 재배치 , 중복 연산의 제거 등을 통해 최적의 수행 코드를 생성함• 데이터베이스에 대한 정보 ( 인덱스 , 하드웨어 자원 등 ) 를 활용하여 최적화 수행

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

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

Page 26: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 26

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

Page 27: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 27

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

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

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

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

백업 (backup)• 전체 데이터베이스를 테이프 /디스크에 복사하여 데이터베이스의 백업 사본을 만듦• 추후 발생할 수 있는 치명적 오류 ( 시스템 파괴 , 디스크 파손 등 ) 에 대비함

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

Page 28: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 28

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

성능 모니터링 (performance monitoring)• 데이터베이스의 사용을 모니터링해서 사용 통계를 데이터베이스 관리자에게 제공함• 이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서 화일들을 재조직할

것인지를 결정하는데 사용됨

Page 29: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 29

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

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

기술 , 사용자 정보 등과 같은 정보를 저장• DBMS 카탈로그와 유사하나 더 다양한 정보를 가짐• DBMS 소프트웨어보다는 주로 사용자가 접근• 데이터 저장소 (data repository system) 혹은 정보 저장소 (information repository)

라 불리기도 함

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

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

Page 30: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 30

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

CASE 도구• 데이터베이스 시스템을 설계하는 과정에서 사용됨• 원래 CASE 는 SE 도구이나 , 실질적으로 데이터베이스 설계에 많이 사용됨

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

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

통신 인터페이스 제공• 통신 소프트웨어와 통신 장비를 사용하여 데이터베이스 시스템 사이트로부터 멀리 떨어진 컴퓨터 터미널 , 워크스테이션 , 마이크로 컴퓨터 , 소형 컴퓨터에서 데이터베이스접근을 가능하게 함

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

Page 31: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 31

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

Page 32: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 32

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

Page 33: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 33

강의 내용

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

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

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

데이터베이스 시스템 환경

DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처• 중앙집중식 DBMS 아키텍처• 기본적인 클라이언트 / 서버 아키텍처• DBMS 를 위한 2- 층 클라이언트 / 서버 아키텍처• 웹 응용들을 위한 3- 층 클라이언트 / 서버 아키텍처

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

강의 요약

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

Page 34: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 34

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

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

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

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

Page 35: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 35

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

Page 36: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 36

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

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

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

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

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

Page 37: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 37

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

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

Page 38: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 38

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

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

Page 39: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 39

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

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

서버 : 질의와 트랜잭션 기능 ( 질의 서버 , 트랜잭션 서버 , SQL 서버 )클라이언트 : User interface program 과 App. Program 수행

ODBC(Open Database Connectivity) API(Application Programming In-terface): 서버가 API 를 제공하고 클라이언트가 이를 호출하여 사용

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

Page 40: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 40

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

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

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

C/S 아키텍처를 취함• 서버 단계 : 데이터 저장 , 동시성 제어와 회복 , 버퍼링과 캐싱 등

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

객체를 구성

Page 41: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 41

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

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

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

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

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

각 시스템의 역할

• DB 서버 : 데이터 접근

• 응용 /웹 서버 : 응용 규칙의 수행

( 및 트랜잭션 제어 )• 클라이언트 : 사용자 인터페이스

Page 42: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 42

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

Page 43: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 43

강의 내용

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

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

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

데이터베이스 시스템 환경

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

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

강의 요약

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

Page 44: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 44

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

데이터 모델에 따른 분류 : 다음 세 슬라이드 참조 • 최근 사용되는 모델 : 관계 데이터 모델 , 객체지향 및 객체관계 데이터 모델

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

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

사이트의 수에 따른 분류 : • 중앙집중식 DBMS• 분산 DBMS(DDBMS): 동질 분산 DBMS 또는 이질 분산 DBMS

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

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

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

Page 45: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 45

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

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

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

관계 모델• 데이터베이스는 테이블들의 모임으로 구성• 교재의 그림 1.2 와 유사 • 고급 질의어를 제공하고 제한된 형태의 사용자 뷰를 지원

네트워크 모델• 데이터를 네트워크 ( 그래프 ) 구조로 나타냄• 데이터를 레코드타입으로 나타냄• 일대다 (1:n) 관계를 표현하는 화살표 이용 (Owner-Member 관계 )• 다음 페이지 혹은 교재의 그림 2.8 참조

Page 46: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 46

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

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

Page 47: 데이터베이스  (Database) 데이터베이스 시스템  개념과 아키텍처 문양세 강원대학교  IT 대학  컴퓨터과학전공

Database by Yang-Sae MoonPage 47

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

계층 모델• 데이터를 계층적 트리 구조로 나타냄• 데이터를 레코드타입으로 나타냄• 일대다 (1:n) 관계를 표현하는 연결선 이용 (Parent-Child 관계 )

객체지향 모델• 객체 , 객체의 속성 , 연산으로 데이터베이스를 정의• 같은 구조와 행위를 갖는 객체들은 한 클래스에 속하고 클래스들은 계층 또는

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

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

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

Database by Yang-Sae MoonPage 48

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

데이터 모델• 고수준 또는 개념적 데이터 모델 ( 개체관계 )• 데이터 모델들의 구현 ( 레코드 기반 , 객체지향 )• 저수준 또는 물리적 데이터 모델

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

데이터베이스 상태

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

DBMS 가 지원하는 언어 : DDL, DML인터페이스 유형

DBMS 유틸리티

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

DBMS 의 분류