데이터베이스: Introduction

2023-06-11 00:00:00

Untitled

데이터베이스

  • 조직에 필요한 정보를 논리적으로 연관된 데이터를 구조적으로 통합
  • 특정 조직의 여러 사용자가 공유해 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
  • 정의
    • 공유 데이터: 여러 사용자
    • 통합 데이터: 중복 최소화 => 중복으로 인한 데이터 불일치 제거
    • 저장 데이터: 컴퓨터 저장장치에 저장
    • 운영 데이터: 업무를 위한 검색/변경을 할 목적
  • 특징
    • 실시간 접근성: 수 초 내에 반환
    • 계속 변화: 시간에 따라 값 변경 발생. 삽입/삭제/수정 가능
    • 내용 기반 참조: 데이터의 물리적 위치가 아닌 내용에 따라 참조
    • 동시 공유: DB에 접근하는 프로그램은 여러개.

Quiz

  • 같은 내용의 데이터를 여러 사람이 동시에 공용할 수 있다. (T)
  • 데이터베이스는 데이터의 삽입, 삭제, 수정으로 내용이 계속 변한다. (T)
  • 수시로 이루어지는 사용자 질의에 대하여 실시간 처리로 응답할 수 있어야 한다. (T)
  • 데이터의 참조는 저장되어 있는 데이터의 주소나 위치에 의해 이루어진다 (F)

DBMS (Data Base Management System)

정의/등장배경/장단점

⁠⁠⁠파일 시스템의 문제 해결 위해 제시, 조직에 필요한 데이터를 DB에 통합해 저장/관리

why? 데이터를 파일로 관리하기 위한 “파일 시스템"의 문제점: 데이터 중복 저장으로 인한 저장공간의 낭비, 데이터 일관성/무결성 유지 어려움

→ DBMS!

  • 장점
    • 중복통제 → 독립성/무결성 확보
    • 동시 공유
    • 데이터 보안 향상
    • 표준화
    • 장애 발생 시 회복 가능
    • 프로그램 개발 비용 감축
  • 단점
    • 비싼 비용
    • 복잡한 백업/회복
    • 중앙관리로 인한 취약점

데이터베이스 시스템

  1. 언어: 사용목적에 따라 구분
    • DDL: 정의어. 스키마 정의/수정/삭제
    • DML: 조작어. 데이터의 삽입/삭제/수정/검색
    • DCL: 제어어. 필요한 규칙/기법 정의
  2. 사용자: 이용 목적에 따라 구분
    • 데이터베이스 관리자: DDL/DCL 이용 (응용 프로그래머와 다름!!)
    • 최종(일반) 사용자: DML 이용 (응용 프로그램의 이용자는 아님)
    • 응용 프로그래머: DML 이용
  3. DBMS
    • 기능: 데이터의 정의/조작/제어/추출
  4. 개념적 구조: 3단계 구조화
    • 표준화 기관 ANSI/SPARC에서 제안
    • 단계별 다른 추상화 레벨을 제공, 내부에서 외부로 갈수록 추상화 레벨 높아짐
    • 3단계
      • 외부 단계: 개별 사용자 관점 (고객분석팀과 상품분석팀에서 각각 쓰는 고객에 대한 다른 정보들.. 파편화)
      • 개념 단계: 조직 전체의 관점 (모아서 만든 고객정보, 추상화됨)
      • 내부 단계: 물리적 저장장치의 관점 (어떤 타입인지 길이는 어떤지 등 실제 데이터가 어떻게 저장되게 할지)
  5. 데이터 모델
    • 개념적 모델링: 중요 데이터를 개념 세계로 이동 ex) 개체-관계 모델
    • 논리적 모델링: 개념 세계의 데이터를 DB에 저장하는 구조로 표현 ex) 관계 데이터 모델