PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제17장 데이터베이스 기초 및 설계

    1. 데이터베이스와 데이터베이스 시스템

4.1.1. 데이타베이스의 정의

데이타베이스는 사람들이 관심을 가지고 있는 데이타를 모아둔 것입니다. 일상 생활에서 자주 접할 수 있는 데이타베이스의 예로는 은행의 고객 자료의 데이타베이스나 학교에서 학생 자료 데이타베이스, 도서관에서 도서 데이타베이스 등을 들수가 있을 것입니다. 이러한 예에서 보는 것처럼 하나의 데이타베이스에는 서로 관련된 데이타들이 컴퓨터가 처리할 수 있는 형태로 저장되어있읍니다.

하지만 이렇게 저장된 데이타는 사용자의 물음에 대해 대답할 수 있어야만 의미를 가질 수 있습니다. 도서관 데이타베이스를 예로 든다면, 데이타베이스에는 현재 도서관에 있는 책들에 대한 데이타 즉 작가, 출판년도, 도서명 등등의 데이타들이 저장되어 있으며 사용자는 자신이 찾고자 하는 책에 관한 정보를 데이타베이스로부터 추출해낼 수 있습니다. 다시말하면 데이타베이스는 데이타를 보관하고 사용자에 물음에 대답하는 시스템이라고 할 수 있습니다.

데이타베이스에 저장된 데이타는 끊임없이 변화합니다. 다시 도서관의 예를 본다면 새로운 책이 들어올 때마다 새로운 도서에 대한 데이타가 저장되어야하고 책이 대출되었을 때나 반납되었을 때 대출과 반납에 대한 정보가 저장되어야 합니다. 데이타베이스는 이러한 외부의 변화에 맞추어 적절히 저장된 데이타를 변경시킬 수 있어야합니다. 즉 데이타베이스는 새로운 데이타를 저장하거나 기존의 데이타를 삭제, 변경시키는 작업을 저장된 데이타가 일관성을 유지할 수있도록 수행해야합니다.

4.1.2. 데이타 베이스 관리 시스템 (Database Management System)

데이타베이스를 생성하고, 관리하며, 데이타로 부터 사용자의 물음에 대한 대답을 추출하는 프로그램의 집합을 데이타베이스 관리 시스템 (Database Management System)이라 합니다. 데이타베이스 관리 시스템의 첫번째 목표는 바로 데이타를 저장하고 이 데이타로부터 유용한 정보를 얻어내기위한 효율적이면서도 편리한 방법을 사용자에게 주는데 있습니다.

데이타베이스 관리 시스템이 데이타를 관리하기 위해서는 저장할 데이타의 구조를 정의해야하며, 이렇게 정의된 구조에 따라 효율적으로 데이타를 저장해야합니다. 또한 이렇게 저장된 데이타로 부터 좀더 빠르게 정보를 추출할 수 있기위한 방법들을 제공해야합니다.

실제로 데이타를 관리하는 데 있어서는 여러 문제점이 발생하게 됩니다. 예를 들어 학사 관리 데이타베이스에서 학생의 출생년도가 1800인 데이타가 있다거나 또는 학생의 소속학과가 실제로 존재하지 않는 학과로 되어있는 경우, 또한 학번이 같은 사람이 둘이상 있는 것과 같이 잘못된 데이타가 데이타베이스에 저장될 경우 이로 부터 얻은 정보는 아무런 의미가 없게 됩니다. 위와 같은 잘못된 데이타가 데이타베이스에 저장되는 것을 막는 것또한 데이타베이스가 해야 할 일들 중 하나입니다.

보통의 경우에 데이타베이스는 동시에 여러 사람들이 사용하게 됩니다. 이렇게 하나에 데이타베이스가 동시에 여러 장소에서 사용될 경우, 한명의 사용자가 사용할 때와는 다른 문제점을 발생시킬 수도 있읍니다. 데이타베이스를 효율적으로 사용하기 위해서는 이처럼 동시에 데이타베이스에 접근하는 것을 가능하도록 해야하며, 이때에 발생할 수 있는 문제를 데이타베이스 관리 시스템이 해결해야 합니다.

아래는 데이타베이스 시스템의 개략적인 구조 입니다.


4.1.3. 데이타베이스 관리 언어 (Database Management Language)

대부분의 사용자가 데이타베이스를 사용할 경우에는 사용하기 편리한 프로그램을 통해서 데이타베이스 관리 시스템에 명령을 전달하게 됩니다. 도서관에서 흔히 볼 수 있는 도서 검색 프로그램이나, 수강 신청 프로그램과 같은 프로그램들이 이러한 역할을 하게 됩니다. 데이타베이스 관리자의 경우에는 직접 데이타베이스에 명령을 전달할 수도 있는데 이때 쓰이는 언어가 데이타베이스 관리 언어입니다.

데이타베이스 관리 언어는 데이타베이스에 저장될 데이타의 구조를 정의하고, 이 구조에 따라 데이타를 저장하고 삭제하는 명령을 포함하고 있습니다. 또한 사용자혹은 데이타베이스 관리자가 궁금해하는 복잡한 질문을 여러가지 형태로 나타낼 수 있게 합니다. 즉 데이타베이스 관리 언어는 처음에 데이타베이스에 저장될 데이타의 구조를 정하여 데이타베이스를 생성시키는 역할과, 데이타를 추가, 삭제하는 역할, 그리고 사용자의 질문을 나타내는 역할을 수행하고 있습니다.

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.