본문 바로가기
DB/이론 및 개념

#01. 데이터베이스 개념 및 데이터베이스 시스템 (+DBMS)

by 파프리카_ 2023. 8. 9.
728x90
반응형

[[_TOC_]]

1. 데이터베이스 개념

1-1. 데이터베이스의 등장

파일 시스템

  • 데이터 베이스 이전에는 파일 시스템을 사용

파일 시스템 : 응용프로그램마다 서로 다른 데이터파일 사용

ex)

수강신청 응용 프로그램 <- 파일처리코드 A -> 수강신청 데이터파일

성적처리 응용 프로그램 <- 파일처리코드 B -> 성적처리 데이터파일

졸업사정 응용 프로그램 <- 파일처리코드 B -> 졸업사정 데이터파일

  • 파일 시스템의 문제점
    • 데이터 종속성의 증가 - 파일 변경 시, 응용 프로그램의 파일처리코드 변경 필요
    • 데이터 중복성의 증가 - 수강신청 데이터파일과 성적처리 데이터파일에 겹치는 데이터가 존재할 수 있으며, 데이터 일관성과 무결성의 유지가 어렵다

데이터 시스템의 등장

  • 데이터베이스 시스템 : DB + DBMS
  • DBMS
    • 데이터베이스 관리 시스템 : 응용프로그램에서 DB에 접근할 수 있도록 해주는 소프트웨어 시스템
  • 데이터 베이스란?
    • 보다 효율적이고 체계적으로 활용하기 위해 엄격한 제약을 갖는 데이터 저장소
    • 여러 사용자나 응용 프로그램들이 함께 사용할 목적으로 체계적으로 통합하여 저장한 데이터들의 저장소
  • 데이터베이스의 특징
    • 실시간 접근 : 사용자의 데이터 요구에 실시간 응답
    • 끊임없는 변화 : 계속해서 최신 데이터로 변경
    • 동시 공용 : 여러 사용자가 동시에 공용
    • 내용 기반 참조 : 데이터의 저장 위치가 아닌 값(키워드)를 이용하여 데이터 접근 가능하도록

2. 데이터베이스 시스템

2-1. 데이터 베이스 시스템 구성요소

구성 요소

  • 데이터 베이스 사용자 : 어떤 목적으로 사용하는가
  • 데이터 언어 : 데이터베이스 접근하기 위한 명령문
  • 데이터베이스 관리 시스템 : 사용자 <-> DB 사이의 처리 중재자
  • 데이터베이스 서버 : DB 저장 및 처리 역할의 컴퓨터
  • 데이터베이스 모델 : 데이터 저장을 위한 체계화된 구조

데이터 베이스 사용자

  • 접근 방식활용 목적 에 따라 분류
  1. 일반 사용자
    1. 초급 사용자 : DB존재 아예 X
    2. 중급 사용자 : CRUD 정도는 O
  2. 응용 프로그래머 : 프로그램 개발자
  3. 데이터베이스 관리자(DBA) : DB 시스템 관리 총괄

데이터 언어

  • 데이터베이스 접근하기 위한 명령문

  • DBMS에 요청 내용을 전달하기 위한 도구

  • SQL - Structured Query Language

    DDL : 데이터베이스 테이블 구조 담당(CREATE, ALTER, DROP)

    DML : 데이터베이스 안의 데이터 조작 (C-INSERT, R-SELECT, U-UPDATE, D-DELETE)

    DCL : 데이터베이스를 제어/통제 (GRANT, REVOKE, COMMIT, ROLLBACK)

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

  • 사용자와 데이터베이스 사이의 중재자 역할
  • 다양한 사용자나 응용프로그램이 데이터베이스를 함께 사용할 수 있도록 지원
  • SQL을 해석 & 실행하는 데이터베이스 시스템 구성요소 중 하나가 DBMS
  • 구성요소
    • 쿼리 처리기
    • 런타임 데이터베이스 처리기 - 트랜잭션 관리기
    • 데이터 저장 관리기 - 버퍼 관리기/파일 관리기

데이터베이스 서버

  • DB 저장 및 처리 역할의 컴퓨터

데이터베이스 모델

  • 데이터를 저장하기 위한 체계화된 구조의 다양한 방법

  • 종류

    • 계층형 데이터 모델 (HDM)
    • 네트워크형 데이터 모델 (NDM)
    • 관계형 데이터 모델 (RDM)
    • 객체 지향형 데이터 모델 (OODM)
    • 객체 관계형 데이터 모델 (ORDM)
  • 데이터 모델과 DBMS의 관계

    • 데이터 모델에 따라 지원하는 DBMS가 달라진다
    데이터모델 데이터베이스 DBMS DBMS 예
    관계형(RDM) RDB(SQL DB) RDBMS 오라클, MS SQL, MySQL
    비관계형 NoSQL DB NoSQL DBMS 몽고DB, 레디스(Redis)
  • NoSQL DB
    • 빅데이터와 비정형 데이터의 저장 및 관리 기술이 대두되며 등장
    • 스키마 리스 : 유연한 구조와 확장성, 고성능에 특화

2-2. 3단계 데이터베이스

스키마

스키마란 ?

  • 데이터베이스 안에 저장되는 데이터 구조와 제약조건 등을 정의한 것
  • 동일 데이터베이스여도 관점에 따라 스키마는 다르다.
  • ANSI에서 제시한 방법에 따라 3종류로 나뉜다.

종류 관점 대상 데이터베이스당 스키마의 개수
외부 스키마 개인적 관점 데이터베이스 일부 여러 개
개념 스키마 전체 조직적 관점 데이터베이스 전체 한 개
내부 스키마 저장 장치 관점 추상화된 표현
(물리적 저장 방식X)
-
  • 내부스키마 : 개념 스키마에 대한 시스템 내부의 저장 방식 / 내부 레코드의 형식이나 배치방법, 인덱스 등에 대한 명세

데이터 사전

  • 사용자가 외부 스키마로 접근 시, 미리 정의된 사상 관계를 통해 개념 스키마/내부 스키마로 변환이 이루어짐
  • DBMS는 스키마와 스키마 사상 정보를 데이터 사전이라는 별도의 저장소에 관리
  • 구성 요소
    • 데이터베이스 정의, 명세
    • 스키마와 스키마 간의 사상 정보, 제약 조건 등
    • 데이터 베이스 객체에 관한 모든 데이터
    • => DBMS가 스스로 생성+유지
  • 그 자체가 하나의 데이터베이스 = 시스템 데이터 베이스 = 시스템 카탈로그

데이터 독립성

  • 응용 프로그램과 데이터 사이의 독립성 제공
  • 데이터의 논리적/물리적 구조가 변경되어도 응용 프로그램이 영향을 직접 받지 않음
728x90
반응형