본문 바로가기

Programming/DataBase System

Chapter1 - 요약

  • 요약

  • 데이터베이스 관리 시스템(DBMS)은 서로 관련이 있는 데이터의 모임과 그 데이터에 접근하기 위한 프로그램의 집합으로 구성된다. 데이터는 특정 조직에 관한 정보를 기술한다.


  • DBMS의 주요 목적은 데이터베이스에 정보를 저장하고 또 이를 검색하기 위한 편리하고도 효율적인 환경을 제공하는 데 있다.


  • 데이터베이스는 오늘날 세계 어디서나 널리 사용되고 있으며 대부분의 사람들이 직접적으로든 간접적으로든 매일 여러 번씩 이를 이용하고 있다.


  • 데이터베이스 시스템은 대규모의 정보를 관리하도록 설계되었다. 데이터의 관리는 정보의 저장을 위한 구조를 정의하는 작업과 정보의 조작을 위한 기법을 제공하는 작업 모두를 포함한다. 또한, 데이터베이스 시스템은 시스템의 고장이나 불법적인 액세스로부터 저장된 정보를 안전하게 지켜야 한다. 데이터가 여러 사용자간에 공유될 경우, 이로 인한 예기치 않은 이상 결과를 방지해야 한다.


  • 데이터베이스 시스템의 중요한 목적은 사용자에게 데이터의 추상적인 관점을 제공하는 것이다. 즉, 시스템은 어떻게 데이터가 저장되고 유지되는지의 세부 사항은 숨긴다.


  • 데이터베이스의 구조의 기반을 이루는 것이 데이터 모델이다. 데이터 모델은 데이터, 데이터들 사이의 관계, 데이터의 의미 그리고 데이터의 제약조건 등을 기술하기 위한 개념적 도구의 집합이다.


  • 관계형 모델은 데이터베이스에서 데이터를 저장할 때 가장 많이 이용되는 모델이다. 다른 모델들로써 객체-지향 모델, 객체-관계형 모델 그리고 반구조형 모델이 있다.


  • 데이터 조작 언어(DML)는 사용자로 하여금 데이터를 조작하거나 액세스하게 하기 위한 언어이다. 비절차식 DML은 필요한 데이터를 어떻게 구할지 명시할 필요 없이, 어떠한 데이터가 필요한지 지정할 것만을 사용자에게 요구한다.


  • 데이터 정의 언어(DDL)은 데이터의 다른 속성뿐만이 아니라 데이터베이스 스키마를 실체화하는 언어이다.


  • 데이터베이스 설계는 주로 데이터베이스 스키마의 설계와 관련이 있다. 개체-관계(E-R) 데이터 모델은 데이터베이스 설계를 위해 널리 사용되고 있는 모델로서, 데이터와 관계, 제약조건을 편리하게 시각적으로 바라볼 수 있도록 도와준다.


  • 데이터베이스는 몇몇 서브시스템으로 나누어진다.
-   저장장치 관리자는 데이터베이스에 저장된 하위 단계의 데이터와 시스템의 응용 프로그램 및 질의 사이의 인터페이스를 제공하는 프로그램 모듈이다.
-   질의 처리기는 DDL 문과 DML 문을 컴파일하고 실행한다.

  • 트랜잭션 관리(Transaction management) 는 데이터베이스를 시스템의 장애에도 불구하고 일관된(올바른) 상태로 유지시킨다. 트랜잭션을 충돌없이 실행 가능하도록 한다.


  • 데이터베이스 시스템의 구조는 데이터베이스 시스템이 실행되는 컴퓨터 시스템에 영향을 받는다. 데이터베이스 시스템은 하나의 서버가 다수의 클라이언트 대신 일을 처리한는 중앙집중식 구조, 또는 클라이언트-서버구조가 될 수 있다. 데이터베이스 시스템은 병렬 컴퓨터 구조를 ㄹ이용하기 위해 설계될 수도 있다. 분산 데이터베이스는 지리적으로 분리된 다수의 기계에 걸쳐져 있다.


  • 데이터베이스 어플리케이션은 전형적으로 클라이언트에서 실행되는 전처리 부분과 이면에서 동작하는 후처리 부분이 있다. 2-계층구조에서는 전처리 부분이 후처리 부분에 있는 데이터베이스와 직접 통신한다. 반면, 3-계층 구조에서는 후처리 부분 자신이 응용 프로그램 서버와 데이터베이스 서버로 나누어진다. 


  • 지식-탐사 기법은 데이터에서 통계적인 법칙이나 패턴을 자동적으로 찾아내는 것이다. 데이터 마이닝(data mining) 분야는 인공 지능 연구자들과 통계 분석가들이 고안한 지식 탐사 기법들과 이들을 대용량 데이터베이스에서도 사용할 수 있도록 하는 효율적인 구현 기법을 결합한 것이다.


  • 데이터베이스 시스템 사용자들은 네 가지 형태로 구분되며, 그들은 시스템과 상호 작용을 하는 방식에 따라 구분된다. 사용자 인터페이스의 형태들은 사용자의 형태에 따라 설계된다.