본문 바로가기

Programming/DataBase System

Chapter1 - 데이터베이스 사용자와 관리자

  • 데이터베이스 사용자와 관리자



데이터베이스 시스템의 주된 목적은 데이터베이스에 저장된 정보를 검색하고 새로운 정보를 저장하는 것이라 할 수 있다. 데이터베이스와 관련된 사람들은 다음과 같이 사용자와 관리자로써 분류된다.




  • 데이터베이스 사용자와 사용자 인터페이스

데이터베이스 시스템을 사용하는 사용자들은 시스템과 상호 작용하는 양상에 따라서 다음과 같은 네 가지 유형으로 구분된다. 이들 서로 다른 사용자 그룹을 위해 서루 다른 인터페이스가 제공되어야 한다.


  • 일반 사용자 : 일반적으로, 미리 작성되어 저장된 응용 프로그램들 중 하나를 불러서 이를 이용하여 시스템을 사용하는 시스템에 익숙하지 않은 사용자 층이다. 예를 들어, A 학과에 새로운 교수를 추가하려고 하는 대학교 직원이 new_hire 라는 프로그램을 호출한다고 하자. 이 프로그램은 직원에게 새로운 교수의 이름, ID, 학과의 이름 (즉, A), 급여를 요청할 것이다. 이러한 사용자 그룹을 위한 가장 전형적인 사용자 인터페이스는 폼(form) 인터페이스로서 사용자는 적절한 정보를 채워 넣으면 되게 되는 형식으로 되어 있다. 이들 사용자 군은 데이터베이스로부터 간단한 보고 메시지(report)를 읽는 것으로 데이터 검색을 대신하는 일도 있다. 또 다른 예로, 수강 신청 기간에 웹 인터페이스를 이용해 수강 신청을 하고자 하는 학생을 가정해 보자. 이러한 사용자는 웹 서버에서 실행되는 웹 응용 프로그램에 접속한다. 응용 프로글매은 사용자의 신분을 확인하고 사용자가 원하는 정보를 얻을 수 있는 폼에 접속할 수 있도록 한다. 폼 정보는 서버에 있는 웹 응용 프로그램으로 다시 전해지며 수강 여석이 남아있는 경우(데이터베이스에서 정보를 검색하여)학생 정보를 데이터베이스에 추가한다.
  • 응용 프로그램 프로그래머 : 이들은 컴퓨터 전문가미여, 응용 프로그램을 작성한다. 이들은 사용자 인터페이스를 개발하기 위한 때때로 여러 가지 도구를 쓴다. RAD(Rapid application development) 도구는 최소한의 프로그래밍으로  폼과 보고 메시지를 구성할 수 있도록 도와주는 도구이다.
  • 능숙한 사용자 : 프로그램을 작성하지는 않으나, 시스템에 직접 액세스 하는 사용자이다. 대신, 그들은 데이터베이스 질의어나 데이터 분석 소프트웨어와 같은 도구를 사용하여 시스템에 대한 요청을 처리한다. 데이터베이스 내의 데이터를 조사하기 위한 질의를 제시하는 분석가가 이런 부류에 속한다.
  • 특수 사용자 : 전통적인 데이터 처리 방식과는 다른 특수한 데이터베이스 응용 프로그램을 작성하는 능숙한 사용자이다. 이러한 응용에는 컴퓨터 지원 설계 시스템(computer-aided design system), 지식-기반 시스템(knowledge-based system), 전문가 시스템(expert-system), 복잡한 형의 데이터(예를 들어 그래픽 데이터 또는 음성 데이터)를 저장하는 시스템 및 환경 모델링 시스템(environment-modeling system)등이 있다.





  • 데이터베이스 관리자

DBMS를 도입하는 중요한 이유 중의 하난는 데이터와 데이터를 액세스하는 프로그램들 모두에 대해서 중앙 제어를 가하자는 것이다. 시스템에 대하여 이렇듯 중앙에서 제어하는 사람을 데이터베이스 관리자(databade administrator : DBA)라고 한다. 데이터베이스 관리자는 다음과 같은 일을 한다.


  • 스키마 정의 : DBA는 DDL로 작성된 일련의 정의를 실행함으로써, 최초의 데이터베이스 스키마를 생성한다.
  • 저장 구조와 액세스 방법의 정의 
  • 스키마 및 물리 구조릐 수정 : DBA는 요구사항의 변화를 반영하기 위해서, 혹은 시스템 성능 향상을 위하여 물리적 구조를 수정하기 원할 때, 스키마와 물리적 구조를 변경 할 수 있다.
  • 데이터 액세스 권한의 인정 : 여러 가지 서로 다른 형태의 권한을 규정함으로써 데이터베이스 관리자는 데이터베이스의 어떤 부분을 어떤 사용자들이 액세스할 수 있을지 결정한다. 권한 정보는 특수한 시스템 구조에 저장되는데 데이터에 대한 액세스가 이루어질 때마다 이를 참조하게 되어 있다.
  • 루틴 유지 및 관리 : 데이터베이스 관리자의 루틴 유지 및 관리 활동의 예는 다음과 같다.
- 데이터베이스의 주기적인 백업 또는 재해로부터 데이터의 안전성을 보장하기 위한 테이프 혹은 원격 저장소에의 덤프.
- 일반적인 연산이 가능하도록 충분한 디스크 공간을 보장해줘야 하며, 필요한 만큼의 디스크 공간을 확보.
- 데이터베이스에서 수행되는 작업을 모니터링하여 몇몇의 사용자에 의한 과부하로 인한 성능 저하 방지.