데이터베이스 시스템(DBS) : 데이터를 데이터베이스로 저장하고 관리해서 필요한 정보를 생성하는 컴퓨터 중심의 시스템
데이터베이스 관리 시스템 (DBMS) : 데이터베이스 시스템을 구성하는 주요 요소들의 일부
구성 요소
1. 3단계 데이터베이스
2. 데이터 언어
3. 사용자
4. DBMS
5. Database Administrator
6. Database Computer
1. 3단계 데이터베이스
- 스키마 (Schema) : 데이터베이스 구조와 제약조건에 대한 명세를 기술한 것
1. 외부 스키마 (일부를 기술) : 데이터베이스 사용자나 응용 프로그래머가 접근하는 데이터베이스 (데이터베이스 전체의 한 논리적 부분이 되기때문에 서브 스키마라고도 부른다.)
2. 개념 스키마 (논리적 구조를 기술) : 범 기관적 입장에서 데이터베이스를 정의한 것
3. 내부 스키마 (물리적 구조를 기술) : 저장 장치의 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것 (물리적 단계보다 한단계 위에 있다.)
- 외부/개념 사상 : 특정 외부 스키마와 개념 스키마 간의 대응관계를 정의 (응용 인터페이스) - 논리적 데이터 독립성 제공
- 개념/내부 사상 : 개념 스키마와 내부 스키마간의 대응 관계를 정의 (저장 인터페이스) - 물리적 데이터 독립성 제공
- 시스템 카탈로그 (데이터 사전) : 데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 정의나 명세에 관한 정보를 유지 관리하고 있는 시스템
주로 시스템에 의해 사용되므로 시스템(메타) 데이터베이스라고 불리지만, DBA도 사용할 수 있다.
- 데이터 디렉토리 : DB에 저장된 데이터를 참조하는데 필요한 정보를 수록
시스템만 사용
- 메타 데이터 : 데이터에 관한 데이터 (스키마 정보)
2. DBMS
DBMS는 DB를 관리하고 사용자가 요구하는 모든 연산을 수행한다
1. 사용자가 표현한 데이터베이스 접근 요구(질의/Query)를 접수/분석
2. 시스템이 이해할 수 있는 형태(절차적)로 사용자 요구를 변환
3. 외부/개념/내부/저장 구조 간의 사상을 수행하여 저장데이터를 접근
4. 저장 DB에 대해 필요한 연산을 실행
3. 데이터 언어
데이터 정의어 (DDL : Data Definition Language) - 스키마를 기술하고 정의
- 데이터베이스 구조를 정의하고 변경하는데 사용
- 데이터 정의의 내용
1. 논리적 데이터 구조의 정의 : 스키마, 외부 스키마 명세
2. 물리적 데이터 구조의 정의 : 내부 스키마 명세, 데이터 저장 정의어 (DSDL)
3. 논리적 데이터 구조와 물리적 데이터 구조간의 사상을 정의
데이터 조작어 (DML : Data Manipulation Language)
- 사용자가 DBMS로 하여금 원하는 데이터를 처리하게끔 명세하는 도구 (검색, 삽입, 삭제, 변경)
- 사용자와 DBMS간의 인터페이스를 제공
1. 절차적 DML : 사용자가 무슨 데이터를 원하며 어떻게 그것을 접근하여 처리해야되는지를 명세해야하는 저급 데이터 언어
- DB 내부에서 사용
- 한번에 하나의 레코드만 처리
- 응용 프로그램 속에 삽입되어 사용
- DML 예비 컴파일러에 의해 처리
2. 비절차적 DML : 사용자가 무슨 데이터를 원하는지만 명세하고 그것을 어떻게 접근하여 처리할 것인가는 DBMS에 위임하는 고급 데이터 언어 (SQL)
- 한번에 여러개의 레코드를 처리
- 질의어 (Query Language)
- 독자적이고 대화식 : command 타입
- 프로그램의 추상적 표현
- 데이터 부속어 (DSL, Data Sublanguage)
- Host Program 속에 삽입되어 사용되는 DML
- 비절차적 또는 절차적 DML
- 데이터 언어의 완전성 : 사용자가 원하는 데이터베이스의 어떤 객체도 추출할 수 있고, 처리할 수 있으며, 어떤 연산도 표현할 수 있는 데이터언어의 능력
데이터 제어어 (DCL : Data Control Language)
- 공용 데이터베이스 관리를 위해 데이터 제어를 정의하고 기술
- 데이터 제어 내용 :
1. 데이터 보안
2. 데이터 무결성
3. 데이터 회복
4. 병행수행
DB 관리 목적으로 DBA가 사용
4. 사용자
데이터베이스를 이용하기위해 접근하는 사람
1. 일반 사용자 :
- 비절차적 DML(Query)을 통해서 데이터베이스를 접근
- menu,form, graphics 등의 사용자 인터페이스 이용
- 데이터의 insertion, deletion, update, retrieval
2. 응용 프로그래머 :
- 응용 프로그램 (host 언어 + DML(DSL))을 통해서 DB를 접근
- Host 언어 : PL/I, COBOL, PASCAL, C, JAVA
3. DBA :
- DDL과 DCL을 통해 DB를 정의하고 제어하는 사람
5. 데이터베이스 관리자
- DB 시스템의 관리, 운영에 대한 모든 책임을 지는 사람
- DB 설계와 운영
- DB의 구성요소를 결정
- 스키마 정의
- 저장 구조와 접근 방법 설정
- 보안 정책 수립, 권한부여, 유효성 검사
- 백업, 회복 절차의 수립
- DB의 무결성 유지
- 성능 향상과 새로운 요구에 대응한 DB의 재구성
- Catalog의 유지 관리
- 행정 및 불평 해결
- 데이터의 표현과 시스템의 문서화에 표준 설정
- 사용자의 요구 및 불평 해결
- 시스템 감시(monitoring) 및 성능 분석
- 시스템 성능의 청취
- 자원의 이용도, 병목현상, 장비 성능 등
- 사용자 요구의 변화, 데이터 사용 추세, 각종 통계의 종합 분석
6. 하드웨어
DB 기능만을 효율적으로 수행하기 위한 특수 목적의 하드웨어
- Backend Computer
- 지능형 저장장치
- 내용식 메모리
- 병렬 처리
DBMS는 외부 스키마에 직접 접근하지 않는다. 개념스키마로 변환하고, 내부 스키마로 변환 후 접속한다
사용자는 외부 / 개념 스키마를 이용
'Study > 데이터베이스' 카테고리의 다른 글
데이터베이스 6. SQL (0) | 2023.10.22 |
---|---|
데이터베이스 5. 관계대수와 관계해석 (0) | 2023.10.22 |
데이터베이스 4. 관계 데이터베이스 (0) | 2023.10.16 |
데이터베이스 2. 데이터베이스 관리 시스템과 구성 (0) | 2023.10.15 |
데이터베이스 1. 데이타베이스 환경 (0) | 2023.09.18 |