1장. 데이터베이스 개념
개요
이번 장에서는 데이터베이스 모델링을 하기 전에 알아두어야 하는 기본적인 사항들에 대해서 다룰
것이다. 데이터베이스는 간단하게 말해 데이터의 집합이다. 데이터베이스가 갖는 몇 가지 특징을
살펴볼 것이다. 또한 데이터베이스를 처리하는데 있어서 가장 초보적인 수준의 데이터 관리 형식인
파일 시스템에 대해서 알아보고, 파일 시스템의 단점을 극복하고 데이터를 효율적으로 관리하기 위
해 출현한 데이터베이스관리 시스템의 개념과 유형에 대해 살펴 볼 것이다.
우리가 앞으로 다룰 모델은 관계형 데이터 모델임을 명심하고 이에 대해서는 2장에서 자세히 다룰
것이다.
1. 데이터베이스에 대한 이해
1-1. 데이터베이스 정의
데이터베이스란? 여러 응용 시스템을 통해 액세스가 가능한 공유된 형태의 통합된 데이터
의 집합이라고 정의할 수 있다. 굳이 인터넷이나 컴퓨터를 이용하지 않더라도 우리는 이미
많은 경우를 통하여 데이터베이스를 구축해서 활용하고 있다.
다이어리를 이용하여 필요한 내용과 주소록, 연락처 등을 정리 하거나 일기장에 일기를 쓰
거나 아니면 가계부를 적는 등의 많은 일상생활 속에서 우리는 이미 데이터베이스를 밀접
하게 사용하고 있으며 이러한 내용들을 컴퓨터를 이용하여 물리적, 논리적으로 체계화 시
켜서 보다 효율적으로 사용되도록 하는 일이 아마도 우리가 데이터베이스를 공부하는 이유
가 될 것이다.
이러한 데이터베이스는 작게는 부분적인 업무를 처리하기 위한 데이터를, 크게는 기업의 통
합된 전체 데이터를 여러 응용 시스템이 액세스할 수 있게끔 데이터 공유 기능과 저장 기능
을 지원 하는 시스템 이다.
1-2. 데이터베이스의 특징
모든 데이터베이스는 다음과 같은 특징을 가지고 있다.
1) 데이터 독립성
물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리
거나 새롭게 추가하더라도 관련된 응용프로그램을 수정할 필요가 없다.
논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용프로그램의 논리적인 요구
를 만족시켜 줄 수 있다.
2) 데이터 무결성
데이터 무결성은 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기
능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현 하게 된다.
3) 데이터 보안성
인가된 사용자들만 데이터베이스에 접근하거나 데이터베이스 내의 자원에 접근할 수 있
게끔 계정관리나 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
4) 데이터 일관성
연관된 정보를 논리적인 구조로 관리함으로 해서 어떤 하나의 데이터만 변경했을 경우
발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한 작업 중에 일부 데이터만
변경되어 나머지 데이터와 일치하지 않은 경우의 수를 배제할 수 있다.
5) 데이터 중복 최소화
데이터베이스는 데이터를 통합해서 관리함으로써 다음에 소개될 파일 시스템의 단점 중
에 하나인 자료의 중복과 데이터의 종속성을 해결할 수 있다.