DB 데이터베이스(관리) 시스템(2)

DBMS의 주요 기능, 발전 과정, 데이터베이스 시스템의 구성, 3단계 구조, 그리고 데이터 언어(DDL, DML, DSL, DCL)에 대해 설명합니다.


데이터베이스 관리 시스템(DBMS)

DBMS : 응용 프로그램과 데이터 사이의 중재자로서 모든 응용 프로그램(사용자)들이 데이터베이스를 공용(범용 소프트웨어)

  1. DBMS 정의 기능 : 하나의 저장 구조로 여러 사용자의 요구를 지원하게 데이터 조직
  2. DBMS 조작 기능 : 사용자 <-> 데이터베이스 인터페이스
  3. DBMS 제어 기능 : 데이터의 정확성, 보안성 유지
    • 무결성 유지, 보안, 병행수행 제어, 복구

파일 중심 시스템(종속,중복성 문제) -> 파일 관리 시스템(종속성 문제) -> DBMS(독립성으로 해결) 흐름

  • 데이터 종속성 : 응용 프로그램과 데이터 간의 상호 의존관계
  • 데이터 중복성 : 4가지가 없음(일관성, 보안성, 경제성, 무결성)


DBMS의 궁극적 목적 : 데이터 독립성

  • 논리적 데이터 독립성 : 응용 프로그램의 효율적 개발(응용 프로그램에 영향X)

  • 물리적 데이터 독립성 : 저장 장치의 효율적 개발(응용, 논리적 데이터 구조에 영향X)


데이터 독립성 구현 기법 : 사상(mapping)

  • 논리적 구조 사상 : 프로그램의 데이터 구조와 데이터베이스의 논리적 구조 사이

  • 물리적 구조 사상 : 데이터베이스의 물리적 구조와 데이터베이스의 논리적 구조 사이



DMBS 발전 과정

제1세대 DBMS

  • IDS는 네트워크(1세대)를 기초로

  • IMS는 계층(1세대)을 기초로


제2세대 DBMS

  • 관계를 기초로(2세대)
  • 수학적 이론을 기초로 개발
    따라서 1세대를 발전시킨게 아님.

  • 예시 : SQL, Oracle


제3세대 DBMS

  • 객체지향 DBMS(3세대)


현재 DBMS

  • 객체 관계 DBMS(현재)
  • 기존 관계DBMS + 객체지향 DBMS를 의미.


NoSQL : RDBMS(관계DBMS) 원칙을 따르지 않는 모든 데이터베이스 및 데이터 저장소

인 메모리 데이터베이스(IMDB) : 디스크가 아닌 주 메모리에 모든 데이터를 보유하는 데이터베이스



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

데이터베이스 시스템 : 데이터베이스 관리 시스템(DBMS)보다 큰 관점.

  • 데이터, DBMS, 하드웨어, 사용자로 크게 분류



DB 3-Level

3단계 데이터베이스 : DB의 3단계(3-level) 표현

  • DB에 대한 3단계 관점 : 개인, 기관 전체, 저장장치

  • 외부, 개념, 내부 단계


스키마 : DB의 3단계 구조에 기반해서 구조(개체, 관계)와 제약조건을 명세

  • 외부(Subschema), 개념(Schema), 내부 스키마

  • 3단계간의 사상 : 외부/개념(논리적 데이터 독립), 내부/개념(물리적 데이터 독립) 간의 사상

  • 스키마는 컴파일되어 카탈로그에 저장



정의어, 조작어, 제어어

  • 데이터 정의어(DDL) : 스키마의 정의

  • 데이터 조작어(DML)
    • 절차적 DML(“waht+how”, precompiler)
    • 비절차적 DML(질의어, “what”)
    • 데이터 부속어(DSL) : host program속 DML, 비절차적이나 절차적 DML
    • 데이터언어의 완전성은 SQL이 만족
  • 데이터 제어어(DCL) : DB관리 목적으로 DBA(데이터베이스 관리자)가 사용
    • DBA의 의무 : 1. DB 설계와 운영, 2. 행정 및 불평 해결, 3. 시스템 감시 및 성능 분석


DBMS의 구성요소

  • DDL 컴파일러, 질의어 처리기, 예비 컴파일러, DML 컴파일러,
    런타임 데이터베이스 처리기, 트랜잭션 관리자, 저장 데이터 관리자


데이터베이스 머신(DB용 컴퓨터) : DBMS까지도 하드웨어로 구성해둔 컴퓨터라고 생각.

  • 후위 컴퓨터

  • 데이터 베이스를 빨리 접근하기 위해서 지능형 저장장치 사용

  • 메모리는 주소에의해서 검색하는데 내용식 메모리는 내용을 이용해서 검색을 함

  • 순차말고 빨리 돌리기위해 병렬처리

댓글남기기