본문 바로가기
KNOU/요약정리

[데이터베이스시스템] 데이터 베이스의 이해

by bottlesun 2024. 5. 25.
728x90

데이터베이스의 역할

데이터 관리의 필요

대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조 하는 장치

데이터 → (저장) → 데이터 관리 장치 → (검색) → 필요 데이터

데이터 관리의 역사

1946 - 컴퓨터가 만들어짐 → 1956 - 저장장치 도입 → 1960 - 파일 처리 시스템 →

1970 - IBM사 SQL → 1980 - 데이터 웨어하우스 → 1990 - 웹의 등장 →

2000중반 - 클라우드 컴퓨팅 → 2000말 - 빅데이터 분석 - 2015년~ - IoT 와 AI의 등장

전통적 데이터 관리 방식

학적 애플리케이션[학적 업무] ↔ [학적 파일] 파일 처리 시스템

성적 애플리케이션[성적 업무] ↔ [성적 파일] 파일 처리 시스템

수강 애플리케이션[수강 업무] ↔ [수강 파일] 파일 처리 시스템

파일 처리 시스템

  1. 데이터베이스가 개발되기 전에 데이터 관리에 사용
  2. 업무 별 애플리케이션이 개별 데이터를 데이터 파일 저장.관리하는 시스템
  3. 발생 가능한 문제
  • 데이터 종속의 문제
  • 데이터 중복의 문제
  • 무결성 훼손의 문제
  • 동시 접근의 문제

데이터 종속의 문제

  1. 저장된 데이터가 특정 H/W 에서 또는 사용자 및 S/W만 사용될 수 있도록 제한되는 문제
  • 데이터가 디스크에서 꽉 차면 일부 데이터를 추가적으로 신규 디스크를 사용해 나눠서 적용한다.
  • 데이터의 수정이나 변경이 있을 경우 두번 세번 작업 해야 하는 문제가 발생 (물리적 데이터 종속)
  • 데이터를 표현하는 논리적인 구조를 일부 변경 했을 때, 같은 방식으로 사용 할 수가 없다. (논리적 데이터 종속)

데이터 중복의 문제

  1. 동일한 사항에 대한 중복 데이터는 일관성, 보안성, 경제성 측면에서 문제 발생
  • 일관성 : 한 사실에 대해 한 개의 데이터 값을 유지
  • 보안성 : 같은 데이터에 같은 수준의 보안 유지
  • 경제성 : 데이터에 대한 최소한의 저장 공간 만을 점유

강의 내용 이미지 발췌

무결성 훼손의 문제

  1. 실세계의 데이터는 데이터가 가질 수 있는 범위가 있다. (제약 조건)
  • 현상에 대한 값의 예시) “홍길동” 의 수강 과목
  • 가능 범위의 예시) 1학기 최대 수강과목 18학점
  1. 데이터 무결성
  • 데이터의 정확성 보장
  • 데이터의 값과 값에 대한 제약 조건을 동시에 만족
  1. 파일 시스템은 데이터 무결성을 보장하기 위한 기능을 제공하지 않음

동시 접근의 문제

  1. 동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손

강의 내용 이미지 발췌 2

데이터베이스의 특징

데이터베이스 사용의 의미

데이터의 사용(애플리케이션) 영역과 데이터의 관리(디스크) 영역이 직접적으로 연결 되어 있어서 문제가 발생이 되었다. 그것을 보완하기 위해 사용. (중간다리역할)

  1. 데이터베이스 시스템의 자기 기술성
  • 데이터와 데이터의 정의 및 설명(메타데이터)을 포함
  1. 프로그램과 데이터의 격리 및 추상화
  • 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
  1. 다중 뷰 제공
  • 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
  1. 데이터 공유와 다수 사용자 트랜잭션 처리
  • 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행

강의 내용 이미지 발췌 3
강의 내용 이미지 발췌 4

값, 데이터, 메타 데이터

  • 값 - 단순 value 값 ex ) 12
  • 데이터 - value 에 두 가지 이상의 의미가 붙어 있는 경우 ex ) 낮 최고 기온 (오늘) - 12
  • 메타 데이터 - 값의 의미를 부여하는 부연 설명

DBMS의 3단계 구조

외부 단계

  • 실제 데이터를 사용하는 사람이 구조나 의미를 알 필요 없이 그대로 사용 가능하도록 감싸는 레이어 단계
  • ex) 학적 관리 팀 (필요한 데이터만 골라 받기) , 학사 운영 팀 (필요한 데이터만 골라 받기)

개념 단계

  • 일반 사용자나 프로그래머가 전체적인 데이터 구조를 보는 단계
  • ex) 학생 데이터, 수강 데이터 … 과목 데이터

내부 단계

  • 어떻게 저장 할 것 인지에 대한 고민을 하는 단계
  • ex) 학생 데이터의 디스크 1 , 학생 데이터의 디스크 2

다수 사용자 트랜잭션 처리

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

데이터베이스 관련 용어

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

데이터베이스의 구성요소

데이터베이스 언어

  • DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
  • 역할에 따라 종류의 언어로 구분

→ 데이터 정의 언어(ddl) , 데이터 조작 언어(dml)

  • 현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL로 표준화

데이터 정의 언어 (DDL) data definition language

  • 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어
  • 요구 기능

→ 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성이나 특징을 규정

→ 데이터가 기억 장치에 저장되도록 데이터의 물리적 구성을 규정

→ 물리적 구성을 논리적 구성으로 변환이 가능하도록 데이터의 물리적 구성과 논리적 구성 간의 사상을 규정

데이터 조작 언어 (DML) data manipulation language

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

→ 데이터 조작이 쉽고 간편

→ 데이터 조작 기능이 정확하고 안전

→ 사용자의 요청을 시스템 내부에서 효율적으로 처리 가능

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

  1. 중앙 집중 방식
  • 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
  • 중앙 컴퓨터의 과부하로 전체적인 성능 저하
  1. 분산 시스템 방식
  • 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유
  • 클라이언트 - 서버 데이터베이스 시스템

→ 애플리케이션 프로그램의 부하를 분산

→ 소프트웨어의 유지보수 비용을 절감 및 이식성 증가

강의 내용 이미지 발췌 5

728x90

댓글