• 검색 결과가 없습니다.

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
51
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

데이터베이스 (Databases)

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

문양세

강원대학교 IT 대학 컴퓨터공학과

(2)

Database by Yang-Sae Moon

Page 2

강의 내용

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

3- 단계 스키마 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처 데이터베이스 관리 시스템의 분류

강의 요약

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

(3)

데이터 모델 (1/3)

모델 ?

데이터 모델 ?

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

데이터 모델 !

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

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

개념들의 집합

(4)

Database by Yang-Sae Moon

Page 4

데이터 모델 (2/3)

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

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

(5)

데이터 모델 (3/3)

데이터 모델 개념의 변화

DB 응용의 동적 측면 또는 행동 (behavior) 를 명시하기 위한 개념들이 점차적으로 데 이터 모델에 포함됨

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

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

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

(6)

Database by Yang-Sae Moon

Page 6

데이터 모델의 분류

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

물리적 ( 저수준 ) 데이터 모델

데이터가 컴퓨터에 어떻게 저장되는지의 세부 사항을 명시하는 개념을 제공

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

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

개념적 ( 고수준 ) 데이터 모델

사용자들이 데이터를 인식하는 방식에 대한 개념을 제공

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

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

표현 ( 구현 ) 데이터 모델

고수준 모델과 저수준 모델 사이에 존재하며 , 일반 사용자가 이해할 수 있는 개념 제공

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

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

최신 데이터 모델 : 객체 데이터 모델 , 자기 기술성 데이터 모델

(NoSQL)

(7)

스키마 , 인스턴스 , 데이터베이스 상태

(1/4)

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

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

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

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

메타 데이터 역할

스키마 다이어그램

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

레코드 타입의 이름 , 데이터 항목의 이름 , 일부 제약 조건 유형들과 같은 스키마의 일부 관점만을 나타냄

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

(8)

Database by Yang-Sae Moon

Page 8

스키마 , 인스턴스 , 데이터베이스 상태

(2/4)

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

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

(9)

스키마 , 인스턴스 , 데이터베이스 상태

(3/4)

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

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

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

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

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

DBMS 는 데이터베이스 상태가 스키마에 명시된 구조와 제약조건을 만족하는 유효한 상태임을 보장하는 책임을 일부 가짐

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

(10)

Database by Yang-Sae Moon

Page 10

스키마 , 인스턴스 , 데이터베이스 상태

(4/4)

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

내포 (intension) 과 외연 (extension)

일반적으로 스키마는 내포 (intension) 라 부르고 ,

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

스키마 진화 (schema evolution)

새로운 필드를 추가하거나 , 필요 없는 필드를 삭제하는 과정

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

(11)

강의 내용

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

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

3 단계 - 스키마 아키텍처

데이터 독립성

데이터베이스 언어와 인터페이스 데이터베이스 시스템 환경

DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처 데이터베이스 관리 시스템의 분류

강의 요약

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

(12)

Database by Yang-Sae Moon

Page 12

REMIND: 데이터베이스의 특징

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

데이터베이스 특징 중 세 가지 주요 특징

프로그램과 데이터의 분리 ( 격리 )

다중 뷰의 지원

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

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

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

 그림 2.2( 다음 페이지 ) 참조

(13)

3 단계 - 스키마 아키텍처의 도식화

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

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

(14)

Database by Yang-Sae Moon

Page 14

3 단계 - 스키마 아키텍처 (1/3)

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

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

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

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

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

제 2 단계 : 개념 단계 (conceptual level)

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

(15)

3 단계 - 스키마 아키텍처 (2/3)

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

내부 단계

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

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

개념 단계

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

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

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

외부 단계 또는 뷰 단계

외부 스키마나 사용자 뷰들을 포함

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

(16)

Database by Yang-Sae Moon

Page 16

3 단계 - 스키마 아키텍처 (3/3)

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

사상 (mapping)

( 외부 스키마  개념 스키마 ) 외부 스키마를 참조하여 사용자가 데이터를 요구하면 이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고 ,

( 개념 스키마  내부 스키마 ) 개념 스키마는 다시 내부 스키마에 대한 요구로 변환되어 저장된 데이터베이스에 접근하여 , 사용자의 요구에 대한 결과를 얻은 후 ,

이를 반대 과정 ( 내부  개념  외부 )을 거쳐서 사용자의 뷰와 일치하도록 재구성하는 과 정을 “사상”이라 일컫는다 .

(17)

3 단계 - 스키마 아키텍처 도식화

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

Mapping

데이터베이스 구조 기술

물리적 저장 구조 기술 사용자에게 데이터베이스가 보여지는 구조 기술

논리적 데이터 독립성

물리적 데이터 독립성

(18)

Database by Yang-Sae Moon

Page 18

데이터 독립성 (data independence)

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

논리적 데이터 독립성 (logical data independence)

외부 스키마나 응용 프로그램을 변경하지 않으면서도 개념 스키마를 변경할 수 있는 능력 ( 성질 )

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

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

물리적 데이터 독립성 (physical data independence)

개념 스키마를 변경하지 않으면서 내부 스키마를 변경할 수 있는 능력 ( 성질 )

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

(19)

3 단계 - 스키마 장 / 단점

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

장점

물리적 및 논리적 독립성 확보가 용이

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

단점

두 번의 사상에 따른 DBMS 의 비효율성 초래

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

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

(20)

Database by Yang-Sae Moon

Page 20

강의 내용

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

3- 단계 스키마 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스

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)

Database by Yang-Sae Moon

Page 22

DBMS 언어 (DBMS Language) (2/2)

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

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

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

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

Tower of Babel

(23)

DBMS 인터페이스 (1/2)

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

모바일 기기를 위한 앱

브라우징을 위한 메뉴 기반 인터페이스

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

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

키워드 기반 검색 음성 입력 및 출력

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

(24)

Database by Yang-Sae Moon

Page 24

DBMS 인터페이스 (2/2)

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

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

(25)

강의 내용

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

3- 단계 스키마 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS 구성 모듈

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

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

DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처 데이터베이스 관리 시스템의 분류

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

(26)

Database by Yang-Sae Moon

Page 26

DBMS 구성 모듈 (1/3)

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

DDL 컴파일러

데이터 정의어를 해석하여 , 이에 명시된 스키마 정의들을 처리

처리 결과인 스키마 정보 ( 메타 데이터 ) 를 DBMS 카탈로그 안에 저장

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

저장 데이터 관리자 (stored data manager)

디스크에 저장되어 있는 DBMS 의 정보 ( 데이터베이스 또는 카탈로그 ) 에 대한 접근 제 어

런타임 데이터베이스 처리기 (run-time database processor)

질의를 실제로 수행하고 , 그 과정에서 실제 데이터베이스 접근을 처리

질의 컴파일러 (query compiler)

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

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

(27)

DBMS 구성 모듈 (2/3)

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

질의 최적화기 (query optimizer)

연산 재배치 , 중복 연산의 제거 등을 통해 최적의 수행 코드를 생성함

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

프리 컴파일러 (pre-compiler)

호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작어 명령들을 추출

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

DML 컴파일러

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

(28)

Database by Yang-Sae Moon

Page 28

DBMS 구성 모듈 (3/3)

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

(29)

데이터베이스 시스템 유틸리티 (1/2)

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

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

적재 (loading)

데이터 파일 ( 예 : 텍스트 파일 ) 을 자동적으로 데이터베이스 화일의 형식으로 변환해서 저장함

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

백업 (backup)

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

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

(30)

Database by Yang-Sae Moon

Page 30

데이터베이스 시스템 유틸리티 (2/2)

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

성능 모니터링 (performance monitoring)

데이터베이스의 사용을 모니터링해서 사용 통계를 데이터베이스 관리자에게 제공함

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

(31)

데이터 사전 시스템과 데이터 디렉토리

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

데이터 사전 시스템 (data dictionary system)

스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정 , 사용 표준 , 응용 프로그램 기술 , 사용자 정보 등과 같은 정보를 저장

DBMS

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

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

데이터 저장소 (data repository system) 혹은 정보 저장소 (information repository) 라

불리기도 함

데이터 디렉토리 ( 또는 능동 데이터 사전 )

사용자와 DBMS 소프트웨어 모두가 사용하는 통합된 카탈로그 / 데이터 사전 ( 수동 데이터 사전은 사용자만 이용하는 데이터 사전을 의미 )

(32)

Database by Yang-Sae Moon

Page 32

도구 , 응용 , 통신 장비

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

CASE 도구

데이터베이스 시스템을 설계하는 과정에서 사용됨

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

응용 개발 환경

PowerBuilder(Sybase), Jbuilder(Borland) 등 사용이 용이하고 , powerful 한 개발 환 경을 제공함  다음 두 슬라이드의 예 참조

통신 인터페이스 제공

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

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

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

(33)

PowerBuilder 화면 예

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

(34)

Database by Yang-Sae Moon

Page 34

Jbuilder 화면 예

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

(35)

강의 내용

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

3- 단계 스키마 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

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

중앙집중식 DBMS 아키텍처

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

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

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

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

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

(36)

Database by Yang-Sae Moon

Page 36

중앙집중식 DBMS 아키텍처 (1/2)

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

메인 프레임과 터미널을 사용 :

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

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

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

(37)

중앙집중식 DBMS 아키텍처 (2/2)

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

(38)

Database by Yang-Sae Moon

Page 38

클라이언트 / 서버 아키텍처 (1/3)

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

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

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

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

클라이언트 : 지역 응용들을 수행하기 위한 처리 기능뿐만 아니라 서버들을 이용하기 위한 인터페이스

( 단순한 터미널 기능에서 탈피 )

(39)

클라이언트 / 서버 아키텍처 (2/3)

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

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

(40)

Database by Yang-Sae Moon

Page 40

클라이언트 / 서버 아키텍처 (3/3)

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

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

(41)

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 인터페이스 )

(42)

Database by Yang-Sae Moon

Page 42

DBMS 를 위한 2- 층 C/S 아키텍처 (2/2)

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

객체지향 DBMS 는 대부분 처음부터 클라이언트 - 서버 아키텍처로 개발 특히 , 일부 객체지향 DBMS 는 서버 단계 , 클라이언트 단계를 갖는 C/S

아키텍처를 취함

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

클라이언트 단계 : 사용자 인터페이스 , 데이터 사전 , 버퍼 내의 데이터로부터 복잡한 객체를 구성

(43)

웹 응용 위한 3- 층 C/S 아키텍처 (1/3)

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

클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가 이 서버는 데이터베이스 서버에 저장된 비즈니스 규칙 ( 프로시저 또는 제약조건 ) 들을 저장함으로써 중간 역할을 수행함

비즈니스 규칙은 일반적으로 데이터를 접근하는데 사용됨 각 시스템의 역할

DB 서버 : 데이터 접근

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

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

(44)

Database by Yang-Sae Moon

Page 44

웹 응용 위한 3- 층 C/S 아키텍처 (2/3)

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

(45)

웹 응용 위한 3- 층 C/S 아키텍처 (3/3)

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

(46)

Database by Yang-Sae Moon

Page 46

강의 내용

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

3- 단계 스키마 아키텍처와 데이터 독립성 데이터베이스 언어와 인터페이스

데이터베이스 시스템 환경

DBMS 를 위한 중앙집중식과 클라이언트 / 서버 아키텍처 데이터베이스 관리 시스템의 분류

강의 요약

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

(47)

DBMS 의 분류 기준

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

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

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

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

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

중앙집중식 DBMS

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

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

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

(48)

Database by Yang-Sae Moon

Page 48

데이터 모델에 따른 분류 (1/3)

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

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

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

관계 모델

데이터베이스는 테이블들의 모임으로 구성

교재의 그림 1.2 와 유사

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

네트워크 모델

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

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

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

다음 페이지 예제 참조

(49)

데이터 모델에 따른 분류 (2/3)

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

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

(50)

Database by Yang-Sae Moon

Page 50

데이터 모델에 따른 분류 (3/3)

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

계층 모델

데이터를 계층적 트리 구조로 나타냄

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

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

객체지향 모델

객체 , 객체의 속성 , 연산으로 데이터베이스를 정의

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

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

객체 - 관계 모델

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

(51)

요약

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

데이터 모델

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

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

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

스키마 : 외부 스키마 , 개념 스키마 , 내부 스키마 데이터베이스 상태

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

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

DBMS 유틸리티

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

참조

관련 문서

• 아키텍처 설계(Architecture design) – 예비 설계 또는 상위 수준 설계?. – 소프트웨어 시스템의

◈ 데이터 필드로 기술된 데이터 타입 (data type)과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법. 간의

• Qualities yielded : Centralization of computation and data at the server, with the information made available to remote clients. A single powerful server can

 데이터베이스 개발자는 Oracle 8이나 IBM 의 DB2와 같은 데이터베이스 관리 시스템 에서 데이터 내용, 관계, 그리고 구조를 명 시하고 수정하기 위해서

 애트리뷰트 합성 방법

 체계적인 수문조사를 통해 다양한 수문정보를 구축하고 각종 정보화 기술을 이용해 국민에게 종합적인 물정보 서 비스를 제공.  데이터베이스 구축을 통해 수자원

 은행 업무 처리를 위한

정보시스템 요건 기술서 검토 정보시스템 요건 기술서 작성 정보시스템 요건의 이행 연관성 식별 정보시스템 아키텍처 정의