[DB] 데이터베이스의 이해

Database 강의 1강

Posted by Sol on February 23, 2021 · 3 mins read

데이터베이스의 역할

데이터 저장에 파일 시스템을 사용한다면

일관성 ,보안성, 경제성, 무결성 훼손, 동시접근의 문제를 마주하게 된다.

따라서, 데이터베이스가 등장하여 저장공간과 애플리케이션의 중간에서 데이터의 처리를 담당하게 되었다.

즉, 데이터의 사용데이터의 관리의 역할을 분리하는 것이 데이터베이스의 기능이다.


용어의 정리

  • 데이터 : 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값
  • 데이터베이스 : 특정 기관의 어플리케이션 시스템에서 사용되는 데이터의 집합
  • DBMS : 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지 ex) ORACLE, MySQL


데이터베이스와 값, 데이터, 메타데이터

숫자 12가 있을때, 이것은 데이터가 아니라 하나의 값(value)이다.

만약 이 12가 ‘오늘 낮 최고기온 12도‘가 된다면 이것이 데이터(Data)이다(의미를 가진다).

그리고 오늘 / 낮 최고기온이라는 부연설명을 메타데이터(스키마)라고 한다. 즉 데이터에 부여하는 의미 그 자체가 메타데이터이다.

DMBS는 데이터와 함께 메타데이터도 다른 공간에 저장해놓는데,

그래야 데이터에 의미를 부여할 수 있기 때문이다.

메타데이터 = 스키마

스키마는 DB구조, 자료의 표현방법, 자료 간의 관계 등 구조 및 제약 조건에 관한 전반적인 명세를 정의한 구조이다.


데이터베이스의 3단계 구조

image

(출처 : http://www.databaser.net/moniwiki/)


일반 사용자는 외부단계만 볼 수 있으며,

개념적 스키마와 내부 스키마는 철저히 숨겨져있다.

일반사용자는 내 계좌에 돈이 얼마인지만 알면 되지,

내 계좌가 어떤 데이터구조로 어떻게 저장되어있는지 알 필요가 전혀 없기 때문이다.

각 단계별로는 사상이 존재한다. 개념-내부사상 및 외부-개념사상이 있다.

  • 외부 단계 : 실제 데이터를 사용하는 단계
  • 개념 단계 : 프로그래머들이 다루는 영역. ‘어떤 의미의 데이터가 어떻게 추상화되어있다
  • 내부 단계 : 실제 데이터의 보관. 어떤 데이터가 어떤 물리장비에 저장되어 있다


데이터베이스의 역할 - 다수 사용자 트랜잭션 처리

동일 데이터에 다수의 사용자가 접근하는 것을 막음으로서, 데이터의 일관성을 유지한다.

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


데이터베이스 언어

DBMS에 질의를 하는 명령어를 데이터베이스 언어라고 하고,

그 역할과 기능에 따라 **2가지 **종류의 언어로 구분된다.

  • 데이터 정의 언어(DDL) - Data Definition Language
    • 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어 - 테이블의 구조를 정의하는데 사용되는 언어.
    • 데이터의 논리적 구정이나 특징을 구정
    • 데이터가 기억장치에 저장되도록 데이터의 물리적 구성을 규정
    • 물리적 구성을 논리적 구성으로 변환이 가능하도록 둘 간의 사상을 규정
    • CREATE, ALTER, DROP, RENAME, TRUNCATE
  • 데이터 조작 언어(DML) - Data Manipulation Language
    • 사용자가 데이터에 접근 및 조작할 수 있도록 지원하는 언어(CRUD)
    • SELECT(Retrieve) INSERT, UPDATE, DELETE

현대 데이터베이스 언어는 SQL, NoSQL 등이 있다.


데이터베이스 System Architecture

(1) 중앙집중식 방식

  • 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
  • 중앙 컴퓨터가 과부화될 가능성이 있어 전체적인 성능이 저하됨.
  • 저렴하게 운영 가능하다.

(2) 분산 시스템 방식

  • 클라이언트 장치의 성능 향상으로 인해 자체적인 처리 능력 보유
  • 클라이언트 - 서버 데이터베이스 시스템
  • 어플리케이션 프로그램의 부하를 분산시킴
  • 유지보수 비용 절감 및 이식성 증가

위 내용은 ‘방송통신대학교’의 데이터베이스 강의 내용을 요약 정리한 것임을 밝힙니다. (https://www.knou.ac.kr/)