제목

데이터베이스 학습(1)-데이터베이스 시스템 기본 이론 이해하기

   2023년04월08일     5분읽었습니다.

학교에서 공부하는 데이터베이스 내용을 정리하는 포스트입니다.
이번 포스트에서는 데이터베이스 시스템의 기본 이론에 관해 포스트하겠습니다.


개요

학교에서 배운 DB에 대한 내용을 정리하는 포스트입니다.
이번에는 데이터베이스 소개를 하고, 여러 용어들을 정리하겠습니다. 그 후 데이터베이스와 DBMS에 대해 더 자세히 알아보고, 데이터베이스를 컨트롤 하도록 만들어진 SQL에 대해서도 알아보겠습니다.

목차

  1. 데이터베이스 소개
  2. 기본 용어 정의
  3. SQL
  4. 3-Level DB
  5. DBMS의 기능
  6. 데이터베이스의 주요 특징
  7. 데이터베이스의 단점

데이터베이스 소개

  • 과거 각 프로그램들이 자체 데이터를 정의하고 관리할 때 데이터 분리 및 격리, 데이터의 중복, 데이터 종속성, 파일의 비호환성 등의 문제가 발생해 정보의 고급 관리 기술이 필요해졌습니다.
  • 그래서 조직의 정보 요구 사항을 충족하도록 논리적으로 관련된 데이터 공유 모음으로 설계된 데이터베이스가 만들어지게 되었습니다.
    • 숫자나 문자 데이터베이스와 같은 일반적인 애플리케이션과
    • 최근에는 따라 실시간 데이터베이스나 멀티미디어 데이터베이스를 사용하는 애플리케이션도 많습니다.

기본 용어 정의

  • 데이터: 기록될 수 있고 함축적인 의미를 가지고 있는 알려진 사실
  • 데이터베이스: 관련 데이터의 공유 모음입니다.
  • 데이터베이스 관리 시스템(DBMS): 전산화된 데이터베이스의 생성 및 유지를 용이하게하는 소프트웨어 패키지나 시스템
  • 스키마: 데이터베이스 구조에 대한 전반적인 설명을 제공합니다.

SQL의 데이터 언어

  • DDL(Data Definition Language): 데이터베이스 스키마 지정(데이터베이스의 구조와 테이블, 뷰, 인덱스와 같은 개체를 정의합니다)
    • Create(생성), Alter(변경), Drop(삭제)
  • DML(Data Manipulation Language): 데이터를 조작하는 명령어
    • Delete(삭제), Insert(삽입), Select(검색), Update(갱신)
  • DCL(Data Control Language): 데이터를 제어하는 명령어
    • Grant(사용자에게 권한을 부여), Revoke(사용자의 권한을 제거)

3-레벨 데이터베이스

3레벨 데이터베이스 아키텍저와 관련된 3가지의 스키마가 존재합니다.

  • 외부 스키마: 데이터베이스에 대한 개별 사용자 관점
  • 개념적 스키마: 데이터베이스를 사용하는 조직의 관점
  • 내부 스키마: 데이터베이스의 물리적 관점

데이터 독립성

논리적 데이터 독립성
외부 스키마나 애플리케이션 프로그램을 변경하지 않고 논리 스키마를 변경하는 것을 의미합니다.
\n 물리적 데이터 독립성 논리적 스키마를 변경하지 않고 물리적 스키마를 변경하는 것을 의미합니다.

전형적인 DBMS의 기능

  • 데이터 유형, 구조 및 제약 조건 측면에서 특정 데이터베이스를 정의합니다.
  • 보조 저장 매체에 초기 데이터베이스 콘텐츠를 구성하거나 불러옵니다.
  • 검색, 수정과 같은 데이터베이스 조작이 가능합니다.웹 애플리케이션을 통해 데이터베이스에 액세스할 수 있습니다.
  • 멀티 사용자 및 응용 프로그램들이 처리와 공유을 할 수 있게 합니다.
  • 무단 액세스를 방지하기 위해 보호 또는 보안 조치를 진행합니다.
  • 데이터 표현 및 시각화를 해줍니다.
  • 데이터베이스 응용 프로그램의 수명 동안 데이터베이스 및 관련 프로그램을 유지합니다.

데이터베이스 접근 방식의 주요 특징

  • 프로그램과 데이터 사이의 관계에 신경 쓰지 않아도 됩니다.
    • 프로그램에 대해 데이터 독립성을 가집니다.
    • DBMS 접근 프로그램 변경 없이 데이터 구조 및 저장 구성을 변경할 수 있습니다.
  • 데이터베이스 시스템의 설명이 자체적으로 저장됩니다.
    • DBMS 카탈로그는 특정 데이터베이스에 대한 설명(메타데이터)을 저장하고 있습니다.
    • DBMS 소프트웨어가 다른 데이터베이스 응용 프로그램과 함깨 작동할 수 있습니다.
  • 데이터 추상화
    • 데이터 모델은 저장소 세부 정보를 숨기고 사용자에게 데이터베이스의 개념적 뷰를 제공하는데 사용됩니다.
    • 프로그램은 데이터 저장 세부 사항이 아닌 구성된 데이터 모델을 참조합니다.
  • 다양한 데이터 보기를 지원합니다.
    • 각 사용자는 해당 사용자가 관심 있는 데이터만 설명하는 데이터베이스의 다른 뷰를 볼 수 있습니다.
  • 데이터 공유 및 다중 사용자 트랜잭션 처리
    • 일련의 동시 사용자가 데이터베이스에서 검색하고 데이터베이스를 업데이트하도록 허용합니다.
    • DBMS 내 동시 제어는 각 트랜잭션이 올바르게 실행되거나 중단되도록 보장합니다.
    • 복구 하위 시스템은 완료된 각 트랜잭션의 효과가 데이터베이스에 영구적으로 기록되도록 합니다.
    • OLTP는 데이터베이스 애플리케이션의 주요 부분입니다. 이를 통해 초당 수백개의 동시 트랜잭션을 실행할 수 있습니다.

데이터베이스 사용자

  • 실제로 데이터베이스 콘텐츠를 사용하고 제어하는 사람과 데이터베이스 응용 프로그램을 설계, 개발 및 유지 관리하는 사람
  • DBMS 소프트우어 및 관련 도구를 설계하고 개발하는 사람과 컴퓨터 시스템 운영자

데이터베이스 접근 방식 사용의 이점

데이터베이스 접근 방식의 다른 의미

데이터베이스 접근 방식의 단점

데이터베이스 기술의 발전 역사

DBMS는 어떨때 사용하면 안될까?

참고

OLTP의 자세한 설명

참고 자료

  1. 학교 보조자료