Download presentation
Presentation is loading. Please wait.
1
2장. 데이터베이스 시스템 개념과 아키텍처 2.1 데이터 모델, 스키마, 인스턴스
2.2 3단계-스키마 아키텍처와 데이터 독립성 2.3 데이터베이스 언어와 인터페이스 2.4 데이터베이스 시스템 환경 2.5 DBMS를 위한 중앙집중식과 클라이언트/서버 아키텍처 2.6 데이터베이스 관리 시스템의 분류
2
2.1 데이터 모델, 스키마, 인스턴스 데이터 모델: 데이터베이스의 구조를 명시하기 위해 사용할 수 있는 개념들의 집합
저수준(물리적) 데이터 모델: 데이터가 저장되는 세부 사항(레코드 형식, 순서, 접근 경로 등)을 기술할 수 있는 개념들로 데이터베이스를 기술 고수준(개념적) 데이터 모델: 개체, 애트리뷰트, 관계 등의 개념을 이용하여 데이터베이스를 기술 예) E-R 모델
3
표현(구현, 레코드 기반) 데이터 모델: 컴퓨터 상에서 구현 가능한 데이터 모델. 상용 DBMS에서 많이 사용.
예) 관계 모델, 네트워크 모델, 계층 모델 데이터베이스 스키마 (또는 메타데이터) 데이터베이스에 대한 기술 데이터베이스 설계 과정에서 명시하며 자주 변경되지 않음
4
스키마 다이어그램 데이터베이스 스키마를 도식화 한 것 레코드 타입의 이름, 데이터 항목의 이름, 일부 제약 조건 유형들과 같은 스키마의 일부 관점만 나타냄 데이터베이스 상태 (어커런스 또는 인스턴스들의 집합) 어떤 특정 시점에 데이터베이스에 들어 있는 데이터
5
STORED-STUDENT LENGTH = 39
Name BYTE(4) OFFSET = INDEX = … StudentNumber BYTE(30) OFFSET = 4 Class BYTE(1) OFFSET = 34 Major BYTE(4) OFFSET = 35 학생 데이터베이스의 내부 스키마
6
ER 스키마 다이어그램 CourseNumber CreditHours StudentNumber Class CourseName
Major Department STUDENT COURSE 1 M Grade M N COURSE_SEC STUD_SEC N PREREQUISITE N SECTION SectionIdentifier Instructor Semester Year ER 스키마 다이어그램
7
[그림 2.1] 그림 1.2의 데이터베이스에 대한 스키마 다이어그램
STUDENT Name StudentNumber Class Major COURSE CourseName CourseNumber CreditHours Department PREREQUISITE CourseNumber PrerequisiteNumber SECTION SectionIdentifier CourseNumber Semester Year Instructor GRADE_REPORT StudentNumber SectionIdentifier Grade [그림 2.1] 그림 1.2의 데이터베이스에 대한 스키마 다이어그램
8
대학교 내의 작은 세계를 데이터베이스화한 예제 [그림 1.2]
STUDENT Name Smith Brown StudentNumber 17 18 Class 1 2 Major CS COURSE CourseName Intro to Computer Science Data Structures Discrete Mathematics Database Course Number CS1310 CS3320 MATH2410 CS3380 CreditHours 4 3 Department CS MATH SECTION SectionIdentifier 85 92 102 112 119 135 Course Number MATH2410 CS1310 CS3320 CS3380 Semester Fall Spring Year 04 05 Instructor King Anderson Knuth Chang Stone 대학교 내의 작은 세계를 데이터베이스화한 예제 [그림 1.2]
9
GRADE_REPORT StudentNumber 17 18 SectionIdentifier 112 119 85 92 102 135 Grade B C A PREREQUISITE CourseNumber CS3380 CS3320 PrerequisiteNumber CS3320 MATH2410 CS1310
10
2.2 3단계-스키마 아키텍처와 데이터 독립성 단계-스키마 아키텍처 2.2.2 데이터 독립성
11
2.2.1 3단계-스키마 아키텍처 사용자의 응용과 물리적 데이터베이스의 분리 3단계-스키마 아키텍처의 목적
내부단계 개념단계 외부단계 또는 뷰단계
12
내부단계 내부 스키마를 가지며, 내부 스키마는 물리적 데이터 모델을 사용 데이터 저장구조의 세부 사항과 데이터베이스에 대한 접근 경로를 기술 개념단계 개념 스키마를 가지며, 개념 스키마는 전체 사용자를 위한 데이터베이스의 구조를 기술 엔티티, 데이터 타입, 관계, 사용자 연산, 제약 조건들을 나타내는데 중점
13
외부단계 또는 뷰단계 외부 스키마나 사용자 뷰들을 포함 특정 사용자 그룹이 관심을 갖는 부분을 나타내고 나머지는 은폐함 사상 외부 스키마를 참조하여 사용자가 데이터를 요구하면 이를 데이터베이스내에서 개념 스키마에 대한 요구로 변환하고, 다시 내부 스키마에 대한 요구로 변환 과정을 거쳐 저장된 데이터베이스에 접근하여 데이터를 추출한 후 사용자의 뷰와 일치하도록 재구성하는 과정
14
. . . [그림 2.2] 3단계-스키마 아키텍처 외부 단계 외부/개념 사상 개념 단계 개념/내부 사상 내부 단계 외부 뷰1
외부 뷰n 최종 사용자 개념 스키마 내부 스키마 저장된 데이터베이스 외부 단계 외부/개념 사상 개념 단계 개념/내부 사상 내부 단계 [그림 2.2] 3단계-스키마 아키텍처
15
외부 스키마나 응용 프로그램을 변경하지 않으면서 개념 스키마를 변경하는 능력
2.2.2 데이터 독립성 논리적 데이터 독립성 외부 스키마나 응용 프로그램을 변경하지 않으면서 개념 스키마를 변경하는 능력 물리적 데이터 독립성 개념 스키마를 변경하지 않으면서 내부 스키마를 변경하는 능력
16
2.3 데이터베이스 언어와 인터페이스 DBMS 언어
데이터 정의어(data definition language; DDL): 데이터베이스 스키마를 정의하기 위한 언어 데이터 조작어(data manipulation language; DML):데이터를 검색, 삽입, 삭제, 수정하기 위한 조작 언어 DBMS 인터페이스 메뉴 기반 인터페이스, 그래픽 인터페이스, 형식 기반 인터페이스, 자연어 인터페이스, 초보자를 위한 인터페이스
17
2.4 데이터베이스 시스템 환경 2.4.1 DBMS 구성모듈 2.4.2 데이터베이스 시스템 유틸리티
18
데이터 정의어로 명시된 스키마 정의들을 처리. 스키마들에 대한 정보(메타데이터)를 DBMS 카탈로그 안에 저장
저장 데이터 관리자 디스크에 저장되어 있는 DBMS의 정보 (데이터베이스 또는 카탈로그)에 대한 접근을 제어 데이터 정의어 컴파일러 데이터 정의어로 명시된 스키마 정의들을 처리. 스키마들에 대한 정보(메타데이터)를 DBMS 카탈로그 안에 저장 런타임 데이터베이스 처리기(run-time database processor) 수행시 데이터베이스 접근을 처리
19
질의 컴파일러 대화식으로 입력된 고수준 질의들을 처리 프리컴파일러(precompiler) 호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작어 명령들을 추출 데이터 조작어 컴파일러 데이터 조작어 명령들을 데이터베이스 접근을 위한 목적 코드로 컴파일
20
DDL 문장 특권 명령 데이터베이스 관리자 캐주얼 사용자 응용 프로그래머 프로그램 대화식 질의 호스트 언어 컴파일러 초보 사용자 저장 데이터베이스 저장 데이터 동시성 제어/백업/ 회복 서브시스템 컴파일된 (기작성) 트랜잭션 프리컴파일러 DML 문장 DML 질의 런타임 처리기 시스템 카탈로그/ 데이터 사전 DDL 실행 A B C D E
21
2.4.2 데이터베이스 시스템 유틸리티 적재 : 데이터 화일을 자동적으로 데이터베이스 화일의 형식으로 변환해서 저장
백업 : 전체 데이터베이스를 테이프에 복사하여 데이터베이스의 백업 사본을 만듦 화일 재조직 : 성능 향상을 위해 데이터베이스 화일 구조를 다른 화일 구조로 재조직
22
성능 모니터링: 데이터베이스의 사용을 모니터해서 사용 통계를 데이터베이스 관리자에게 제공함으로써 관리자가 성능을 향상시키기 위해서 화일들을 재조직할 것인지의 의사 결정에 도움을 줌
데이터 사전 시스템: 스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정, 사용 표준, 응용 프로그램 기술, 사용자 정보 등과 같은 정보를 저장. DBMS 카탈로그와 유사하나 더 다양한 정보를 가짐. DBMS 소프트웨어보다는 주로 사용자가 접근
23
2.5 DBMS를 위한 중앙집중식과 클라이언트/서버
아키텍처 2.5.1 중앙집중식 DBMS 아키텍처 2.5.2 기본적인 클라이언트/서버 아키텍처 2.5.3 DBMS를 위한 2-층 클라이언트/서버 아키텍처 2.5.4 웹 응용들을 위한 3-층 클라이언트/서버 아키텍처
24
2.5.1 중앙집중식 DBMS 아키텍처 중앙집중식 DBMS 아키텍처 (그림 2.4 참고) 메인프레임과 터미널을 사용
터미널이 PC와 워크스테이션으로 대치됨 중앙집중식 DBMS
25
[그림 2.4] 물리적인 중앙집중식 아키텍처
26
2.5.2 기본적인 클라이언트/서버 아키텍처 클라이언트-서버 아키텍처 (그림 2.5, 2.6 참고)
특정 기능을 갖는 특별한 서버를 지정 파일 서버, 프린터 서버, 웹 서버, 전자 우편 서버 등 클라이언트: 지역 응용들을 수행하기 위한 처리 기능뿐만 아니라 서버들을 이용하기 위한 인터페이스
27
[그림 2.5] 논리적인 2-층 클라이언트/서버 아키텍처
28
[그림 2.6] 물리적인 2-층 클라이언트/서버 아키텍처
29
2.5.3 DBMS를 위한 2-층 클라이언트/서버 아키텍처
중앙집중식 RDBMS가 클라이언트-서버 아키텍처로 바뀌고 있음 서버: 질의와 트랜잭션 기능 질의 서버, 트랜잭션 서버, SQL 서버 클라이언트: User interface program과 App. Program 수행 ODBC(Open Database Connectivity) API, JDBC
30
객체지향 DBMS는 대부분 처음부터 클라이언트-서버 아키텍처로 개발됨
서버 단계: 데이타 저장, 동시성 제어와 회복, 버퍼링과 캐싱 등 클라이언트 단계: 사용자 인터페이스, 데이터 사전, 버퍼 내의 데이터로부터 복잡한 객체를 구성
31
2.5.4 웹 응용들을 위한 3-층 클라이언트/서버 아키텍처
3-층 클라이언트-서버 아키텍처 (그림 2.7 참고) 클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가 이 서버는 데이터베이스 서버에 저장된 비즈니스 규칙(프로시저 또는 제약조건)들을 저장함으로써 중간 역할을 수행함 비즈니스 규칙은 일반적으로 데이터를 접근하는데 사용됨
32
[그림 2.7] 논리적인 3-층 클라이언트/서버 아키텍처
33
2.6 데이터베이스 관리 시스템의 분류 DBMS의 분류 기준 데이터 모델: 관계, 네트워크, 계층, 객체지향. 객체관계 등
사용자의 수: 단일 사용자, 다수 사용자 시스템 사이트의 수: 중앙집중식, 분산 DBMS (동질 분산 DBMS 또는 이질 분산 DBMS) DBMS의 비용 , 접근 경로의 유형, 범용 또는 특수 목적용
Similar presentations