데이터베이스의 개념

jurin·2020년 7월 28일
2

아이콘 제작자 phatplus from www.flaticon.com


정보 시스템

필요한 data 수집, 저장한 후 필요시에 처리해 유용한 정보를 생성하고 분배하는 수단.

자료 처리 시스템

정보 시스템에 사용할 자료를 정리하는 서브 시스템

  • 일괄 처리 시스템
    - 효율을 높이기 위해 데이터를 모아서 한 번에 처리하는 시스템
    - 시스템 중심의 자료 처리 방법
    - 반환 시간이 늦지만 모든 자원 독점하므로 CPU 유휴시간(쉬는시간)이 줄어듬
    - 순차 접근 방법을 사용하는 업무에 적합
    - 트랜잭션당 처리 비용 적고 시스템 성능 높다.
    ex) 급여 계산, 수도/전기 요금 처리, 연말 결산 등
  • 온라인 실시간 처리 시스템
    - 데이터 발생 즉시 처리하는 방식
    - 사용자 중심의 자료 처리 방법
    - 처리 시간과 비용 단축
    ex) 레이더 추적기, 은행의 on-line 업무 등
  • 분산 처리 시스템
    - 지리적으로 분산되어 있는 여러 대의 컴퓨터를 통신 회선으로 연결하여 논리적으로 하나의 시스템을 사용하는 것처럼 운영하는 방식
    - 각 시스템은 고유의 운영체제와 CPU, 메모리를 갖고 있음
    - 복잡하지만 신뢰성이 높음

데이터베이스

여러 사람들에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터

  • 통합된 데이터 : 자료의 중복 배제
  • 저장된 데이터 : 접근 가능한 저장 매체에 저장
  • 운영 데이터 : 존재 가치가 확실하고 없어서는 안 될 데이터
  • 공용 데이터 : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

DB 구성요소

  • 개체 : 파일 처리 방식의 파일에서 레코드
  • 속성 : 필드(항목)에 해당되는 것으로 개체의 성질을 나타냄
  • 관계 : 개체와 개체 또는 개체와 속성 간의 관계

DB의 특징

  • 실시간 접근성 : 실시간 처리에 의한 응답이 가능해야 함
  • 계속적인 변화 : DB는 동적. 새로운 데이터의 삽입, 갱신, 삭제로 항상 최신의 데이터 유지
  • 동시 공용 : 다수의 사용자가 같은 내용의 데이터를 이용할 수 있어야 함
  • 내용에 의한 참조 : 데이터를 참조할 때 주소나 위치가 아닌 요구하는 데이터 내용으로 참조

DB 시스템

DB를 이용하여 자료를 저장하고 관리하여 정보를 얻어내는 데 필요한 컴퓨터 중심의 시스템


DBMS

사용자와 DB 사이에서 사용자의 요구에 따라 정보를 생성, 관리 해주는 소프트웨어
기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 DB를 공용할 수 있도록 관리

DBMS 발전 배경

기존의 파일 처리 방식은 업무마다 데이터 파일을 독립적으로 구성하기 때문에 중복 저장되는 데이터 중복성과 데이터 간의 상호 의존 관계에 따른 데이터 종속성을 초래함

  • 종속성 문제
    - 상호 의존적인 관계에서 저장되는 방법이나 접근 방법을 변경할 때 응용 프로그램도 같이 변경해주어야 하는 문제 발생

  • 중복성 문제
    - 일관성 : 중복된 데이터 간 불일치
    - 보안성 : 중복된 데이터에 동등한 보안수준을 유지하기 어려움
    - 경제성 : 저장공간 낭비, 동일한 데이터 반복 작업 비용
    - 무결성 : 제어의 분산으로 데이터의 정확성 유지 불가능

DBMS의 필수 기능

  • 정의(Definition) 기능
    - DB에 저장될 데이터의 Type과 구조, 제약 조건 등 명시
    - 데이터 간 관계 명확하게 명세

  • 조작(Manipulation) 기능
    - 검색, 갱신, 삽입, 삭제 등을 위해 사용자와 DB 사이 인터페이스 수단 제공

  • 제어(Control) 기능
    - 무결성 유지되도록 제어
    - 보안 유지와 권한 검사
    - 여러 사용자가 DB를 동시 접근하여 데이터를 처리할 때 정확성을 유지하도록 병행 제어(Concurrency Control)할 수 있어야 함

DBMS의 장단점

  • 장점
    - 논리적, 물리적 독립성 보장
    - 비용 절약
    - 일관성, 무결성, 보안, 가장 최신의 데이터 유지
    - 실시간 처리 가능
    - 표준화, 통합 관리

  • 단점
    - 전산화 비용
    - 과부하, 복잡
    - 예비(Backup)와 회복 어려움


스키마

- DB의 구조와 제약 조건에 관한 전반적인 병세를 기술한 메타데이터의 집합
- DB를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의
- 사용자 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어짐

스키마의 특징

  • 스키마는 데이터 사전(Data Dictionaty)에 저장되며 메타데이터(Meta-Data)라고도 한다.
  • 특정 데이터 모델을 이용하여 만듬
  • 데이터의 구조적 특성(불변). 인스턴스에 의해 규정.

스키마 3계층

DBMS는 외부적 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경하고 이를 다시 내부적 스키마에 적합한 형태로 변환함

  • 외부 스키마 = 서브 스키마 = 사용자 View
    - 외부 스키마는 사용자 입장에서 필요로 하는 DB의 논리적 구조를 정의한 것
    - 일반 사용자는 SQL을 이용하여 DB 사용하고 프로그래머는 C 등의 언어로 DB 접근
    - 여러 외부 스키마 존재 가능

  • 개념 스키마 = 전체적인 View
    - DB의 전체적인 논리적 구조로 하나만 존재한다.
    - 개체간의 관계와 제약 조건 나타내고 DB 접근 권한, 보안 및 무결성 규칙에 관한 명세 정의
    - DBA에 의해 구성

  • 내부 스키마 = 저장 스키마
    - 물리적 저장장치의 입장에서 본 DB 구조
    - 물리적인 구조를 정의하고, 물리적 순서 등을 나타냄
    - 시스템 설계자 관점의 스키마


DB 언어

DB를 구축하고 이용하기 위한 DB 시스템과의 통신 수단으로써 DBMS를 통해 사용하며 기능과 목적에 따라 DDL, DML, DCL로 구분함

  • 데이터 정의 언어(DDL)
    - DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어
    - 번역한 결과가 데이터 사전에 여러 개의 테이블로 저장
    - 외부 스키마 명세 정의
    - DB의 논리적, 물리적 구조 및 구조 간 사상 정의
    - 스키마에 사용되는 제약 조건에 대한 명세 정의
    - 데이터의 물리적 순서 규정

  • 데이터 조작 언어(DML)
    - 사용자가 데이터를 처리할 수 있게 하는 도구로 사용자(응용 프로그램)와 DBMS 간의 인터페이스 제공
    - FORTRAN, COBOL 등의 호스트 언어에 DB 기능을 추가하여 만든 언어
    - 대표적으로 질의어(SQL)가 있으며 질의어는 터미널에서 주로 이용하는 비절차적 데이터 언어임

DML 형태

  • 절차적 조작 언어 : 필요한 데이터를 어떻게 구하는지 절차에 맞게 구체적으로 명시
  • 비절차적 조작 언어 : 어떤 데이퍼가 필요한지만 명시하고 어떻게 구하는지는 명시하지 않는 언어로 쉽지만 비효율적

DML의 조건

  • 사용하기 쉽고 자연 언어에 가까워야 함
  • 데이터에 대한 연산뿐만 아니라 관계를 정확하고 완전하게 명시할 수 있어야 함
  • 데이터 제어 언어(DCL)
    - 데이터 정확성을 윟나 무결성 유지, 보안 및 권한 제어, 시스템 장애에 대비한 회복과 병행수행 제어 등을 하기 위한 언어
    - 데이터를 보호하고 관리하는 목적으로 사용

DBA

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

응용 프로그래머

일반 호스트 언어로 프로그램을 작성할 때 DML을 삽입하여 일반 사용자가 응용 프로그램을 사용할 수 있게 인터페이스를 제공할 목적으로 DB에 접근. C 등의 호스트 언어와 DBMS가 지원하는 데이터 조작어에 능숙해야 함

일반 사용자

터미널을 이용하여 DB의 데이터를 활용할 목적으로 질의어나 응용 프로그램을 사용하여 DB에 접근하는 사람들


profile
anaooauc1236@naver.com

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정리 잘하셨네요 많은 도움 얻었습니다.
감사합니다.

답글 달기