3단계 데이터베이스
DB = 개체(entitiy)와 관계(relationship) + 제약조건(constraint)
이러한 구조를 스키마(schema)라고 부른다
- 내부(internal) 스키마: 데이터베이스의 디스크에 실제로 정의되는 스키마 / 저장 장치
- 개념(conceptual) 스키마: 데이터 베이스의 구조를 개념적으로 정의한 것 / 범 기관적
- 외부(external) 스키마: 내부 스키마를 외부에서 각각 다른 형태로 보는 것 / 사용자
DB에서 사상 구조 및 스키마가 저장되는 영역을 카탈로그 or 데이터 디렉토리라고 한다
모든 객체에 대한 정의 및 명세에 대한 정보를 수록하는 DB 관리자 도구라고 볼 수 있다
* 메타 데이터: 데이터의 분류 및 속성을 설명하는 카탈로그의 데이터
DBMS
DBMS의 수행 과정
- 사용자의 접근 요구(access request)를 접수/분석
- 시스템이 이해할 수 있는 형태로 사용자 요구 변환(transform)
- 외부/개념/내부/저장 구조간의 사상(mapping)을 수행하여 저장 데이터에 접근
- 저장 DB에 대해 필요한 연산(operation)을 실행
데이터 정의어(DDL – Data Definition Language)
스키마의 구조를 정의하고 변경하는데 사용하는 언어로,,
논리적 데이터 구조와 물리적 데이터 구조 및 사상(mapping) 정보를 정의한다
데이터 조작어(DML – Data Manipulation Language)
테이블의 데이터 검색, 수정, 삭제 등에 사용되는 언어
데이터 제어어(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에게도 민감한 사용자 정보는 암호화해서 저장한다
하드웨어(데이터베이스 컴퓨터)
서비스 규모에 맞는 데이터베이스 규모의 대형화
GB -> TB -> PB -> EB
* DB 기능만을 효율적으로 수행하기 위한 특수 목적 하드웨어도 등장함
'Computer Science > Database, SQL' 카테고리의 다른 글
[HUFS/데이터베이스] #5 무결성 제약 (4) | 2021.09.15 |
---|---|
[HUFS/데이터베이스] #4 관계 데이터 모델 (0) | 2021.09.15 |
[HUFS/데이터베이스] #2 데이터베이스 관리 시스템 (0) | 2021.09.08 |
[HUFS/데이터베이스] #1 데이터베이스 환경 (6) | 2021.09.01 |
[Codeit/MySQL] #6 서브쿼리와 뷰를 활용한 데이터 분석 (11) | 2021.04.16 |