ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리산업기사] 005 DBMS의 정의 및 필수 기능 ~ 010 기타 데이터베이스 사용자
    자격증/정보처리계열 2014. 7. 4. 00:48
    반응형

    1과목 데이터베이스


    005 DBMS의 정의 및 필수 기능


    * DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어이다.

    * 정의(조직)(Definition) 기능 : 데이터 검색, 갱신, 삽입 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단 등을 정하는 기능

    * 제어(Control) 기능 : 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어, 정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안(Security)을 유지하고 권한(Authority)을 검사할 수 있어야하고 여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때 처리 결과가 항상 정확성을 유지하도록 병행 제어(Concurrency Control)을 할 수 있어야한다.




    006 DBMS의 장단점


    * 장점

    - 데이터의 중복을 피할 수 있음

    - 저장된 자료를 공동으로 이용가능

    - 데이터의 일관성 유지 가능

    - 데이터의 무결성 유지 가능

    - 보안 유지 가능

    - 데이터 표준화 가능

    - 데이터를 통합하여 관리 가능

    - 항상 최신의 데이터를 유지

    - 데이터의 실시간 처리 가능

    - 데이터의 논리적, 물리적 독립성이 보장


    * 단점

    - DB 전문가 부족

    - 전산화 비용 증가

    - 대용량 디스크로의 집중적인 Access로 과부하(Overhead)이 발생

    - 파일의 예비(Backup)과 회복(Recovery)가 어려움

    - 시스템이 복잡함

    - 파일 시스템에 비해 자료 처리 방법이 복잡함


    * 논리적 독립성과 물리적 독립성

    - 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않음

    - 물리적 독립성 : 응용  프로그램과 보조기억장치 같은 물리적 장치를 독립시킴으로써, 데이터베이스 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만을 변경




    * 백업 (Backup)

    - 장비 고장 등의 비상사태에도 데이터베이스가 보존되도록 복사해 놓는 작업


    007 스키마 (Schema)의 정의

    - 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한다.

    - 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.

    - 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어진다.

    - 스키마(Schema)는 데이터 사전에 저장되며, 다른 이름으로 메타데이터(Meta-data)라고도 한다.


    008 스키마의 3계층


    * 외부 스키마(External Schema) = 서브 스키마 = 사용자 뷰(View)

    - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한다.

    - 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Subschema)라고도 한다.

    - 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공용할 수 있다.

    - 같은 데이터베이스에 대해서도 서로 다른 관점을 정의 할 수 있도록 허용한다.

    - 일반 사용자는 질의어(SQL)를 이용하여 DB를 사용한다.


    *개념 스키마(Conceptual Schema) = 전체적인 뷰(View)

    - 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.

    - 개념 스키마는 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.

    - DB 파일에 저장되는 데이터의 형태를 나타낸 것으로 단순히 스키마(Schema)라고 하면 개념 스키마를 의마한다.

    - 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다.

    - 데이터베이스 관리자에 의해서 구성된다.


    * 내부 스키마(Internal Schema)

    - 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이다.

    - 실제로 DB에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

    - 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.


    009 데이터베이스 언어 (Database Language)


    * 데이터 정의 언어 (DDL : Data Definition Language)

    - DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.

    - 번역한 결과가 데이터 사전(Data-Dictionary)이라는 특정한 파일에 여러 개의 테이블로 저장된다.

    - 데이터 정의 언어의 기능 : 외부 스키마 명세 정의, 데이터베이스 정의 및 수정, 스키마에 사용되는 제약 조건에 대한 명세 정의, 데이터의 물리적 순서 규정


    * 데이터 조작 언어 (DML : Data Manipulation Language) = 서브 언어

    - 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자(응용프로그램)와 DBMS 간의 인터페이스를 제공한다.

    - 응용 프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작 할 수 있도록 하기 위해 C, COBOL 등의 호스트 언어에 DB기능을 추가시켜 만든 언어이다.

    - 대표적인 데이터 조작어(DML)에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적(Non procedural) 데이터 언어이다.


    * 데이터 제어 언어 (DCL : Data Control Language)

    - 무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어이다.

    - 데이터를 보호하고 데이터를 관리하는 목적으로 사용된다.

    - 데이터 제어 언어의 기능 : 불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안(Security), 데이터의 정확성을 위한 무결성(Integrity) 유지, 시스템 장애에 대비한 데이터 회복과 병행수행 제어


    010 기타 데이터베이스 사용자


    * DBA (Database Administrator)

    - DB 시스템의 모든 관리와 운영에 대한 책임을 지고 있는 사람이나 그룹을 의미

    - DB 구성요소 결정

    - 개념 스키마 및 내부 스키마 정의

    - DB의 저장 구조 및 접근 방법 정의

    - 보안 및 DB의 접근 권한 부여 정책 수립

    - 장애에 대비한 예비(Backup) 조치와 회복(Recovery)에 대한 전략 수립

    - 무결성을 위한 제약 조건의 지정

    - 데이터 사전의 구성과 유지 관리

    - DBMS의 선택, 보완, 평가에 대한 책임

    - 사용자의 요구와 불평의 청취 및 해결

    - 변화 요구에 대한 적응과 성능 향상에 대한 감시

    - 시스템 감시 및 성능 분석

    - 데이터 사용 추세, 이용 형태 및 각종 통계 등을 종합, 분석


    * 응용 프로그래머

    - 응용 프로그래머는 일반 호스트 언어로 프로그램을 작성할 때 데이터 조작어를 삽입해서 일반 사용자가 응용 프로그램을 사용할 수 있게, 인터페이스를 제공할 목적으로 DB에 접근하는 사람들이다.

    - 응용 프로그래머는 C, COBOL, PASCAL 등의 호스트언어와 DBMS가 지원하는 데이터 조작어에 능숙한 컴퓨터 전문가이다.


    * 일반 사용자

    - 일반 사용자는 보통 터미널을 이용하여 DB에 있는 자원을 활용할 목적으로 질의어나 응용 프로그램을 사용하여 DB에 접근하는 사람들이다.

    반응형

    댓글

Designed by Tistory.