정보와 데이터
정보(information)
와 데이터(data)
는 서로 다름.
데이터
는 프로그램과 질의에 의해 정보
로 변환 됨.
데이터베이스는 조직체의 응용 시스템들이 공유
해서 사용하는 운영 데이터(operational data)들이 구조적
으로 통합
된 모임이다. 데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정된다.
데이터베이스의 특징
- DB는 데이터의 대규모 저장소로서, 여러 부서에 속하는 여러 사용자에 의해 동시에 사용됨.
- 모든 데이터가 중복을 최소화하면서 통합됨.
- DB는 한 조직체의 운영 데이터 뿐만 아니라 그 데이터에 관한 설명 (
데이터베이스 스키마
또는 메타데이터
까지 포함.
- 프로그램과 데이터 간의
독립성
이 제공됨.
- 효율적으로 접근이 가능하고
질의
를 할 수 있음.
DBMS(Database Management System)
: 데이터베이스 관리 시스템
- DB를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 SW
데이터베이스 스키마
- 전체적인 DB 구조를 뜻하며 자주 변경되지 않음.
- DB의 모든 가능한 상태를 미리 정의.
- 내포 (intension)라고 부름.
DEPARTMENT(DEPTNO, DEPTNAME, FLOOR)
EMPLOYEE(EMPNO, EMPNAME, TITLE, DNO, SALARY)
데이터베이스 상태
- 특정 시점의 DB의 내용을 의미하며, 시간이 지남에 따라 계속해서 바뀜.
- 외연(extension)이라고 부름.
데이터베이스
- 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임.
- 시스템 카탈로그 (또는 데이터 사전)와 저장된 데이터베이스로 구분할 수 있음.
시스템 카탈로그(system catalog)
는 저장된 데이터베이스의 스키마 정보를 유지.

DBMS
- 사용자가 새로운 DB를 생성하고, DB의 구조를 명시할 수 있게 하고, 유저가 데이터를 효율적으로 질의하고 수정할 수 있도록 하며, 시스템의 고장이나 권한이 없는 사용자로부터 데이터를 안전하게 보호하며, 동시에 여러 사용자가 DB를 접근하는 것을 제어하는 SW Package
- DB 언어라고 부르는 특별한 프로그래밍 언어를 한 개 이상 제공.
SQL
은 여러 DBMS에서 제공되는 사실상의 표준 데이터베이스 언어

사용자
- 데이터베이스 사용자는 여러 부류로 나눌 수 있음.
하드웨어
- DB는 디스크와 같은
보조기억장치
에 저장되며, DBMS에서 원하는 정보를 찾기 위해서는 디스크의 블록들을 주기억 장치
로 읽어들어야 하며, 계산이나 비교 연산들을 수행하기 위해 중앙 처리 장치
가 사용됨.
- DBMS 자체도
주기억 장치
에 적재되어 실행되어야 함.
데이터베이스 시스템의 요구사항
- 데이터 독립성
- 효율적인 데이터 접근
- 데이터에 대한 동시 접근
- 백업과 회복
- 중복을 줄이거나 제어하며 일관성 유지
- 데이터 무결성
- 데이터 보안
- 쉬운 질의어
- 다양한 사용자 인터페이스
DBMS를 사용한 데이터베이스 관리
- 여러 사용자와 응용 프로그램들이 DB를 공유
- 사용자의 질의를 빠르게 수행할 수 있는 인덱스 등의 접근 경로를 DBMS가 자동적으로 선택하여 수행.
- 권한이 없는 사용자로부터 DB를 보호.
- 여러 사용자에 적합한 다양한 인터페이스 제공.
- 데이터 간의 복잡한 관계를 표현하며, 무결성 제약조건을 DBMS가 자동적으로 유지.
- 시스템이 고장 나면 DB를 고장 전의 일관된 상태로 회복시킴.
- 프로그램에 영향을 주지 않으면서 DB 구조를 변경할 수 있음.
-> 프로그램-데이터 독립성 (Program-data independence)
DBMS의 장점
중복성
과 불일치
가 감소
.
- 시스템을 개발하고 유지하는
비용 감소
.
표준화
를 시행하기가 용이.
보안
이 향상됨.
무결성
향상됨.
- 조직체의
요구사항을 식별
가능.
- 다양한 유형의 고장으로부터 DB를
회복
가능.
- DB의
공유
와 동시 접근
이 가능.
DBMS의 단점
- 추가적인 하드웨어 구입 비용이 들고, DBMS 자체의 구입 비용도 상당히 비쌈.
- 직원들의 교육 비용도 많이 소요됨.
- 비밀과 프라이버시 노출 등의 단점 존재.
- 초기의 투자 비용이 너무 클 때, 오버헤드가 너무 클 때, 응용이 단순하고 잘 정의되었으며 변경되지 않을 것으로 예상 될 때, 엄격한 실시간 처리 요구사항이 있을 때, 데이터에 대한 다수 사용자의 접근이 필요하지 않을 때는 DBMS를 사용하지 않는 것이 바람직 할 수 있음.