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 |