방송통신대학교/데이터베이스

[데이터베이스] 1강. 데이터베이스의 이해

idleday 2023. 3. 9. 23:31

1. 데이터베이스의 역할


1) 데이터 관리의 필요

데이터 관리 장치
  •  대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치
  • IoT => Big Data => AI
데이터 단위
  • 1PB = 1024TB
  • 1TB = 1024GB
  • 1GB = 1024MB
  • 1MB = 1024KB
  • 1KB = 1024byte
  • 1byte = 8bit

 

2) 데이터 관리의 역사

컴퓨터 (1946)
저장장치 도입 (1956)
파일 처리 시스템 (1960초)
IBM사 SQL (1970s)
데이터 웨어하우스 (1980s)
웹의 등장 (1990s)
클라우드 컴퓨팅 (2000중반)
빅데이터 분석 (2000말)
IoT와 AI 등장 (2015~)

 

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

파일을 사용하여 업무에 해당하는 데이터를 관리하는 방식
데이터베이스가 개발되기 전에 데이터 관리에 사용
업무별 애플리케이션이 개별 데이터를 데이터 파일에 저장 및 관리하는 시스템

 

파일 처리 시스템의 문제점

  1. 데이터 종속
    저장된 데이터가 특정 H/W에서 또는 사용자 및 S/W만 사용될 수 있도록 제한되는 문제 
    • 물리적 데이터 종속 : 신규데이터 추가할 경우, 하드웨어 상태 변경시 애플리케이션 수정 등 신속 대응 어려움
    • 논리적 데이터 종속 : 데이터 저장순서 등 데이터의 논리적인 구조가 변경될 경우, 별도의 애플리케이션 수정 필요
  2. 데이터 중복
    동일사항에 대한 중복데이터는 일관성, 보안성, 경제성 측면에서 문제
    • 일관성 : 한 사실에 대해 한 개의 데이터 값을 유지 (일관성 훼손 = 데이터 정합성 감소)
    • 보안성 : 같은 데이터에 같은 수준의 보안 유지 (보안성 유지해야 할 데이터가 늘어나 관리 어려움)
    • 경제성 : 데이터에 대해 최소한의 저장공간만 점유 (불필요한 저장공간 필요)
  3. 무결성 훼손
    실세계의 데이터는 데이터가 가질 수 있는 값의 범위(제약조건)를 포함
    • 데이터 무결성 : 데이터의 정확성, 데이터의 값과 값에 대한 제약조건을 동시에 만족
  4. 동시 접근
    동일 데이터에 다수 사용자 접근 허용시 일관성 훼손

 


2. 데이터베이스의 특징


1) 데이터베이스 사용의 의미

데이터 사용과 데이터 관리 영역을 분리하여 데이터베이스를 통해서만 실질적인 데이터에 접근 가능

 

2) 데이터베이스(DB)의 특징

  1. 데이터베이스 시스템의 자기 기술성
    데이터와 데이터의 정의 및 설명(메타데이터)을 포함

  2. 프로그램과 데이터의 격리 및 추상화
    사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성 향상

  3. 다중 뷰 제공
    각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능

  4. 데이터 공유와 다수 사용자 트랜잭션 처리
    다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업 수행

 

3) DBMS의 구성

  • 저장된 데이터베이스 정의 (메타데이터)
  • 저장된 데이터베이스

 

4) DBMS 3단계 구조(3-level database architecture)

데이터의 추상화와 데이터 독립성을 확보하기 위한 외부-개념-내부 3단계 구조화
외부 단계 - 뷰/외부스키마 :  사용자가 데이터 관리에 필요한 부분을 표현

외부-개념 사상리적 데이터 독립성
: 개념 스키마(Conceptual Schema) 변경시 외부 스키마 또는 애플리케이션을 변경하지 않아도 되는 특성 

개념단계 - 개념 스키마 : 전체적인 데이터의 규모, 구조와 의미

개념-내부 사상리적 데이터 독립성
: 내부 스키마(Internal Schema) 변경시 개념 스키마 또는 외부 스키마를 변경하지 않아도 되는 특성

내부 단계 - 내부 스키마 :  실제 데이터의 물리적인 저장영역

 


※ 데이터베이스 관련 용어

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

 


3. 데이터베이스의 구성요소


1) 데이터베이스 언어

DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
역할에 따라 두 종류의 언어로 구분 (DDL, DML)
현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL로 표준화

 

데이터 정의 언어 (DDL, Data Definition Language)

데이터베이스 객체를 생성·수정·삭제하기 위한 언어

  • 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성이나 특징을 규정
  • 데이터가 기억장치에 저장되도록 데이터의 물리적 구성을 규정
  • 물리적 구성을 논리적 구성으로 변환 가능하도록 데이터의 물리적 구성과 논리적 구성 간의 사상을 규정

 

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

구조화된 데이터에 사용자가 접근 및 조작(검색·삽입·삭제·수정)할 수 있도록 지원하는 언어

  • 쉽고 간편한 데이터 조작
  • 정확하고 완전한 데이터 조작 기능
  • 사용자의 요청을 시스템 내부에서 효율적으로 처리 가능

 


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

 

중앙집중식 방식

  • 단일 서버다수의 클라이언트 장치를 대신하여 작동
  • 저렴한 구성이지만, 중앙 컴퓨터의 과부하로 전체적인 성능 저하


분산 시스템 방식

  • 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유
클라이언트-서버 데이터베이스 시스템

애플리케이션 프로그램의 부하를 분산
소프트웨어의 유지보수 비용 절감 및 이식성 증가

 

 


※ 정리하기

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