데이터베이스 시스템
컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
정보와 데이터는 서로 다름
데이터베이스(database)의 정의
데이터베이스는 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터 (operational data)들이 구조적으로 통합된 모임이다. 데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정된다
데이터베이스의 예
- 대학에서는 데이터베이스에 학생들에 관하여 신상 정보, 수강 과목, 성적 등을 기록하고, 각 학과에 개설되어 있는 과목들에 관한 정보를 유지하고, 교수에 관해서 신상 정보, 담당 과목, 급여 정보를 유지한다.
- 항공기 예약 시스템에서는 여행사를 통해 항공기 좌석을 예약하면 모든 예약 정보가 데이터베이스에 기록된다.
데이터베이스의 특징
데이터베이스는 데이터의 대규모 저장소로서, 여러 부서에 속하는 여러 사용자에 의해 동시에 사용됨
모든 데이터가 중복을 최소화하면서 통합됨
데이터베이스는 한 조직체의 운영 데이터뿐만 아니라 그 데이터에 관한 설명(데이터베이스 스키마 또는 메타데이터(metadata))까지 포함.
프로그램과 데이터 간의 독립성이 제공됨
효율적으로 접근이 가능하고 질의를 할 수 있음
데이터베이스 관리 시스템(DBMS: Database Management System)
데이터베이스를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 소프트웨어
데이터베이스 스키마
전체적인 데이터베이스 구조를 뜻하며 자주 변경되지는 않음
데이터베이스의 모든 가능한 상태를 미리 정의
내포(intension)라고 부름
데이터베이스 상태
특정 시점의 데이터베이스의 내용을 의미하며, 시간이 지남에 따라 계속해서 바뀜
외연(extension)이라고 부름
데이터베이스
조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임
시스템 카탈로그(또는 데이터 사전)와 저장된 데이터베이스로 구분할 수 있음
시스템 카탈로그(system catalog)는 저장된 데이터베이스의 스키마 정보를 유지 +
DBMS
사용자가 새로운 데이터베이스를 생성하고, 데이터베이스의 구조를 명시할 수 있게 하고, 사용자가 데이터를 효율적으로 질의하고 수정할 수 있도록 하며, 시스템의 고장이나 권한이 없는 사용자로부터 데이터를 안전하게 보호하며, 동시에 여러 사용자가 데이터베이스를 접근하는 것을 제어하는 소프트웨어 패키지 데이터베이스 언어라고 부르는 특별한 프로그래밍 언어를 한 개 이상 제공 SQL은 여러 DBMS에서 제공되는 사실상의 표준 데이터베이스 언어
사용자
데이터베이스 사용자는 여러 부류로 나눌 수 있음
하드웨어
데이터베이스는 디스크와 같은 보조 기억 장치에 저장되며, DBMS에서 원하는 정보를 찾기 위해서는 디스크의 블록들을 주기억 장치로 읽어들여야 하며, 계산이나 비교 연산들을 수행하기 위해 중앙 처리 장치가 사용됨
DBMS 자체도 주기억 장치에 적재되어 실행되어야 함
데이터베이스 시스템의 요구사항
데이터 독립성
효율적인 데이터 접근
데이터에 대한 동시 접근
백업과 회복
중복을 줄이거나 제어하며 일관성 유지
데이터 무결성
데이터 보안
쉬운 질의어
다양한 사용자 인터페이스