DBMS 구성 모듈
-데이터 정의 언어 컴파일러(DDL)
-데이터 정의 언어로 명시된 스키마 정의들을 처리
-스키마들에 대한 정보를 DBMS 카탈로그 안에 저장함
-카탈로그는 파일의 저장 형태, 스키마 사이의 사상 정보, 제약조건들에 대한 정보 등을 포함
- 다른 모듈들은 이런 정보가 필요할 때 마다 카탈로그에 접근
질의 컴파일러
-대화식으로 입력된 고수준 질의들을 파싱하여 연산과 데이터 요소들이 정확한가를 분석하고 내부 형태로 컴파일 함
질의 최적화기
-질의 컴파일러에 의해 생성된 내부 형태는 질의 최적화기를 거치게 됨
-질의 최적화기는 연산들을 재배치하고, 연산들의 순서를 바꾸고, 중복이 존재하면 제거하고, 수행 시 사용할 정확한 알고리즘과 인덱스를 선택함
프리컴파일러
-JAVA, C, C++등의 호스트 프로그래밍 언어로 작성된 응용 프로그램에서 데이터 조작 명령들을 추출
-추출된 데이터 조작 명령들은 데이터 조작어 컴파일러로 보내져 목적코드로 컴파일 됨
-응용프로그램의 나머지 부분은 호스트 언어 컴파일러로 보내져 목적코드로 컴파일 됨
-두 목적코드가 링크되어 런타임 데이터베이스 처리기의 호출 등을 포함하는 실행코드로 이루어진 미리 작성된 트랜잭션이 됨
데이터 조작 언어 컴파일러(DML)
-데이터 조작 명령이 제거된 응용프로그램의 나머지 부분을 목적코드로 컴파일함
호스트 언어 컴파일러
-데이터 조작 명령이 제거된 응용프로그램의 나머지 부분을 목적코드로 컴파일함
런타임 데이터베이스 처리기
-수행 시 실제 데이터베이스 접근을 처리
-DBA의 특권 명령, 실행 가능한 질의 계획, 런타임 시 매개변수를 받는 미리 작성된 트랜잭션등을 수행
-시스템 사전과 연동되어 동작하며, 사전의 통계 정보를 갱신할 수도 있음
-동시성 제어/백업/회복 서브시스템은 트랙잭션 관리를 위해 런타임 데이터베이스 처리기와 통합되어 동작됨
저장 데이터 관리자
-디스크와 주기억장치 간의 저수준 입출력 연산들을 수행하기 위해 운영체제의 기본 서비스를 사용함
-주기억장치 내의 버퍼관리와 같은 데이터 전송 관련 기능도 수행
데이터베이스 시스템 유틸리티
-구성 모듈들 외에도 DBMS는 데이터베이스 관리자의 데이터베이스 시스템 운영을 도와주는 유틸리티들을 가짐
적재 유틸리티
-텍스트 파일이나 순차 파일과 같은 데이터 파일들을 자동적으로 데이터베이스 파일 형식으로 변환해서 저장함
백업 유틸리티
-전체 데이터베이스를 테이프 장치나 디스크 장치에 복사하여 데이터베이스의 백업 사본을 만듦
파일 재조직 유틸리티
-성능 향상을 위해 데이터베이스 파일 구조를 다흔 파일 구조로 재조직함
성능 모니터링 유틸리티
-데이터베이스의 사용을 모니터해서 사용 통계를 데이터베이스 관리자에게 제공함
-이 정보는 관리자가 데이터베이스 성능을 향상시키기 위해서 파일들을 재조직할 것인지를 결정 하는 데 사용됨
데이터 사전 시스템 (Data dictionary system)
-스키마와 제약 조건들에 관한 카탈로그 정보와 설계 결정,사용 표준, 응용 프로그램 기술, 사용자 정보 등과 같은 정보를 저장
-DBMS 카탈로그와 유사한 더 다양한 정보를 가짐
-DBMS 소프트웨어 보다는 주로 사용자가 접근
-데이터 저장소 혹은 정보 저장소 라고도 함
CASE/응용개발 환경
-데이터에비스 시스템을 설계하는 과정에서 사용되는 툴로는 ER Win, Toad for Data Modeler 등이 있음
-응용 개발 환경으로는 PowerBuiler, JBuilder, JDeveloper 10G등이 있음
통신 소프트웨어와 통신 장비를 사용하여 데이터베이스 스스템 사이로부터 멀리 떨어진 컴퓨터 터미널, 워크스테이션, 마이크로 컴퓨터나 소형 컴퓨터에서 데이터베이스를 접근하는 것이 가능함
서버-클라이언트 아키텍쳐
중앙집중식 아키텍쳐
-하나의 시스템에 DBMS 소프트웨어, 하드웨어, 응용 프로그램, 사용자 인터페이스 소프트웨어 등 데이터베이스 관련 모든 것들을 모아 놓은 구조
-사용자는 터미널을 사용하여 연결할 수 있지만, 모든 처리는 집중화된 단일 시스템에서 수행
기본적인 2-tier 서버-클라이언트 아키텍쳐
-클라이언트-서버 아케텍쳐
>특정 기능을 갖는 특별한 서버를 지정
>DBMS 서버, 파일 서버, 프린터 서버, 웹 서버, 전자 우편 서버 등
>클라이언트는 자신의 응용들을 수행하기 위한 처리 기능뿐만 아니라 서버들을 이용하기 위한 인터페이스 제공
서버
-질의 서버, 트랜잭션 서버, SQL 서버
-질의 처리와 트랜잭션 서비스를 클라이언트에게 제공함
-클라이언트 상에서 수행되는 응용들은 OCBC, JDBC와 같은 표준 인터페이스에서 제공하는 API를 사용하여 데이터베이스 서버에 접근함
클라이언트
-사용자 인터페이스 프로그램과 응용 프로그램 수행
웹 응용을 위한 3-tier 서버-클라이언트 아키텍쳐
-클라이언트와 데이터베이스 서버 사이에 응용 서버 또는 웹 서버를 추가
-이 서버는 웹으로 연결할 수 있도록 하고, 비즈니스 규칙들을 저장함으로써 중간 역할을 수행함
-클라이언트가 직접 데이터베이스 서버에 접속하지 못하도록 하고 중간 층을 통해서만 데이터베이스 서버에 접근하도록 함으로써 보안을 강화할 수 있음
DBMS의 분류 기준
-데이터 모델 : 관계 , 네트워크, 계층, 객체지향, 객체관계 등
-사용자 수 : 단일 사용자, 다수 사용자 시스템
-사이트 수 : 중앙집중식, 분산DBMS
-DBMS 비용, 접근경로 유형, 범용 또는 특수 목적용
DBMS의 분류
-관계 모델을 지원하는 RDBMS
>데이터베이스를 테이블들의 모임으로 궝
>고급 질의어를 제공하고 제한된 형태의 사용자 뷰를 지원
-객체지향 모델을 지원하는 OODBMS
>객체, 속성, 연산으로 데이터베이스를 정의
>같은 구조와 행위를 갖는 객체들을 한 클래스에 속하고 클래스들은 계층 또는 비 순황 그래프로 조직됨
>메소드라고 하는 미리 정의된 프로시저들이 클래스의 연산을 나타냄
-객체-관계 모델을 지원하는 ORDBMS
>관계 모델에 객체지행 모델의 개념을 일부 도입하여 확장한 모델
>현댖ㄱ DBMS들은 거의 모두 ORDBMS임
'학점은행제 > 데이터베이스' 카테고리의 다른 글
관계 데이터베이스 제약조건 (1) | 2024.11.09 |
---|---|
관계 데이터모델 (0) | 2024.11.08 |
데이터베이스 관리시스템 (0) | 2024.10.24 |
데이터베이스 (0) | 2024.10.17 |