소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축하는 것을 의미한다.
데이터저장소는 논리 데이터저장소와 물리 데이터저장소로 구분
논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화
물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장
논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일
특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임
통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임
저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
운영 데이터(Operational Data) : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료
공용 데이터(Shared Data) : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료
실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 조회에 대하여 실시간 처리에 의한 응답이 가능해야 한다.
계속적인 변화(Continuous Evolution) : 상태는 동적이다. 즉 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야하한다.
동시 공용(Concurrent Sharing) : 서로 다른 목적을 가진 여러 응용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야한다.
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
DBMS는 기존 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위한 시스템, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리
DBMS는 데이터베이스의 구성, 접근 방법, 유지관리에 대한 모든 책임을 진다.
DBMS의 필수 기능
정의(Definition) 기능 : 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시
조작(Manipulation) 기능 : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능
제어(Control) 기능
논리적, 물리적 독립성 보장
중복을 피할 수 있어 기억 공간 절약
저장된 자료를 공동으로 이용할 수 있음
데이터의 일관성 유지
데이터의 무결성 유지
보안 유지
데이터를 표준화할 수 있음
데이터를 통합하여 관리할 수 있음
항상 최신의 데이터를 유지
데이터의 실시간 처리가 가능
데이터베이스 전문가 부족
전산화 비용 증가
대용량 디스크로의 집중적인 Access로 과부하(Overhead) 발생
파일의 예비(Backup)와 회복(Recovery)이 어려움
시스템이 복잡함
데이터의 독립성
- 데이터의 독립성은 종속성에 대비되는 말, DBMS의 궁극적 목표이기도 함
- 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않음
- 물리적 독립성 : 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립, 데이터베이스 시스템 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만을 변경
스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
데이터베이스를 구성하는 데이터 개체(Entity)와 속성(Attribute), 관계(Relationship) 및 데이터 조작(DML) 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
스키마 종류