데이터베이스 개요

Updated:

강의

http://www.kocw.net/home/search/kemView.do?kemId=317898

데이터베이스

  • 파일시스템의 문제점인 의존성, 중복성 문제로 이를 해결하기 위해 DB가 나옴

1. 데이터베이스

1.1 정의

  • 어느 한 조직의 여러 응용 시스템이 공유할 수 있도록 통합, 저장된 운영 데이터의 집합

1. 2 의미

  • 통합데이터
    • 사용할 데이터를 한곳에 통합
    • 원칙적으로 데이터 중복하지 않음
  • 저장데이터
    • 기억 장치에 저정되어야 함
    • 응용프로그램이 접근할 수 있어야 함
  • 운영데이터
    • 조직의 공유 기능을 수행하기 위한 필수 데이터
    • 일시적 데이터는 운영데이터가 아님
  • 공유데이터
    • 응용 프로그램이 공통으로 사용 가능한 데이터
    • 공유데이터는 이익목적으로 사용가능

1.3 목적

  • 데이터 독립성 유지
    • 응용프로그램이나 저장구조에 의존하지 않는 독립적인 구성
  • 데이터 무결성 유지
    • 최신의 정확한 데이터 유지
  • 데이터 보안성 유지
    • 데이터 접근 통제로 안전하게 보호
  • 데이터 공유
    • 다수의 사용자 또는 응용 프로그램이 공동 사용
  • 데이터 중복의 최소화
    • 데이터의 일관성과 정확성이 유지될 수 있도록 중복 회피

2. 데이터 베이스 관리 시스템 (DBMS)

  • 응용 프로그램, 사용자와 데이터 베이스의 중계자로서 모든 응용 프로그램이 데이터베이스를 공유할 수 있도록 관리해주는 시스템 소프트웨어

2.1 DBMS의 필수 기능

  • 정의 기능
    • 데이터의 형태, 구조, 저장을 정의한다.
    • 다양한 응용 프로그램과 데이터 베이스간 인터페이스를 제공한다.
    • 데이터베이스의 논리적 구조와 특성을 정의한다.
    • 데이터베이스의 논리적 구조와 물리적 구조(저장구조) 간의 변화를 제공한다.
  • 조작 기능
    • 데이터의 검색, 갱신, 삽입, 삭제 등의 기능을 지원한다.
    • 사용하기 쉽고 명확해야 한다.
    • 효율적이어야 한다.
  • 제어 기능
    • 정당한 사용자가 허용된 데이터에만 접근하도록 권한과 보안통제를 할 수 있다.
    • 데이터베이스 조작이 정확히 실행되고 무결성을 유지한다.
    • 다수 사용자가 동시에 접근해 정확한 결과를 얻을 수 있도록 병행 제어를 한다.

2.2 장단점

  • 장점
    • 데이터 중복의 최소화
    • 데이터 공유
    • 일관성, 무결성 유지
    • 데이터 보안성 유지
    • 표준화 가능
  • 단점
    • 유지비가 많이 듬
    • 복잡성 증가
    • 백업과 복구의 어려움
    • 데이터 처리 성능 향상이 어려움

3. 데이터 베이스 구조

  • 내부스키마(물리적 스키마) : 데이터를 저장하는 파일의 형태를 말함. 이진파일, 텍스트 등의 형태로 저장하겠다라고 정의
  • 개념스키마(논리적 스키마) : 데이터를 저장하기 위한 개념적 형태. 학생 데이터를 저장한다면 학생 데이터에는 이름, 학번, 학과 이렇게 구성된다~ 라는 것을 말함
  • 외부스키마 : 사용자나 응용프로그램이 개념스키마에서 필요한 데이터 골라서 만든 데이터. 학생데이터에서 김씨성을 가진 데이터들을 원한다라는 것을 말함.

  • 데이터를 설계한다? 보통 개념 스키마를 만든다고 함.

3.1 데이터의 독립성

  • 데이터 베이스 구조가 변화하더라도 응용 프로그램이나 저장구조에 영향을 미치지 않도록 하는 것
  • 논리적 데이터 독립성 : 개념 스키마가 바뀌어도 외부에서 원하는 데이터는 바뀌지 않음
  • 물리적 데이터 독립성 : 개념 스키미가 바뀌어도 저장하는 파일의 형태가 바뀌지 않음

4. 데이터 언어

  • 데이터 베이스를 정의하고 접근하여, 데이터베이스를 처리하고 관리하는 언어. 대표적으로 SQL(structured Query Language)이 있음

  • 데이터 정의어(DDL)
    • 데이터 베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어
    • 데이터 베이스의 구조 정의
    • 데이터 사전 또는 시스템 카탈로그를 생성
  • 데이터 조작어(DML)
    • 데이터의 검색, 삽입, 삭제, 변경등 원하는 처리를 지정하는 언어
  • 데이터 제어어(DCL)
    • 데이터를 정확하게 사용하기 위한 규정이나 규칙등을 정의하는 언어
    • 주로, 데이터베이스 관리자(DBA)가 이용
    • 데이터 보안, 정확성을 유지하기 위한 무결성 규칙, 장애에 대배한 데이터 복구 방법, 동시 접근을 위한 병행 제어등을 정의

5. 사용자

  • 일반사용자
  • 응용 프로그래머
  • 데이터베이스 관리자