Download presentation
Presentation is loading. Please wait.
Published byYohanes Johan Modified 5년 전
1
데이터베이스 (Databases) 데이터베이스 시스템 개념과 아키텍처 문양세 강원대학교 IT대학 컴퓨터과학전공
2
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
3
모델? 데이터 모델? 데이터 모델 (1/3) 데이터 모델!
데이터베이스 시스템 개념과 아키텍처 모델? 데이터 모델? 데이터 모델! 데이터 추상화( 세부 사항은 감추고, 개념 제시)를 제공하기 위한 주요 도구에 해당함 데이터베이스 구조(데이터 타입, 관계, 제약 조건들)를 명시하기 위해 사용할 수 있는 개념들의 집합 데이터베이스에서 검색과 갱신을 수행하는 기본 연산들의 집합을 포함
4
데이터 모델 (2/3) 데이터베이스 시스템 개념과 아키텍처 관계형 데이터 모델에서 스키마 예제
5
데이터 모델 (3/3) 데이터베이스 시스템 개념과 아키텍처 데이터 모델 개념의 변화 DB 응용의 동적 측면 또는 행동(behavior)를 명시하기 위한 개념들이 점차적으로 데이터 모델에 포함됨 대표적 예가 사용자 정의 연산(user defined operation)을 모델에 포함시키는 추세 사용자 정의 연산의 예: COMPUTE_GPA (STUDENT 개체에 적용 가능)
6
데이터 모델의 분류 물리적(저수준) 데이터 모델 개념적(고수준) 데이터 모델 표현(구현) 데이터 모델
데이터베이스 시스템 개념과 아키텍처 물리적(저수준) 데이터 모델 데이터가 컴퓨터에 어떻게 저장되는지의 세부 사항을 명시하는 개념을 제공 하드웨어에 의존적, 일반인의 이해가 어려움 레코드 형식, 레코드 순서, 접근경로 정의 (인덱스, 물리적 배치 등) 개념적(고수준) 데이터 모델 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공 하드웨어에 독립적, 일반인의 이해가 쉬움 Entity Relationship Diagram: 개체, 속성, 관계 모델 자체의 구현은 어려움 표현(구현) 데이터 모델 고수준 모델과 저수준 모델 사이에 존재 일반 사용자들이 이해할 수 있는 개념을 제공 데이터 저장 구조의 세부 사항을 은폐하지만, 컴퓨터 상에서 직접 구현 가능함 상용 DBMS에서 많이 사용함 대표적 모델: 계층 모델, 네트워크 모델, 관계 모델 legacy model
7
스키마, 인스턴스, 데이터베이스 상태 (1/4) 데이터베이스 스키마 (또는 메타 데이터) 스키마 다이어그램
데이터베이스 시스템 개념과 아키텍처 데이터베이스 스키마 (또는 메타 데이터) 데이터베이스 자체에 대한 기술 (카타로그, 데이터에 대한 데이터) 데이터베이스 설계 과정에서 명시하며 자주 변경되지 않음 메타 데이터 역할 스키마 다이어그램 데이터베이스 스키마를 도식화한 것(그림으로 나타낸 것) 레코드 타입의 이름, 데이터 항목의 이름, 일부 제약 조건 유형들과 같은 스키마의 일부 관점만을 나타냄 여러 다른 관점(항목의 데이터 타입, 파일간 관계, 제약 조건 등)은 표현되지 않음 그림 2.1(다음 페이지) 참조
8
스키마, 인스턴스, 데이터베이스 상태 (2/4) 그림 1.2의 데이터베이스에 대한 스키마 다이어그램
데이터베이스 시스템 개념과 아키텍처 그림 1.2의 데이터베이스에 대한 스키마 다이어그램
9
스키마, 인스턴스, 데이터베이스 상태 (3/4) 데이터베이스 상태 (혹은 스냅샷)
데이터베이스 시스템 개념과 아키텍처 데이터베이스 상태 (혹은 스냅샷) 어커런스(occurrence)나 인스턴스(instance)들의 집합이라고도 함 어떤 특정 시점에 데이터베이스에 들어 있는 데이터(들의 집합) 데이터베이스에 갱신 연산이 수행될 때마다 새로운 다른 데이터베이스 상태를 가짐 DBMS는 데이터베이스 상태가 스키마에 명시된 구조와 제약조건을 만족하는 유효한 상태임을 보장하는 책임을 일부 가짐 (DBMS 카타로그에 메타 데이터로서 “스키마와 제약 조건”이 저장/관리됨)
10
스키마, 인스턴스, 데이터베이스 상태 (4/4) 내포(intension)과 외연(extension)
데이터베이스 시스템 개념과 아키텍처 내포(intension)과 외연(extension) 일반적으로 스키마는 내포(intension)라 부르고, 데이터베이스 상태는 외연(extension)이라 부름 스키마 진화(schema evolution) 새로운 필드를 추가하거나, 필요 없는 필드를 삭제하는 과정 대부분 DBMS는 시스템 운영 중에 스키마 진화가 허용되도록 지원함
11
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 3단계-스키마 아키텍처 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
12
REMIND: 데이터베이스의 특징 데이터베이스 특징 중 세 가지 주요 특징 세 가지 주요 특징을 잘 반영하기 위한 아키텍처?
데이터베이스 시스템 개념과 아키텍처 데이터베이스 특징 중 세 가지 주요 특징 프로그램과 데이터의 분리(격리) 다중 뷰의 지원 카타로그(메타 데이터) 저장/관리 세 가지 주요 특징을 잘 반영하기 위한 아키텍처? 3단계-스키마 아키텍처 (three-schema architecture) 그림 2.2(다음 페이지) 참조
13
3단계-스키마 아키텍처의 도식화 3단계-스키마 아키텍처 (three-schema architecture)
데이터베이스 시스템 개념과 아키텍처 3단계-스키마 아키텍처 (three-schema architecture)
14
3단계-스키마 아키텍처 (1/3) 3단계-스키마 아키텍처(three-schema architecture)의 목적
데이터베이스 시스템 개념과 아키텍처 3단계-스키마 아키텍처(three-schema architecture)의 목적 사용자의 응용(application)과 물리적 데이터베이스의 분리 3단계-스키마 아키텍처의 구성 제1단계: 내부 단계(internal level) 제2단계: 개념 단계(conceptual level) 제3단계: 외부 단계(external level) 또는 뷰 단계(view level)
15
3단계-스키마 아키텍처 (2/3) 내부 단계 개념 단계 외부 단계 또는 뷰 단계
데이터베이스 시스템 개념과 아키텍처 내부 단계 내부 스키마를 가지며, 내부 스키마는 물리적 데이터 모델을 사용 데이터 저장 구조의 세부 사항과 데이터베이스에 대한 접근 경로들을 기술 개념 단계 개념 스키마를 가지며, 이는 전체 사용자를 위한 데이터베이스 구조를 기술 (물리적 저장 구조의 세부 사항은 은폐하고) 엔티티, 데이터 타입, 관계, 사용자 연산, 제약 조건들을 나타내는데 중점 외부 단계 또는 뷰 단계 외부 스키마나 사용자 뷰들을 포함 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는 은폐함
16
3단계-스키마 아키텍처 (3/3) 사상(mapping)
데이터베이스 시스템 개념과 아키텍처 사상(mapping) (외부 스키마 개념 스키마) 외부 스키마를 참조하여 사용자가 데이터를 요구하면 이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고, (개념 스키마 내부 스키마) 개념 스키마는 다시 내부 스키마에 대한 요구로 변환되어 저장된 데이터베이스에 접근하여, 사용자의 요구에 대한 결과를 얻은 후, 이를 반대 과정(내부 개념 외부)을 거쳐서 사용자의 뷰와 일치하도록 재구성하는 과정을 “사상”이라 일컫는다.
17
3단계-스키마 아키텍처 도식화 Mapping 데이터베이스 시스템 개념과 아키텍처 사용자에게 데이터베이스가 보여지는 구조 기술
논리적 데이터 독립성 데이터베이스 구조 기술 물리적 데이터 독립성 물리적 저장 구조 기술
18
데이터 독립성 (data independence)
데이터베이스 시스템 개념과 아키텍처 논리적 데이터 독립성 (logical data independence) 외부 스키마나 응용 프로그램을 변경하지 않으면서도 개념 스키마를 변경할 수 있는 능력 (성질) 주로 뷰(외부 스키마)와 테이블(개념 스키마) 사이의 독립성을 의미하며, 테이블 구조/내용 변경 시에도 뷰는 영향을 받지 않는 능력을 의미함 레코드 타입 추가/삭제, 데이터 항목 추가/삭제가 관련 없는 다른 뷰에는 영향을 주어서는 안됨 물리적 데이터 독립성 (physical data independence) 개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 능력 (성질) 물리적 구조인 내부 스키마(인덱스 구조, 접근 경로 관리 등)의 변경하더라도, 개념 스키마(예: 테이블 구조)는 영향을 받지 않는 능력을 의미함
19
3단계-스키마 장/단점 장점 단점 물리적 및 논리적 독립성 확보가 용이
데이터베이스 시스템 개념과 아키텍처 장점 물리적 및 논리적 독립성 확보가 용이 사상(mapping)만 변경되며, 각 단계의 독립성이 유지됨 단점 두 번의 사상에 따른 DBMS의 비효율성 초래 (질의/프로그램 컴파일/실행에 많은 오버헤드 발생) 실제로 완벽한 3단계-스키마 아키텍처를 구현한 DBMS는 거의 없음
20
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 DBMS 언어 DBMS 인터페이스 데이터베이스 시스템 환경 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
21
DBMS 언어 (DBMS Language) (1/2)
데이터베이스 시스템 개념과 아키텍처 데이터 정의어 (DDL: Data Definition Language) 개념 스키마와 내부 스키마를 정의 예: CREATE TABLE, DROP INDEX 데이터 조작어 (DML: Data Manipulation Language) 데이터를 검색, 삽입, 삭제, 수정하기 위한 조작 언어 비절차적(nonprocedural)인 언어, 사용이 편리한 언어를 사용 (대표적 예: SQL 언어) DML 명령어는 범용 프로그래밍 언어에 삽입되어 사용될 수 있으며, 이때 범용 프로그래밍 언어를 호스트 언어라 하고, 삽입된 DML 명령어를 데이터 부속어라 함
22
DBMS 언어 (DBMS Language) (2/2)
데이터베이스 시스템 개념과 아키텍처 기타 언어 (DBMS에 따라 제공되는 언어) 저장구조 정의어(SDL: Storage Definition Language): 내부 스키마를 정의 뷰 정의어(VDL: View Definition Language): 뷰를 명시하거나 개념 스키마 사이의 사상을 나타냄
23
DBMS 인터페이스 (1/2) 데이터베이스 시스템 개념과 아키텍처 메뉴 기반 인터페이스 (pull down interface, pop up interface, …) 폼 기반 인터페이스 그래픽 사용자 인터페이스 (그림 조작으로 명령 수행, 마우스 활용) 자연어 인터페이스 (영어 등 자연어 사용) 음성 입력 및 출력 초보자를 위한 인터페이스 (은행 직원 등을 위한 특별하고 고정된) 데이터베이스 관리자를 위한 인터페이스 (특권 명령 제공)
24
DBMS 인터페이스 (2/2) phpMyAdmin 예제 (MySQL에서 제공하는 메뉴/폼 인터페이스)
데이터베이스 시스템 개념과 아키텍처 phpMyAdmin 예제 (MySQL에서 제공하는 메뉴/폼 인터페이스)
25
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS 구성 모듈 데이터베이스 시스템 유틸리티 도구, 응용 환경, 통신 장비 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
26
DBMS 구성 모듈 (1/3) DDL 컴파일러 저장 데이터 관리자 (stored data manager)
데이터베이스 시스템 개념과 아키텍처 DDL 컴파일러 데이터 정의어를 해석하여, 이에 명시된 스키마 정의들을 처리 처리 결과인 스키마 정보(메타 데이터)를 DBMS 카탈로그 안에 저장 다른 DBMS 모듈들이 매우 빈번하게 이러한 카타로그를 접근함 저장 데이터 관리자 (stored data manager) 디스크에 저장되어 있는 DBMS의 정보(데이터베이스 또는 카탈로그)에 대한 접근 제어 런타임 데이터베이스 처리기 (run-time database processor) 질의를 실제로 수행하고, 그 과정에서 실제 데이터베이스 접근을 처리 질의 컴파일러 (query compiler) 여러 질의 인터페이스에 의해 입력된 고수준 질의들을 컴파일 (및 해석) 런타임 데이터베이스 처리기가 수행할 수 있는 형식으로 변환
27
DBMS 구성 모듈 (2/3) 질의 최적화기 (query optimizer) 프리 컴파일러 (pre-compiler)
데이터베이스 시스템 개념과 아키텍처 질의 최적화기 (query optimizer) 연산 재배치, 중복 연산의 제거 등을 통해 최적의 수행 코드를 생성함 데이터베이스에 대한 정보(인덱스, 하드웨어 자원 등)를 활용하여 최적화 수행 프리 컴파일러 (pre-compiler) 호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작어 명령들을 추출 추출된 데이터 조작어 명령은 DML 컴파일러를 통해 컴파일 DML 컴파일러 데이터 조작어 명령들을 데이터베이스 접근을 위한 (실행 가능한) 목적 코드로 컴파일
28
DBMS 구성 모듈 (3/3) 데이터베이스 시스템 개념과 아키텍처
29
데이터베이스 시스템 유틸리티 (1/2) 데이터베이스 시스템 개념과 아키텍처 대부분 DBMS는 DBA가 데이터베이스 시스템을 관리하는 것을 도와주는 데이터베이스 유틸리티를 제공함 적재(loading) 데이터 파일(예: 텍스트 파일)을 자동적으로 데이터베이스 화일의 형식으로 변환해서 저장함 엑셀에서 텍스트 파일을 엑셀 파일로 변경하는 것을 예로 생각할 수 있음 백업(backup) 전체 데이터베이스를 테이프/디스크에 복사하여 데이터베이스의 백업 사본을 만듦 추후 발생할 수 있는 치명적 오류(시스템 파괴, 디스크 파손 등)에 대비함 파일 재조직 (file reorganization) 성능 향상을 위해 데이터베이스 화일 구조를 다른 화일 구조로 재조직함
30
데이터베이스 시스템 유틸리티 (2/2) 성능 모니터링 (performance monitoring)
데이터베이스 시스템 개념과 아키텍처 성능 모니터링 (performance monitoring) 데이터베이스의 사용을 모니터링해서 사용 통계를 데이터베이스 관리자에게 제공함 이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서 화일들을 재조직할 것인지를 결정하는데 사용됨
31
데이터 사전 시스템과 데이터 디렉토리 데이터 사전 시스템 (data dictionary system)
데이터베이스 시스템 개념과 아키텍처 데이터 사전 시스템 (data dictionary system) 스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정, 사용 표준, 응용 프로그램 기술, 사용자 정보 등과 같은 정보를 저장 DBMS 카탈로그와 유사하나 더 다양한 정보를 가짐 DBMS 소프트웨어보다는 주로 사용자가 접근 데이터 저장소(data repository system) 혹은 정보 저장소(information repository)라 불리기도 함 데이터 디렉토리 (또는 능동 데이터 사전) 사용자와 DBMS 소프트웨어 모두가 사용하는 통합된 카탈로그/데이터 사전 (수동 데이터 사전은 사용자만 이용하는 데이터 사전을 의미)
32
도구, 응용, 통신 장비 CASE 도구 응용 개발 환경 통신 인터페이스 제공 데이터베이스 시스템을 설계하는 과정에서 사용됨
데이터베이스 시스템 개념과 아키텍처 CASE 도구 데이터베이스 시스템을 설계하는 과정에서 사용됨 원래 CASE는 SE 도구이나, 실질적으로 데이터베이스 설계에 많이 사용됨 응용 개발 환경 PowerBuilder(Sybase), Jbuilder(Borland) 등 사용이 용이하고, powerful한 개발 환경을 제공함 다음 두 슬라이드의 예 참조 통신 인터페이스 제공 통신 소프트웨어와 통신 장비를 사용하여 데이터베이스 시스템 사이트로부터 멀리 떨어진 컴퓨터 터미널, 워크스테이션, 마이크로 컴퓨터, 소형 컴퓨터에서 데이터베이스접근을 가능하게 함 DB/DC 시스템 : DBMS와 데이터 통신 시스템의 결합체 (database/data communication)
33
PowerBuilder 화면 예 데이터베이스 시스템 개념과 아키텍처
34
Jbuilder 화면 예 데이터베이스 시스템 개념과 아키텍처
35
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 중앙집중식 DBMS 아키텍처 기본적인 클라이언트/서버 아키텍처 DBMS를 위한 2-층 클라이언트/서버 아키텍처 웹 응용들을 위한 3-층 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
36
중앙집중식 DBMS 아키텍처 (1/2) 데이터베이스 시스템 개념과 아키텍처 메인 프레임과 터미널을 사용: 모든 작업은 메인 프레임에서 진행되고, 데이터를 입력하고 필요한 정보를 출력하여 표시해주는 일만을 터미널이 수행 (컴퓨터의 대중화 및 가격 하락에 따라) 터미널이 PC와 워크스테이션으로 대치됨 초기/과거의 DBMS 아키텍처는 중앙집중식 구조를 가짐
37
중앙집중식 DBMS 아키텍처 (2/2) 데이터베이스 시스템 개념과 아키텍처
38
클라이언트/서버 아키텍처 (1/3) 특정 기능을 갖는 특별한 서버를 지정 파일 서버, 프린터 서버, 웹 서버, 이메일 서버 등
데이터베이스 시스템 개념과 아키텍처 특정 기능을 갖는 특별한 서버를 지정 파일 서버, 프린터 서버, 웹 서버, 이메일 서버 등 여러 서버가 메인 프레임의 기능을 분산해서 수행(부하 분담)하며, 저마다 독창적인 기능(기능의 전문화 및 특화)을 수행함 클라이언트: 지역 응용들을 수행하기 위한 처리 기능뿐만 아니라 서버들을 이용하기 위한 인터페이스 (단순한 터미널 기능에서 탈피)
39
클라이언트/서버 아키텍처 (2/3) 데이터베이스 시스템 개념과 아키텍처 논리적인 2-층 클라이언트/서버 아키텍처
40
클라이언트/서버 아키텍처 (3/3) 데이터베이스 시스템 개념과 아키텍처 물리적인 2-층 클라이언트/서버 아키텍처
41
DBMS를 위한 2-층 C/S 아키텍처 (1/2) 중앙집중식 RDBMS가 클라이언트-서버 아키텍처로 바뀌고 있음
데이터베이스 시스템 개념과 아키텍처 중앙집중식 RDBMS가 클라이언트-서버 아키텍처로 바뀌고 있음 서버: 질의와 트랜잭션 기능 (질의 서버, 트랜잭션 서버, SQL 서버) 클라이언트: User interface program과 App. Program 수행 ODBC(Open Database Connectivity) API(Application Programming Interface): 서버가 API를 제공하고 클라이언트가 이를 호출하여 사용 (JDBC Java 언어를 위한 DB 인터페이스)
42
DBMS를 위한 2-층 C/S 아키텍처 (2/2) 객체지향 DBMS는 대부분 처음부터 클라이언트-서버 아키텍처로 개발
데이터베이스 시스템 개념과 아키텍처 객체지향 DBMS는 대부분 처음부터 클라이언트-서버 아키텍처로 개발 특히, 일부 객체지향 DBMS는 서버 단계, 클라이언트 단계를 갖는 C/S 아키텍처를 취함 서버 단계: 데이터 저장, 동시성 제어와 회복, 버퍼링과 캐싱 등 클라이언트 단계: 사용자 인터페이스, 데이터 사전, 버퍼 내의 데이터로부터 복잡한 객체를 구성
43
웹 응용 위한 3-층 C/S 아키텍처 (1/3) 클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가
데이터베이스 시스템 개념과 아키텍처 클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가 이 서버는 데이터베이스 서버에 저장된 비즈니스 규칙(프로시저 또는 제약조건)들을 저장함으로써 중간 역할을 수행함 비즈니스 규칙은 일반적으로 데이터를 접근하는데 사용됨 각 시스템의 역할 DB서버: 데이터 접근 응용/웹 서버: 응용 규칙의 수행 (및 트랜잭션 제어) 클라이언트: 사용자 인터페이스
44
웹 응용 위한 3-층 C/S 아키텍처 (2/3) 데이터베이스 시스템 개념과 아키텍처
45
웹 응용 위한 3-층 C/S 아키텍처 (3/3) 데이터베이스 시스템 개념과 아키텍처
46
강의 내용 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스
데이터베이스 시스템 개념과 아키텍처 데이터 모델, 스키마, 인스턴스 DBMS 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 데이터베이스 관리 시스템의 분류 강의 요약
47
DBMS의 분류 기준 데이터 모델에 따른 분류: 다음 세 슬라이드 참조
데이터베이스 시스템 개념과 아키텍처 데이터 모델에 따른 분류: 다음 세 슬라이드 참조 최근 사용되는 모델: 관계 데이터 모델, 객체지향 및 객체관계 데이터 모델 Legacy 모델: 네트워크 데이터 모델, 계층 데이터 모델 사용자의 수에 따른 분류: 단일 사용자, 다수 사용자 시스템 사이트의 수에 따른 분류: 중앙집중식 DBMS 분산 DBMS(DDBMS): 동질 분산 DBMS 또는 이질 분산 DBMS 비용에 따른 분류: 무료, 라이선스 제공, 유지보수 비용 등 접근 경로의 유형에 따른 분류: B-트리 기반 구조, inverted file 구조 등 범용 또는 특수 목적용 (예: 실시간 처리를 위한 Memory DBMS)
48
데이터 모델에 따른 분류 (1/3) 개념적(고수준) 데이터 모델: 개체-관계(Entity-Relationship) 모델
데이터베이스 시스템 개념과 아키텍처 개념적(고수준) 데이터 모델: 개체-관계(Entity-Relationship) 모델 논리적(표현/구현) 데이터 모델: 관계, 네트워크, 계층, 객체 데이터 모델 관계 모델 데이터베이스는 테이블들의 모임으로 구성 교재의 그림 1.2와 유사 고급 질의어를 제공하고 제한된 형태의 사용자 뷰를 지원 네트워크 모델 데이터를 네트워크(그래프) 구조로 나타냄 데이터를 레코드타입으로 나타냄 일대다(1:n)관계를 표현하는 화살표 이용 (Owner-Member 관계) 그림 2.8(다음 페이지) 참조
49
DBMS의 분류 (2/3) 데이터베이스 시스템 개념과 아키텍처 네트워크 모델의 스키마 예제
50
DBMS의 분류 (3/3) 계층 모델 객체지향 모델 객체-관계 모델 데이터를 계층적 트리 구조로 나타냄
데이터베이스 시스템 개념과 아키텍처 계층 모델 데이터를 계층적 트리 구조로 나타냄 데이터를 레코드타입으로 나타냄 일대다(1:n)관계를 표현하는 연결선 이용 (Parent-Child 관계) 객체지향 모델 객체, 객체의 속성, 연산으로 데이터베이스를 정의 같은 구조와 행위를 갖는 객체들은 한 클래스에 속하고 클래스들은 계층 또는 비순환 그래프로 조직됨 메소드라고 하는 미리 정의된 프로시저들이 클래스의 연산을 나타냄 객체-관계 모델 관계 모델에 객체지향 모델의 개념을 도입하여 확장함
51
요약 데이터 모델 스키마: 외부 스키마, 개념 스키마, 내부 스키마 데이터베이스 상태 논리적, 물리적 데이터 독립성
데이터베이스 시스템 개념과 아키텍처 데이터 모델 고수준 또는 개념적 데이터 모델(개체관계) 데이터 모델들의 구현(레코드 기반, 객체지향) 저수준 또는 물리적 데이터 모델 스키마: 외부 스키마, 개념 스키마, 내부 스키마 데이터베이스 상태 논리적, 물리적 데이터 독립성 DBMS가 지원하는 언어: DDL, DML 인터페이스 유형 DBMS 유틸리티 데이터베이스 응용들을 위한 2-층, 3-층 아키텍처 DBMS의 분류
Similar presentations