슬라이드 제목 없음

Download Report

Transcript 슬라이드 제목 없음

데이터베이스
제 2 장 데이터베이스 시스템 구성
1. 3 단계 데이터베이스 구조
2. 스키마 vs. 인스턴스
3. 데이터 독립성
4. 데이터베이스 시스템
5. 데이터베이스 사용자
6. 데이터 언어
7. 데이터베이스 관리 시스템
8. 데이터베이스
1
데이터베이스
1. 3단계 데이터베이스 구조

데이터베이스를 관점(view)에 따라 3개의 계층으로 분리하여 데이터
베이스 사용자에게 내부적으로 복잡한 데이터베이스 구조를 단순화시
킨 관점을 제공하는 것.
1.1 외부단계 (external level)
- 각각의 데이터베이스 사용자관점 또는 사용자 뷰(user view)를 표현하는 단계
1.2 개념단계 (conceptual level)
- 데이터베이스에 저장되는 데이터화 그것들간의 관계(relationship)를 표현하는 단계
1.3 내부단계 (internal level)
- 물리적인 저장장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 단계
2
데이터베이스
3단계 데이터베이스 구조 (ANSI/SPARC 구조)
외부 계층
(DB 이용자 관점)
외부 스키마 1
(External Schema)
(부스키마 : Subschema)
외부 스키마 2
외부 스키마 n
외부/개념 매핑
(응용 인터페이스)
개념 계층
(기관의 관점)
개념 스키마
(Conceptual Schema)
개념/내부 매핑
(저장 인터페이스)
내부 계층
(저장장치 관점)
내부 스키마
(Internal Schema)
저장
DB
3
데이터베이스
3단계 데이터베이스 구조 (ANSI/SPARC 구조)
외부 계층
(DB 이용자 관점)
개념 계층
(기관의 관점)
내부 계층
(저장장치 관점)
외부 스키마 1
(External Schema)
(부스키마 : Subschema)
외부 스키마 2
외부 스키마 n
개념 스키마
(Conceptual Schema)
내부 스키마
(Internal Schema)
4
데이터베이스
3단계 데이터베이스 개념도
5
데이터베이스
2. 스키마 VS. 인스턴스

스키마 (schema)
- 데이터베이스에 저장되는 데이터의 구조 및 유형을 정의하는 것으로, 데이터베이스의
전체적인 정의를 일컬음.

인스턴스 (instance)
- 데이터베이스에 저장되는 실제값을 가리킴.
DEPARTMENT 스키마와 인스턴스 예
SCHEMA
DEPARTMENT
DEPT_CODE
DEPT_NAME
ASSISTANT
DEPT_TEL
LOCATION
INSTANCE
INTEGER
CHAR(20)
CHAR(10)
INTEGER
CHAR(5)
001
컴퓨터공학과
이지은
330
T101
002
정보과학과
김영미
350
T201
003
정보통신학과
박순애
370
T301
6
데이터베이스
3. 데이터 독립성

데이터 독립성의 기본 개념은 하위 단계의 구현내용을 추상화하여 상
위단계에서는 모르도록 하는 것.
- 물리적 데이터 독립성 : 내부단계의 스키마가 변경되어도 외부단계와 개념단계의 스키마에
는 영향을 미치지 않도록 지원하는 것.
- 논리적 데이터 독립성 : 개념단계의 스키마가 변경되어도 최상위 단계인 외부 단계의 스키
마에는 영향을 미치지 않도록 지원하는 것.
7
데이터베이스
데이터 독립성 구성도
응용 프로그램 1
응용 프로그램 2
A
D
B
C G
E
F
응용 프로그램 N
G
G H D
B
A
프로그램의
데이터 구조
논리적 구조 사상
A
B
C D
E
F
G H
I
J
데이터베이스의
논리적 구조
물리적 구조 사상
A
B
C D
H
I
J
E
F
G
데이터베이스의
물리적 구조
8
데이터베이스
4. 데이터베이스 시스템

데이터베이스 시스템은
응용 프로그램, DBMS, 데이터베이스 등이 통합된 것을 의미한다.

데이터베이스 시스템에서 가장 중요한 역할을 수행하는 것은 데이터베이스 관리 시스템
(DBMS : Database Management System) 이다.

DBMS가 관리하는 데이터의 집합을 데이터베이스라 한다.
9
데이터베이스
데이터베이스 시스템 구성
사용자
데이터 언어
DBMS
DB 컴퓨터
저장
DB
10
데이터베이스
데이터베이스 시스템 구성도
최종
사용자
응용
프로그래머
응용 프로그램
프로그램 개발 도구
절차적 DML
DBA
사용자
응용 프로그램/
개발 도구
비절차적 DML
DDL
데이터 언어(Data Language)
DBMS
데
이
터
베
이
스
저장 관리기(Storage Manager)
시
스
템
인덱스
메타데이터
저장 데이터
DB
11
데이터베이스
5. 데이터베이스 사용자
5.1 데이터베이스 관리자(DBA : Database Administrator)
5.2 데이터베이스 설계자(database designer)
데이터베이스 사용자 분류
5.3 응용 프로그래머(application programmer)
데이터베이스 사용자
5.4 최종 사용자(end user)
- 초보사용자 (parametric end user)
- 캐주얼 사용자 (casual end user)
데이터베이스
관리자
데이터베이스
설계자
응용
프로그래머
최종
사용자
- 전문 사용자 (sophisticated end user)
- 독자적인 사용자 ( stand-alone user)
초보
사용자
캐주얼
사용자
전문
사용자
독자적인
사용자
12
데이터베이스
6. 데이터베이스 언어
6.1 데이터 정의어(DDL: Data Definition Language)
6.2 데이터 조작어(DML: Data Manapulation Language)
- 절차적 DML : 특정 목적을 성취하기 위하여 프로그래밍 언어를 이용하여 처리 방법(how)을 기술
하는 것.
- 비절차적 DML : 일반적인 질의어 (query language)
데이터 언어
데이터 언어 분류
데이터
정의어
데이터
조작어
절차적
데이터
조작어
데이터
제어어
비절차적
데이터
조작어
13
데이터베이스
7. 데이터베이스 관리 시스템
7.1 질의 처리기
데이터베이스 사용자의 요구를 받아 해석하는 역할
-
비절차적 DML 컴파일러
-
절차적 DML 예비 컴파일러
-
DDL 인터프리터
-
질의 실행기
7.2 저장 관리자
디스크에 저장되어 있는 데이터를 접근하고 관리하는 역할을 수행
14
데이터베이스
데이터베이스 관리 시스템 (구성도)
데이터
관리자
일반
관리자
응용
프로그래머
DBMS
DDL
DDL 컴파일러
질의어
질의어 처리기
DML
응용 프로그램
예비 컴파일러
DML 컴파일러
저장
DB
실행시간
DB
처리기
저장
데이터
관리자
메타
데이터
데이터 정의어 (DDL : Data Definition Language)
데이터 조작어 (DML : Data Manipulation Language)
질의어 처리기 (Query Processor)
예비 컴파일러 (Precompiler)
실행시간 데이터베이스 처리기 (Run-time Database Processor)
15
저장 데이터 관리자 (Stored Data Manager)
데이터베이스
데이터베이스 컴퓨터 (구성)
응용
프로그램
데이터베이스
처리기
데스크
제어기
DB
DBM
인터페이스
호스트 I/O
인터페이스
메모리
DB
데이터베이스 컴퓨터
16
데이터베이스
8. 데이터베이스

데이터베이스 시스템이 관리하는 데이터베이스의 구성
-
데이터 파일
-
데이터 사전
-
인덱스
17