1장 데이터 베이스의 개념
자료 처리 시스템
1) 일괄 처리 시스템
- 트렌젝션당 처리 비용이 적다. (트랜젝션 : 컴퓨터가 처리할 단위 작업)
- 시스템 성능 높음
2) 온라인 실시간 처리 시스템
- 처리시간 단축, 처리 비용 절감
3) 분산 처리 시스템
- 시스템 구축이나 운영이 복잡하나 신뢰성이 높고 확장이 용이
데이터 베이스(이하 DB)의 특징
- 실시간 접근성
- 계속적인 변화
- 동시 공용
- 내용에 의한 참조
DB 시스템의 구성 요소
- DB // DBMS // DB컴퓨터 // 스키마 // DB 언어 // DB사용자
DBMS : DB의 구성, 접근방법, 유지관리에 대한 모든 책임을 진다.
DBMS의 필수 기능
1) 정의 (Definition)
2) 조작 (Manipulation)
3) 제어 (Control)
- 데이터의 무결성이 유지되도록 제어
- 허가된 데이터만 접근하도록 보안을 유지, 권한을 검사
- 처리 결과가 항상 정확성을 유지하도록 병행제어를 할 수 있어야한다.
DBMS 단점
- 전문가 부족
- 전산화 비용 증가
- 디스크의 집중 접속으로 과부화 발생
- 파일의 백업과 복구가 어렵다.
- 시스템이 복잡하다.
스키마의 정의
- DB의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터
- DB를 구성하는 데이터 개체(entity), 속성(attribute), 관계(relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의
- 외부, 개념, 내부 스키마로 나뉨
스키마의 특징
- 데이터 사전에 저장되며, 다른 이름으로 메타 데이터라고 한다.
- 특정 데이터 모델을 이용해서 만들어짐
- 시간에 따라 불변인 특성
- 데이터의 구조적 특성을 의미, 인스턴스에 의해 규정
스키마의 3계층
1) 외부 스키마 = 서브 스키마 = 뷰
- 개인적 입장에서 필요로 하는 데이터 베이스의 논리적 구조를 정의한 것
- 전체 DB의 한 논리적 부분으로 볼 수 있으므로 ‘서브 스키마’라고도 한다.
- 하나의 DB 시스템에 여러 개의 외부 스키마가 존재 가능, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수도 있다.
- 서로 다른 관점을 정의할 수 있도록 허용한다.
- 질의어를 사용해서 쉽게 사용
2) 개념 스키마 = 전체적인 뷰(View)
- DB의 전체적인 논리적 구조, 하나만 존재함
- 개체 간의 관계와 제약 조건을 나타내고 데이터 베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의
- 단순히 스키마라고 하면 개념 스키마를 뜻함
- DBA(데이터 베이스 관리자)에 의해서 구성된다.
3) 내부 스키마 = 저장 스키마
- 물리적인 저장장치와 밀접한 계층
- 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마
데이터 정의 언어(DDL ; Data Definition Language)
- 외부 스키마 명세를 정의
- DB의 논리적, 물리적 구조 및 구조 간의 사상을 정의
- 제약조건에 대한 명세를 정의
- 데이터의 물리적 순서를 규정
데이터 조작 언어(DML ; Data Manipulation Language)
- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구
- 사용자과 DBMS 간의 인터페이스 제공
- 대표적 DML에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적 데이터 언어이다.
데이터 제어 언어(DCL ; Data Control Language)
- 무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어
- 데이터를 보호하고 관리하는 목적으로 사용
- 무결성 유지, 데이터 회복과 병행수행 제어, 데이터 보안
데이터 베이스 관리자(DBA ; Data Base Administrator)
- DB설계와 조작에 대한 책임
- 행정 책임
- 시스템 감시 및 성능 분석