학점은행제/데이터베이스

데이터베이스관리시스템의 구성

Eprld 2024. 10. 24. 18:33

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