1. 데이터베이스 (DataBase, DB) 이란?
ㅇ 구조적, 논리적으로 조직화된 데이터 집합
- 여러 응용 프로그램,사용자가, 공유,활용할 수 있도록, 통합 관리되는 데이터 저장소임
- 데이터의 정의,저장,검색,갱신 등이 DBMS을 통해 이루어짐
2. 출현 배경
ㅇ 과거에는, 동일한 데이터가 여러 응용 프로그램에서 중복 저장,관리되었으므로,
- 데이터의 불일치와 비효율이 발생함
ㅇ 이러한 문제를 해결하고, 데이터의 일관성,공유성,무결성을 확보하기 위해,
- 여러 응용에서 공용 사용 가능한, 통합된 데이터 저장소(공용 데이터베이스) 개념이 등장함
3. 데이터베이스의 특징
ㅇ 실시간 접근성 (Realtime Accessibility)
- 수시적,비정형적인 자료 처리 요구에 대하여 실시간적 처리
ㅇ 동시 공유 (Concurrent Sharing)
- 동일 데이타를 동시에 서로 다른 목적으로 사용 가능
ㅇ 계속적인 변화 (Continuous Evolution)
- 데이타베이스의 상태는 정적이 아니고 동적 즉, 수시로 데이타의 갱신이 이루어짐
ㅇ 데이터 저장 및 추출의 최적화
- 모든 데이터가 중복을 최소화하면서 통합됨
ㅇ 응용프로그램과 데이터 간에 분리 독립성을 제공함
- 데이터 구조 변경 시 프로그램 수정이 최소화됨
ㅇ 저장과 검색의 용이성 등
- 효율적 인덱스 구조와 질의어(SQL) 등을 통해 데이터 접근이 용이함
4. 데이터베이스의 구분
ㅇ 응용 관점
- 운영 데이터베이스 : OLTP(온라인 트랜잭션 처리)에 주로 활용
. 동적인 데이터 수집,수정,보존 등
- 분석 데이터베이스 : OLAP(온라인 분석 처리)에 주로 활용
. 장기간 정적인 데이터 수집 및 통계,동향,추세 등
ㅇ 구성 관점
- 시스템 카탈로그 (구조 정보, 메타데이터) : 데이터 구조,제약조건,관계 등의 정보 저장
- 실제 저장된 데이터베이스 : 실제 응용 데이터를 저장하는 영역
ㅇ 논리적 모델링 관점
- 계층형 데이터베이스 : 트리 구조로 데이터 간 계층 관계 표현
- 네트워크형 데이터베이스 : 그래프 구조로 다대다 관계 표현
- 관계형 데이터베이스 (RDB) : 테이블(릴레이션) 형태로 구성, SQL 사용
- 객체지향형 데이터베이스 : 객체 단위로 데이터와 메서드 함께 저장
ㅇ 추상화 관점
- View Level : 사용자 관점, 사용자 마다 다른 View로 보여짐 (개념적 모델링)
- Logical Level : 데이터의 묘사, 데이터 간 관계 (논리적 모델링)
- Physical Level : 레코드가 어떻게 디스크에 저장되는가 (물리적 모델링)