Computer Science/Database, SQL

[HUFS/데이터베이스] #3 데이터베이스 시스템의 구성

성중 2021. 9. 8. 23:46

3단계 데이터베이스

DB = 개체(entitiy)와 관계(relationship) + 제약조건(constraint)

이러한 구조를 스키마(schema)라고 부른다

 

  • 내부(internal) 스키마: 데이터베이스의 디스크에 실제로 정의되는 스키마 / 저장 장치
  • 개념(conceptual) 스키마: 데이터 베이스의 구조를 개념적으로 정의한 것 / 범 기관적
  • 외부(external) 스키마: 내부 스키마를 외부에서 각각 다른 형태로 보는 것 / 사용자

 

3단계 데이터베이스 스키마의 예시
DB 내부의 3단계의 사상(mapping) 구조 -> 외부 ~ 개념 ~ 내부 / 데이터 독립성!

DB에서 사상 구조 및 스키마가 저장되는 영역을 카탈로그 or 데이터 디렉토리라고 한다

모든 객체에 대한 정의 및 명세에 대한 정보를 수록하는 DB 관리자 도구라고 볼 수 있다

* 메타 데이터: 데이터의 분류 및 속성을 설명하는 카탈로그의 데이터

 

DBMS

DBMS의 수행 과정

  1. 사용자의 접근 요구(access request)를 접수/분석
  2. 시스템이 이해할 수 있는 형태로 사용자 요구 변환(transform)
  3. 외부/개념/내부/저장 구조간의 사상(mapping)을 수행하여 저장 데이터에 접근
  4. 저장 DB에 대해 필요한 연산(operation)을 실행

 

DBMS의 구성요소 ~ SQL 문법의 3가지 종류 DCL/DML/DDL

데이터 정의어(DDL – Data Definition Language)

스키마의 구조를 정의하고 변경하는데 사용하는 언어로,,

논리적 데이터 구조와 물리적 데이터 구조 및 사상(mapping) 정보를 정의한다

 

데이터 조작어(DML – Data Manipulation Language)

테이블의 데이터 검색, 수정, 삭제 등에 사용되는 언어

 

절차적 DML과 비절차적 DML의 차이

데이터 제어어(DCL – Data Control Language)

데이터베이스 관리를 위해 데이터 제어를 정의하고 기술하는 언어

데이터의 보안/무결성/회복/병행수행을 관리한다 (=DBA)

 

데이터 부속어(DSL – Data Sublanguage)

외부 언어지만(ex. Java) 프로그램 안에서 DB에 접근할 수 있는 DML

 

+ 데이터 언어의 완전성

사용자가 원한다면 어떤 객체도 추출할 수 있고 관계도 표현할 수 있어야 한다

 

사용자(Users)

데이터베이스 사용자는 크게 3가지로 분류되는데,,

 

일반 사용자

비절차적 DML을 통해 DB를 사용하며 menu/form/graphics 등을 통해 간접적으로 접근한다

 

 

응용 프로그래머

응용 프로그램을 통해 DB에 접근해 host 언어(C, Java 등) DML로

일반 사용자들이 사용하는 menu/form/graphic 을 구성한다

 

DB 관리자(DBA – DataBase Administrator)

DDL과 DCL을 통해 DB를 정의하고 제어하는 관리자 (스키마 구성 및 제어)

* DBA에게도 민감한 사용자 정보는 암호화해서 저장한다

 

DA 의 역할: DB관리/행정/성능 분석 및 튜닝(tuning)

하드웨어(데이터베이스 컴퓨터)

서비스 규모에 맞는 데이터베이스 규모의 대형화

GB -> TB -> PB -> EB

* DB 기능만을 효율적으로 수행하기 위한 특수 목적 하드웨어도 등장함

 

터미널 ~ 호스트(서버) 컴퓨터 ~ DB 컴퓨터

 

정리하면 이런 구조이다