2014/04/11 - [Database System] - Chapter 1


용어 정의


1. 데이터베이스

- 서로 연관이 있는 데이터들의 모임.

- 작은 세계(mini-world) 또는 논의 세계(UoD)라고 부르는 실세계의 일부분을 표현한 것이다.

- 어떤 특정한 의미를 가지는 데이터의 모임.

- 특정한 목적을 위해서 설계, 구축, 운용을 한다.

- 데이터베이스에 저장되는 데이터에 대한 데이터 타입, 구조, 제약조건을 명세하는 과정.


2. 데이터

- 관찰, 수집, 측정 실험등으로 통해 얻어진 객관적 사실이나 값

- 알려진 사실로서 의미를 가지고 기록될 수 있다는 특성을 갖는다. (의미를 가지면서 기록될 수 있는 알려진 사실)


3. 메타 데이터

- 타겟이 되는 데이터의 내용을 확인할 수 우 있게 정보를 제공해주는 것.

- 데이터베이스에 대한 정보


4. 정보

- 데이터들의 어떠한 무의미한 값


5. DBMS

- 사용자가 데이터베이스를 생성하고 관리할 수 있도록 편리한 기능을 제공하는 프로그램들의 모임이다.

- DB의 생성과 관리를 담당하는 소프트웨어 패키지


6. 데이터베이스 시스템

- DB와 DBMS 및 이를 운영하기 위한 컴퓨터 시스템을 포함하여 DB를 생성, 운영 및 관리하기 위한 총체적 시스템을 Dababase System이라고 정의한다.

- DB와 그를 관리하는 소프트웨어(DBMS, 응용 프로그램) 모두를 칭하는 용어.



기존 화일 처리 시스템에 비하여 데이터베이스의 특징


1. 카탈로그

- 카탈로그에 저장된 정보를 메타 데이터라 부르며, 데이터베이스의 구조를 기술한다.


2. 프로그램-데이터 독립성

- 데이터 파일의 구조가 응용 프로그램과 분리되어 DBMS 카탈로그에 저장

- 데이터베이스 내의 데이터 저장 구조가 변경되어도 데이터베이스 응용 프로그램은 영향을 받지 않는 (변경될 필요가 없는) 성질 -> 데이터 독립성을 높인다.


3. 프로그램-연산의 독립성

- 연산의 구현이 변경되어도 인터페이스가 유지되는 한 응용 프로그램은 변경할 필요가 없다.

- 사용자 응용 프로그램에서는 연산의 구현 내용을 몰라도 연산의 이름과 매개 변수들을 사용해서 연산을 호출함으로써 데이터에 대한 연산을 수행할 수 있다.


4. 데이터 추상화

- 데이터 모델을 사용함으로써 저장 구조의 자세한 내용은 사용자로부터 은닉시키고 각자의 요구에 맞는 개념적인 뷰만 제공한다.


5. 다중 뷰의 지원

- 사용자는 전체 데이터베이스 보다는 관심이 있는 데이터베이스의 일부를 뷰로 정의할 수 있다.


6. 여러 트랜잭션 간의 데이터 공유

- 여러 사용자가 동일한 데이터베이스 공유 가능하도록 지원

- 동시에 사용하더라도 일관성을 보장하기 위한 동시성 제어 기능 제공



데이터베이스 사용자의 분류


1. 데이터베이스 관리자(Database administrator, DBA)

- 데이터베이스 시스템의 관리를 책임진 사람


2. 데이터베이스 설계자(Database Designer)

- 데이터베이스 설계를 책임진 사람


3. 최종 사용자

- 데이터베이스에 대하여 질의, 갱신, 보고서 작성 등을 담당하는 사람.

① 캐주얼 사용자(casual end user)

- 비정기적인 데이터베이스 사용자

- 정교한 질의어를 사용해 데이터를 요구하며, 대개 중상급의 관리자


② 초보 사용자(naive 또는 parametric end user)

- 미리 일정한 용도로 작성된 프로그램을 사용하는 사용자(은행 점원이나 여행사 예약 담당원 등)


③ 전문 사용자(sophisticated end user)

- 엔지니어, 과학자, 비즈니스 분석가 등으로, DBMS의 고급 기능을 이용하여 복잡한 응용을 개발(구현)


④ 독자적인 사용자(stand-alone end user)

- 메뉴나 그래픽 사용자 인터페이스를 제공하는 편리한 패키지를 사용하여 개인 데이터베이스를 유지하는 사용자(세금 계산을 목적으로 개인의 다양한 재정 데이터를 저장하는 세금 패키지의 사용자)


4. 시스템 분석가와 응용 프로그래머

- 초보 사용자를 위하여 잘 정의된 기능의 응용을 분석/설계하고 구현하는 사람


5. DBMS 설계자 및 개발자

- DBMS 소프트웨어 자체를 설계하고 구현하는 업무를 담당하는 사람들


6. 데이터베이스 도구의 개발자

- 데이터베이스를 사용하는 데에 필요한 도구들(데이터베이스 설계 및 구축 도구, 성능 도구, 인터페이스 등)을 설계하고 구현하는 사람들


7. 운영자와 유지보수 인력

- 데이터베이스 시스템을 운영하는 데에 필요한 하드웨어 및 소프트웨어 운영 및 유지 보수 담당 요원들



DBMS의 기능들


1. 중복성 제어 및 권한 검사

① 데이터 중복성의 제어 및 중복의 최소화한다.

- 데이터 일치성(consistency) 보장 및 메모리 낭비 방지

② 보안 기능

- 권한없는 사용자의 데이터 접근을 통제


2. 프로그램 객체와 데이터 구조에 대한 지속성 기억 공간 제공

- 데이터베이스에 영구적으로 보관/저장


3. 규칙을 사용한 추론과 수행

- 연역적 규칙을 이용하여 데이터베이스 저장된 사실로부터 새로운 정보를 추론

- 자동으로 수행되는 능동 규칙의 정의 및 실행


4. 다중 사용자 인터페이스 제공

- 캐주얼 사용자에게는 질의어를, 응용 프로그래머에게는 프로그래밍 언어 인터페이스를, 초보 사용자에게는 폼(form)이나 명령어 인터페이스를, 독자적인 사용자에게는 메뉴 기반 인터페이스나 자연언어 인터페이스를 제공해야 한다.


5. 데이터 사이의 복잡한 관련성 표현

- 하나의 애트리뷰트 값인 'Brown' 은 다른 릴레이션의 애트리뷰트값과 관련을 가진다.


6. 무결성 제약조건 처리, 백업과 회복 기능

① 무결성 제약조건의 시행

- 무결성 제약조건은 각 데이터 항목에 대한 데이터 타입이다.

- 참조 무결성 제약조건과 키 제약조건이 있다.

② 백업과 회복 제공

- 시스템 고장시에도 데이터의 일관성을 보장한다.



기존 파일 처리 시스템에 비하여 DB의 장점


1. 표준화 강화

- 조직 내 모든 부서에서 표준화된 문서 관리로 업무 효율성 증대


2. 응용 개발 시간의 단축

- 응용 프로그램의 상당한 부분을 DBMS가 처리한다.


3. 융통성 증가

- 데이터베이스 내의 자료 구조가 어떠한 이유로 변경되어도 사용자에 대한 영향은 거의 없다.


4. 최신 정보를 즉시 이용

- 사용자 중에서 한 사람의 갱신으로 나머지 사람은 즉시 변경된 값을 접근 가능하다.


5. 규모의 경제성

- 부서마다 다른 방식으로 자료를 관리하는 것보다 통합 DB로 관리하는 것이 전체적인 관점에서 저 비용이다.

'Database > Database System 정리' 카테고리의 다른 글

Chapter 3 정리  (0) 2014.04.21
Chapter 2 정리  (0) 2014.04.21

+ Recent posts