Home [데이터베이스 시스템] 1강 - 데이터의 이해
Post
Cancel

[데이터베이스 시스템] 1강 - 데이터의 이해

💡해당 게시글은 방송통신대학교 정재화 교수님의 '데이터베이스 시스템' 강의를 개인 공부 목적으로 메모하였습니다.



학습 개요


  • 실세계의 방대한 데이터를 효과적으로 처리하기 위해서는 데이터베이스 응용이 필수적임
  • 최근 데이터 생성과 관련된 기술의 등장으로 데이터를 관리하고 효과적으로 사용하기 위한 데이터베이스의 역할이 더욱 중요해지고 있음
  • 따라서 데이터베이스의 기본적인 특징 및 구조에 대한 이해가 반드시 선행되어야 함
  • 데이터베이스란 무엇이며, 기존 파일 처리 시스템과는 어떤 차이점이 있는지 알아보고, 데이터 모델, 데이터베이스 3단계 구조 등 데이터베이스의 특징과 장단점을 학습함
  • 데이터베이스 사용자 유형에 따른 역할과 데이터베이스의 구조 등 데이터베이스와 관련한 전반적인 개념을 학습함



학습 목표


  • 파일 처리 시스템과 데이터베이스 시스템의 차이점을 설명할 수 있음
  • 데이터베이스의 특징을 이해할 수 있음
  • 데이터베이스 시스템의 구성 요소를 나열할 수 있음



주요 용어


  • 파일 처리 시스템
    • 파일을 사용하여 업무에 해당하는 데이터를 관리하는 방식
  • 데이터베이스 관리 시스템(DBMS)
    • 정보를 데이터베이스에 저장·관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
  • DBMS 3단계 구조
    • 데이터 추상화와 데이터 독립성을 확보하기 위한 개념적-논리적-물리적 3단계 구조
  • 트랜잭션
    • 하나의 논리적인 작업을 수행하는 일련의 데이터베이스 명령의 집합



강의록


데이터베이스의 역할

사회 트렌드의 변화

  • 쌓인 데이터들과 다양한 서비스를 연결 시킨 데이터베이스 시스템이 있어야 서비스 가능

    image.png

데이터 생성

  • 시간이 갈 수록 데이터가 빠르게 쌓이고 있음

    image.png

데이터 단위

image.png

  • bit
    • 컴퓨터가 데이터를 처리하는 가장 작은 단위
    • 0과 1
  • byte
    • bit가 8개 모인 데이터 단위
    • 사람이 쓰기 위한 데이터 최소한의 단위
    • ex) 영문자 한단어
  • KB
    • 1024 byte
    • ex) 신문 기사 하나 분량
  • MB
    • 1024 KB
    • ex) 신문, 잡지 하나
  • GB
    • 1024 MB
    • ex) 저화질 영화 한편
  • TB
    • 1024 GB
  • PB
    • 1024 TB
    • ex) 신문 기사 하나 분량
  • EB
    • 1024 PB
    • ex) 하나의 it 공용 기업이 전체적으로 처리하는 데이터 단위
  • ZB
    • 1024 EB

데이터 처리

image.png

  • 데이터 수집, 저장, 분석 단계
    • 판단하기 위해 필요한 정보 만들어낼 수 있음

데이터 관리

  • 대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치에 대한 요구 증가

    image.png

    • 데이터베이스
      • 발생된 데이터 저장하고 필요한 데이터 빠르게 검색해서 제공해주는 장치
      • 한 조직의 여러 응용 시스템을 다수의 사용자공용으로 사용하기 위해 통합, 저장, 관리하는 장치
  • 컴퓨터는 사람과 동일한 방식으로 데이터를 검색, 처리함

    • 각각의 데이터가 조건에 맞는 것인지 일일이 체크 후 사용자에게 제공하기 때문에 많은 시간이 소요됨

데이터 관리의 역사

image.png

전통적 데이터 관리 방식

  • 파일 처리 시스템(file processing system)

    image.png

    • 각각의 애플리케이션이 별도의 파일들을 만들어 저장, 관리함

파일 처리 시스템

  • 데이터베이스가 개발되기 전 데이터 관리에 사용
  • 업무별 애플리케이션에서 사용하는 데이터를 개별 데이터 파일에 저장, 관리하는 시스템
  • 발생 가능한 문제
    • 데이터 종속의 문제
    • 데이터 중복의 문제
    • 무결성 훼손의 문제
    • 동시 접근의 문제

데이터 종속의 문제

  • 저장된 데이터가 특정 H/W에서 또는 특정 사용자 및 S/W에서만 사용될 수 있도록 제한되는 문제

    image.png

    • 물리적 데이터 종속
      • 약간의 물리적 변화에도 동작하지 않을 수 있음
    • 논리적 데이터 종속
      • 데이터 기록 순서, 방법이나 형태, 인코딩 변경 될 경우에도 동작하지 않을 수 있음

데이터 중복의 문제

  • 동일한 사항에 대한 중복된 데이터는 일관성, 보안성, 경제성 측면에서 문제 발생의 원인

    image.png

    • 일관성
      • 한 사살에 대해 한개의 데이터 값을 유지
    • 보안성
      • 같은 데이터에 같은 수준의 보안 유지
    • 경제성
      • 데이터에 대해 최소한의 저장 공간만을 점유

무결성 훼손의 문제

  • 실 세계의 데이터는 데이터가 가질 수 있는 가능 범위(제약 조건)를 포함
    • ex) 데이터 : 홍길동의 수강 학점
    • ex) 가능 범위 : 한 학기 최대 수강 학점 18학점
  • 데이터 무결성의 정의
    • 데이터 정확성을 보장
    • 데이터의 값과 값에 대한 제약 조건을 동시에 만족
  • 파일 처리 시스템은 데이터 무결성을 보장하기 위한 기능을 제공하지 않음
    • 데이터의 신뢰성이 저하됨

동시 접근의 문제

  • 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손

    image.png

데이터베이스의 특징

데이터베이스 사용 의미

image.png

  • 애플리케이션이 파일에 직접적으로 접근하지 못하도록 함
    • 애플리케이션의 요청을 받아 관리하며 파일에 각각 접근하여 애플리케이션에 전달
  • 데이터 사용, 관리하는 영역 분리

데이터베이스의 특징

  • 데이터베이스 시스템의 자기 기술성
    • 데이터와 데이터의 정의 및 설명(메타 데이터)를 포함
    • 자기가 저장하고 있는 데이터가 무엇인지 명확하게 알고 있음
  • 프로그램 데이터의 격리 및 추상화
    • 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
  • 다중 뷰 제공
    • 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
  • 데이터 공유와 다수 사용자 트랜잭션 처리
    • 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업 수행

데이터베이스 시스템의 구성

image.png

  • 시스템 카탈로그
    • 데이터에 관련된 여러가지 사항들을 저장하고 있는 메타 데이터의 집합
    • 저장한 데이터의 의미 등을 관리해주는 집합
    • DBMS가 자동적으로 관리해주는 정보

값, 데이터 그리고 메타 데이터

image.png

  • 메타 데이터
    • 값에 의미를 부여하는 또 다른 개념이 2개 이상 붙을 경우 그 값을 메타 데이터라 함
  • 값, 그리고 메타 데이터가 함께 관리되어야 데이터의 역할을 수행할 수 있음

DBMS의 3단계 구조

  • 어떠한 데이터를 저장할 때 DBMS가 3단계의 구조로 나눠서 저장함
  • 서로 다른 정보의 수준을 다루는 세 개의 정보 집합

    image.png

    • 외부 스키마
      • 사용자 별 접근 권한에 따라 뷰 제공
    • 개념 스키마
      • 데이터 베이스의 전체 구조와 각각의 관계
    • 내부 스키마
      • 물리적으로 어떻게 저장되어있는가?
  • 개념, 내부 사상 통해 물리적 데이터 종속 피할 수 있음
  • 외부, 개념 사상 통해 논리적 데이터 종속 해결

    image.png

    • 외부 단계
      • 사용자가 직접적으로 볼 수 있음
    • 개념 단계
      • 데이터의 구조 형식을 볼 수 있음
    • 내부 단계
      • 데이터가 물리적으로 어떻게 저장되어 있는지 다룸

다수 사용자 트랜잭션 처리

  • 트랜잭션의 정의
    • 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합

      image.png

데이터베이스 관련 용어

  • 데이터(data)
    • 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명
  • 데이터베이스(datbase)
    • 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
    • 특정 목적에 맞춰 관리되는, 집합화 된 데이터
    • 주제 지향적인 데이터의 집합
  • 데이터베이스 관리 시스템(DBMS)
    • 데이터베이스에 저장된 데이터의 구성, 저장, 관리 사용을 위한 소프트웨어 패키지
  • 데이터베이스 시스템(database system)
    • 정보를 데이터베이스에 저장, 관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템

데이터베이스 시스템 구성 요소

데이터베이스 언어

  • DBMS 는 사용자가 데이터를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
    • 정확한 결과를 위해서는 부탁도 명확히 해야 함
  • 역할에 따라 종류의 언어로 구분
    • 데이터 정의 언어(DDL)
    • 데이터 조작 언어(DML)
  • 현대의 데이터베이스 언어는 자연어와 유사한 형태의 SQL로 표준화

데이터 정의 언어

  • DDL(Data Definition Language)
    • 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어
  • DDL의 요구 기능
    • 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성이나 특징을 규정
    • 데이터가 저장장치에 저장되도록 데이터의 물리적 구성을 규정
    • 물리적 구성을 논리적 구성으로 변환이 가능하도록 데이터의 물리적 구성과 논리적 구성 간의 사상을 규정

데이터 조작 언어

  • DML(Data Manipulation Language)
    • 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)
  • DML의 요구 조건
    • 데이터 조작이 쉽고 간편
    • 데이터 조작 기능이 정확하고 완전
    • 사용자의 요청을 시스템 내부에서 효율적으로 처리 가능

데이터베이스 시스템 아키텍처

  • 아키텍처 (architecture)
    • 전체적인 구조, 골조
      • 데이터를 관리하는 DBMS 서버와 DBMS 에 접근해 데이터를 사용하는 애플리케이션으로 구성
    • 서버와 애플리케이션 구조, 관계를 정의
  • 중앙 집중 방식

    image.png

    • 단일 서버가 다수의 터미널을 대신하여 데이터 처리
    • 중앙 서버의 과부하로 전체적인 성능 저하
    • dbms 서버가 데이터의 전반적인, 모든 관리와 처리 담당
    • 구성 간편해 비용 저렴하게 데이터베이스 시스템 구축 가능
  • 클라이언트-서버(분산 처리) 방식

    image.png

    • 클라이언트의 성능 향상으로 자체적인 처리 능력 보유
    • 애플리케이션 프로그램의 부하를 분산
    • 소프트웨어의 유지 보수 비용을 절감 및 이식성 증가
    • 2 계층 구조
      • 서버와 클라이언트가 논리적으로 분리되어 있는 상태에서 연결되어 데이터베이스 시스템을 구성하는 방식
    • 3 계층 구조
      • 작업에 변화가 있더라도 단순히 애플리케이션 서버를 변경함으로써 유연하게 변화에 대응 가능
    • 데이터베이스 시스템 설계 복잡하고 중앙 집중 방식보다 구축 비용 증가



연습 문제


  1. 다음 중 파일 처리 시스템의 데이터 중복으로 발생할 수 있는 문제가 아닌 것은?

    a. 통일성

    • 파일 처리 시스템은 데이터 중복을 방지할 수 없으며, 이로 인에 데이터의 보안성, 경제성, 일관성 측면에서 문제가 발생함
  2. 데이터베이스 3단계 구조에서 논리적 데이터 독립성이 확보되는 과정은?

    a. 외부-개념 사상

    • DBMS는 데이터의 추상화를 위해 외부-개념-내부 3단계로 구조화되며, 외부-개념 사상 과정에서 논리적 데이터 독립성, 개념-내부 사상을 통해 물리적 데이터 독립성이 확보됨
  3. 구조화된 데이터에 사용자가 데이터를 삽입 · 수정 · 삭제하고 저장된 데이터를 검색할 수 있도록 지원하는 데이터베이스 언어는?

    a. 데이터 조작 언어, DML(Data Manipulation Language)

    • DBMS 인터페이스인 데이터베이스 언어는 데이터 조작 언어와 데이터 정의 언어로 구분되며, 이 중 데이터 조작 언어(DML)는 데이터 정의 언어로 구조화된 데이터에서 다양한 유형의 데이터 조작을 지원하는 명령어로 구성됨



정리 하기


  • 기존 전산 시스템, 스마트 기기, 소셜 미디어, IoT 센서 등 사회 트렌드의 변화로 대량의 데이터가 저장 및 활용되고 있어 데이터 관리가 점차 중요해지고 있음
  • 파일 처리 시스템은 프로그램이 직접 데이터에 접근하여 데이터를 저장 및 사용하는 데이터의 중복성, 데이터의 종속성, 데이터의 무결성 훼손, 그리고 동시 접근 이상의 문제점을 내포함
  • 데이터베이스는 파일 처리 시스템과 달리 자기 기술성, 추상화, 다중 뷰, 동시성 제어 등의 기능을 통해 파일 처리 시스템의 문제점을 극복함
  • 데이터베이스 시스템은 3단계 구조, 즉 외부 단계, 개념 단계 그리고 내부 단계로 구성됨
    • 외부 단계는 사용자 뷰를 나타냄
    • 개념 단계는 데이터베이스의 논리적인 전체 구조를 나타냄
    • 내부 단계는 데이터가 기억 장소에 저장되기 위한 물리적 구조를 정의함
  • 각 단계 간의 접속에서 특정 외부 스키마와 개념 스키마 간의 대응 관계를 정의한 외부-개념 사상과, 개념 스키마와 내부 스키마 간의 대응 관계를 정의한 개념-내부 사상에 의해 연관성을 갖음
  • 데이터베이스 언어란 데이베이스 사용을 위한 언어 형태의 인터페이스로 데이터 정의 언어(DDL)와 데이터 조작 언어(DML)로 구성됨
  • DBMS는 전체 시스템을 구성하는 방식에 따라 중앙집중식과 분산 시스템 방식으로 아키텍처를 구성할 수 있음



강의 체크 포인트


  1. 시스템 카탈로그에 대한 설명으로 틀린 것은?

    a. 시스템 카탈로그에 대한 갱신은 데이터베이스의 무결성 유지를 위하여 사용자가 직접 갱신해야 한다.

    • 시스템 카탈로그에 대한 설명
      • 시스템 카탈로그는 DBMS가 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다.
        • 테이블
          • 데이터베이스가 데이터를 저장하기 위한 가장 기본적인 집합체, 구조
      • 시스템 카탈로그 내의 각 테이블은 DBMS에서 지원하는 개체들에 관한 정보를 포함한다.
      • 일반 사용자도 시스템 카탈로그의 내용을 검색할 수 있다.
  2. 다음 설명에 해당하는 것은?

    1
    
     물리적 저장 장치의 입장에서 본 데이터 베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
    

    a. 내부 스키마

[파이썬 프로그래밍 기초] 1강 - 컴퓨터의 이해

[파이썬 프로그래밍 기초] 2강 - 컴퓨터의 구성