데이터베이스 시스템 개요
- DBMS: 데이터를 효과적으로 저장하고 조작할 수 있도록 개발된 시스템
- 데이터베이스 시스템: 사용자 애플리케이션과 DBMS가 포함된 일체의 시스템
- 데이터베이스 표현 단계
- 개념적 단계
- 논리적 단계
- 물리적 단계
DBMS의 목적과 특징 및 구조
파일 처리 시스템의 문제점
- 데이터 종속성(데이터 독립성 위배 가능)
- 데이터 중복성(일관성, 보안성, 경제성 위배 가능)
- 데이터 무결성
- 동시 접근 이상
DBMS의 특징
- 프로그램-데이터 독립성
- 데이터 추상화: 3단계 구조를 통해 복잡성을 감추고 프로그램-데이터 독립성을 구현함
- 외부 단계: 외부 스키마(뷰)로 기술되며, 사용자에게 데이터베이스의 일부만 노출시킴
- "외부-개념 맵핑"을 통해 논리적 데이터 독립성을 확보
- 개념 단계: 개념 스키마로 기술되며, 데이터와 그 관계에 대해 정의함
- "개념-내부 맵핑"을 통해 물리적 데이터 독립성을 확보
- 내부 단계: 내부 스키마로 기술되며, 원시 수준의 구체적인 사항에 대해 정의함
- 자기 기술성
- 시스템 카탈로그/데이터 사전에 메타데이터를 포함
- 다중 뷰
- 다수 사용자 요청 처리
- 트랜잭션
- 동시성 제어
데이터베이스 언어
- Data Definition Language: 스키마와 데이터에 대한 상세 요건을 명시하기 위한 언어
- CREATE, ALTER, DROP, RENAME, TRUNCATE
- Data Manipulation Language: 사용자가 데이터를 삽입/수정/삭제/검색하도록 지원하기 위한 언어
- SELECT, INSERT, UPDATE, DELETE
- Data Control Language: 데이터 제어 권한을 부여/회수하기 위한 언어
- GRANT, REVOKE, BEGIN
- Transaction Control Language: DML에 의해 발생한 트랜잭션을 제어하기 위한 언어
- COMMIT, ROLLBACK, CHECKPOINT
데이터베이스 시스템 아키텍처
중앙집중식 DBMS 구조
- 메인프레임 컴퓨터에서 모든 작업을 처리하고, 사용자는 컴퓨팅 능력이 없는 터미널을 통해 접속하여 사용
Client-Server 구조
- 2-tier architecture
- 클라이언트에 설치된 애플리케이션을 통해 데이터베이스를 사용하는 구조
- 3-tier architecture
- 클라이언트와 데이터베이스 중간에 애플리케이션 서버를 추가한 구조
- 클라이언트는 주로 웹 브라우저, 서버는 주로 Web Application Server로 구성된다.