[데이터베이스시스템] 데이터베이스의 이해
데이터 : 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과, 값에 대한 설명
데이터베이스 : 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
데이터베이스 관리 시스템(DBMS) : 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
데이터베이스 시스템 : 정보를 데이터베이스에 저장, 관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
데이터 관리의 역사
- 파일처리 시스템
- 데이터베이스가 개발되기 전 데이터 관리에 사용
- 업무 별 애플리케이션이 개별 데이터를 데이터 파일에 저장, 관리하는 시스템
- 발생 가능한 문제
1) 데이터 종속의 문제
- 물리적 데이터 종속
- 논리적 데이터 종속
2) 데이터 중복의 문제
- 일관성 : 한 사실에 대해 한 개의 데이터 값을 유지
- 보안성 : 같은 데이터에 같은 수준의 보안 유지
- 경제성 : 데이터에 대해 최소한의 저장 공간만을 점유
3) 무결성 훼손의 문제
- 무결성 : 실세계의 데이터는 데이터가 가질 수 있는 가능 범위를 포함
- 데이터 무결성 : 데이터의 정확성 보장. 데이터의 값과 값에 대한 제약조건을 동시에 만족
- 파일 시스템은 데이터 무결성을 보장하기 위한 기능을 제공하지 않음
4) 동시 접근의 문제
- 동일 데이터에 다수 사용자의 접근 허용시 일관성이 훼손
- 데이터베이스가 개발되기 전 데이터 관리에 사용
데이터베이스의 특징
- DBMS의 3단계 구조 : 뷰, 외부스키마 < 개념스키마 < 내부스키마
- 트랜잭션의 정의
- 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
- 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
- 데이터베이스의 구성요소
- DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
- 데이터 정의 언어(DDL) : 데이터베이스 객체를 생성,수정,삭제하기 위한 언어
- 데이터 조작 언어(DML) : 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어
- DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
- 데이터베이스 시스템 아키텍쳐
1) 중앙집중식 방식
- 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
- 중앙 컴퓨터의 과부하로 전체적인 성능 저하
2) 분산시스템 방식
- 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유
- 클라이언트-서버 데이터베이스 시스템
- 애플리케이션 프로그램의 부하를 분산
- 소프트웨어의 유지보수 비용을 절감 및 이식성 증가