정보처리기사_필기_데이터베이스 - Gakgu/Gakgu.github.io GitHub Wiki

데이터베이스

정보시스템

  • 정보시스템의 정의
    의사 결정에 유용한 정보를 생성하고 분배하는 수단.
  • 정보의 정의
    의사 결정에 도움을 줄 수 있는 자료를 가공해서 얻는 결과물.
  • 자료(데이터)의 정의
    현실에서 수집한 사실이나 결과값.
  • 자료(데이터) 처리 시스템
    자료를 정보로 가공(처리)하는 정보 시스템의 서브 시스템.
  • 데이터웨어 하우스
    주요 업무 시스템에서 추출된 데이터베이스.

데이터베이스

정의

  • 통합된 데이터(Integrated Data)
    중복을 배제한 데이터
  • 저장된 데이터(Stored Data)
    저장 매체에 저장된 데이터
  • 운영 데이터(Operational Data)
    조직의 업무를 수행하는데 필요한 데이터
  • 공용 데이터(Shared Data)
    여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터

특징

  • 실시간 접근성(Real Time Accessibility)
    실시간 처리에 대한 응답이 가능하다.
  • 계속적인 변화(Continuous Evolution)
    항상 최신 데이터를 유지한다.
  • 동시 공유(Concurrent Sharing)
    여러 사용자가 동시에 데이터를 이용할 수 있다.
  • 내용에 의한 참조(Content Reference)
    사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

DBMS

기존 파일 처리 방식의 문제점

  • 종속성
    응용 프로그램과 데이터가 상호 의존적이기 때문에 변경할 때 같이 변경해야 한다.
  • 중복성
    • 일관성
      중복된 데이터 간의 내용이 불일치할 수 있다.
    • 보안성
      중복된 데이터끼리 같은 수준의 보안성을 유지하기 어렵다.
    • 경제성
      중복된 데이터의 반복작업, 저장공간의 낭비로 인한 비용이 증가한다.
    • 무결성
      제어의 분산으로 데이터의 정확성을 유지하기 어렵다

정의

  1. 데이터 타입과 구조, 제약조건을 명시하는 기능이다.
  2. 데이터끼리의 관계를 명확하게 명세할 수 있어야 한다.
  3. 데이터 연산은 무엇이든 명세할 수 있어야 한다.

필수기능

  • 조작
    • 데이터 접근 수단(검색, 갱신, 삽입, 삭제 등)을 정하는 기능
  • 제어
    • 데이터의 무결성이 유지되도록 하는 기능
    • 보안을 유지하는 기능
    • 권한을 검사할 수 있는 기능
    • 병행제어를 할 수 있는 기능

장점, 단점

독립성

  • 논리적 독립성
    응용프로그램과 데이터베이스의 상호간 의존성을 제거한다.
  • 물리적 독립성
    응용프로그램과 물리적 장치의 의존성을 제거한다.

스키마(Schema) = 메타 데이터(Meta-Data)

정의

데이터베이스의 구조, 제약조건에 관한 명세를 기술하는 것
데이터 개체, 속성, 관계, 제약조건을 정의하는 것 데이터 사전에 저장됨

스키마의 3계층

  • 개념 스키마 or 전체적인 뷰 일반적인 스키마는 개념 스키마를 의미한다.
    데이터베이스의 전체적인 논리적 구조다.
    데이터베이스 관리자에 의해 구성된다. 기관이나 조직의 관점에서 DB를 정의한 것.
    하나만 존재한다.
  • 외부 스키마 or 서브스키마 or 사용자뷰
    사용자나 응용 프로그래머가 정의한 데이터베이스의 논리적인 구조다. 하나의 DB에 여러개의 외부 스키마가 존재할 수 있다. 하나의 외부 스키마를 여러 사용자가 공유할 수 있다. 서로 다른 관점을 정의할 수 있다. 일반적인 사용자는 SQL을 사용하여 DB를 사용한다.
  • 내부 스키마 DB의 물리적 구조를 정의한다.
    물리적 저장장치의 입장에서 본 데이터베이스 구조다.
    물리적인 구조, 저장된 데이터의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
    시스템 프로그래머나 시스템 설계자가 보는 관점이다.
    데이터의 실제 저장 방법을 기술한다.