프로그래밍[Univ]/데이터베이스(DB)

[DB] DBMS(데이터베이스 관리 시스템) 6/30

Cloud Travel 2011. 6. 30. 12:52
* DBMS (데이터베이스관리시스템)
 - 사용자와 데이터베이스사이에 위치
 - 데이터베이스 관리 및 사용자가 요구하는 연산을 수행/정보생성

* 구성
 - DDL컴파일러 / DDL 처리기
  : DDL로 정의된 스키마를 내부형태로 변환하여 시스템 카탈로그에 저장
 - 질의어 처리기
  : 일반 사용자가 제출한 질의문을 파싱하고 분석하여 효율적으로 데이터베이스에 접근 할 수 있는 코드를 생성
   및 실행(런타임데이터베이스처리기로의 이동)한다.
 - DML예비 컴파일러
  : 응용프로그래머가 작성한 프로그램속에 삽입되어 있는 DML명령문을 추출하고, 그 자리에 함수 호출문을 삽입
   -> DML 컴파일러로 전송
 - DML 컴파일러 / DML처리기
  : DML예비 컴파일러에게 받은 DML명령문을 파싱/컴파일 효율적인 목적코드를 생성후 실행
   (런타임 데이터베이서처리기로의 이동)
 - 런타임 데이터베이스 처리기
  : 실제로 요청된 것을 싱행하는 곳으로, 저장 데이터 관리자를 통해 데이터베이스를 활용한다.
 - 트랜섹션 관리자
  : 데이터베이스로 접근하는 과정에서의 무결성, 제약조건이 만족되는지를 검사한다
  : 장애 발생시 회복작업을 한다
  - 저장 데이터관리자
  : 사용자의 데이터베이스또는 카탈로그로의 접근을 제어
 
* 데이터 언어
 - 데이터베이스를 DBMS로 정의/접근하기 위해서 필요한 통신수단
 ⓐ 데이터 정의어(DDL)
  - 데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용되는 언어
  - 데이터베이스 스키마를 DBMS가 이해할 수 있게끔 기술하는데 사용
 ⓑ 데이터 조작어(DML)
  - 데이터베이스 스키마가 컴파일 된 후 저장된 데이터를 사용자들이 이용할 수 있게 제공하는 방법
  - 사용자와 DBMS간의 인터페이스
  - 데이터 처리(삽입, 삭제, 수정, 검색)기능을 포함
  1) 절차적 데이터 조작어
  2) 비 절차적 데이터 조작어
 ⓒ 데이터 제어어(DCC)
  - 데이터 제어에 관해 정의/기술한 언어
  - 데이터 보안, 무결성, 시스템장애에 대한 데이터 회복
  - 병행 수행 제어를 정의

* 사용자
 - 데이터베이스를 이용하기 위해 접근하는 사람
 ⓐ 일반 사용자 : 질의어를 통해 데이터베이스에 접근하는 사용자
 ⓑ 응용프로그래머
 ⓒ 데이터베이스관리자
  - 데이터베이스 시스템의 관리 운영에 대한 모든 책임을 지고 있는 사람
  - 하는 일
   ① 데이터베이스 설계와 운영
   ② 행정관리, 요구 및 불평해소
   ③ 시스템 감시(관리) 및 성능 분석