1. 데이터베이스가 필요한 이유
기존 파일 처리 시스템(업무별 애플리케이션이 개별 데이터를 데이터 파일에 저장・관리하는 시스템)의 문제를 해결하기 위함
< 발생 가능한 문제 >
- 데이터 종속의 문제 : 저장된 데이터가 특정 H/W에서 또는 사용자 및 S/W만 사용될 있도록 제한되는 문제
- 데이터 중복의 문제 : 동일한 사항에 대한 중복 데이터는 일관성, 보안성, 경제성 측면에서 문제 발생
- 무결성 훼손의 문제
- 동시 접근의 문제 : 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손
2. 데이터베이스 (Database)
데이터 사용자가 데이터 저장 관리소에 직접 접근하지 않고, 모든 것을 데이터베이스에 일임하여 실직적 접근은 데이터베이스만 가능하도록 함
→ 데이터의 사용과 관리의 영역을 분리하여, 직접 접근하지 못하도록 함
데이터베이스의 특징
- 데이터베이스 시스템의 자기 기술성
- 데이터와 데이터의 정의 및 설명(메타데이터)을 포함
- 데이터와 데이터의 의미를 같이 저장함
- 프로그램과 데이터의 격리 및 추상화
- 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
- 다중 뷰 제공
- 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
- 데이터 공유와 다수 사용자 트랜잭션 처리
- 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행
- 트랜잭션 : 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
데이터베이스 시스템의 구성
- 사용자/프로그래머가 애플리케이션을 통해 DBMS에 접근 → DBMS 내부의 소프트웨어 모듈이 동작하여, 데이터를 가져옴
- 저장된 데이터베이스 : 실제 데이터가 저장되는 곳
- 저장된 데이터베이스 (메타데이터) : 데이터의 의미를 알아야 사용자 요청 시 알맞은 데이터를 꺼낼 수 있음 (자기기술성)
- 데이터(data) : 하나의 값이 두 개 이상의 설명태그가 붙어 만들어짐
- 메타데이터(meta data) : 값에 의미를 부여하는 부연설명
데이터베이스 관련 용어
- 데이터(data): 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명(메타데이터)
- 데이터베이스(database): 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
- 데이터베이스 관리 시스템(DBMS): 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
- 데이터베이스 시스템(database system): 정보를 데이터베이스에 저장・관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
데이터베이스 언어
- 데이터 정의 언어(DDL) : 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어
- 데이터 조작 언어(DML) : 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)