[CS.데이터베이스 시스템] 1. 데이터베이스의 이해

박두팔이·2023년 3월 9일
0

CS컴퓨터과학

목록 보기
2/13

1. 데이터베이스의 역할

데이터 관리의 필요

데이터의 단위를 살펴보자.

  • bit: 0,1을 나타내는 가장 작은단위
  • byte: bit * 8
  • KB(kilobyte): 우리가 흔히 사용하는 작은 썸네일
  • MB(megabyte)
  • GB(gigabyte): 저화질의 영화, 클래식 음악 등
  • TB(terabyte): 고화질의 영화 100편정도의 양
  • PB(petabyte): google메일의 하루의 양이 약 4~6PB라고 한다.
  • EB(exabyte): 냉장고 보다 더 큰 데이터보관소
  • ZB(zettabyte): 데이터베이스 센터 등 (축구경기장의 4~8배)
  • YB(yottabyte): 아직까지는 없다.

빅데이터 처리

데이터가 많아질 수록 내가 필요로하는 데이터를 찾는데까지 시간이 오래걸린다.
즉, 데이터의 양과 시간은 비례한다.

파일 처리 시스템?

  • 파일처리 시스템이란? 데이터베이스가 개발되기 전 데이터 관리에 사용하는 방식이었다.
  • 각각의 애플리케이션이 데이터를 하나의 데이터 파일에 저장하고 관리하는 시스템이다.

이로인해,
💡 1. 데이터 종속의 문제

1) 물리적 데이터 종속
: 저장된 데이터가 특정 하드웨어에서만 사용되는 문제

2) 논리적 데이터 종속
: 저장된 데이터가 특정 소프트웨어에서만 사용되는 문제

💡 2. 데이터 중복의 문제

: 동일한 사항에 대한 중복데이터는 일관성, 보안성, 경제성 측면에서 문제가 발생한다.

  • 일관성: 하나의 사실에 대해 데이터 값을 유지해야한다.
  • 보안성: 같은 데이터에 같은 수준의 보안을 유지
  • 경제성: 데이터에 대해 최소한의 저장 공간 만을 점유

💡 3. 무결성 훼손의 문제
: 실세계의 데이터는 데이터가 가질 수 있는 가능 범위가 있다.
: 가능범위(=도메인) 이름은, String타입으로 되어있고 length()는 3~4글자라는 규칙을 의미한다.

💡 4. 동시 접근의 문제
: 동일 데이터에 다수 사용자가 접근하는 것을 데이터가 허용하게 될 때 일관성이 훼손된다.

이러한 문제를 보완하기 위해 나온 것이 데이터 베이스이다.


데이터 베이스?

데이터베이스의 정의

⭐️ 데이터베이스는 애플리케이션(데이터 사용자)이 데이터를 관리하는 디스크에 직접 접근하지 않고, 아래의 그림처럼 데이터 베이스에게 데이터에 접근하는 권한을 일임하여 애플리케이션이 더이상 데이터를 직접 수정, 생성하지 못하도록 관리하는 장치라고 할 수 있다.

데이터 베이스의 특징

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

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

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

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


1. 데이터 베이스 시스템의 자기 기술성

데이터베이스 시스템의 구성?

⭐️ 메타데이터란?

데이터와 데이터에 따른 값의 의미가 기술 된 것이다.

DBMS 3단계 구조

  • 내부단계: 데이터가 기억장소에 저장되기 위한 물리적 구조를 정의한다. 각각의 전체데이터(개념단계에 있는 데이터들)가 어떠한 저장장치에 저장되어있는지 알수있다. 즉, 어떤 데이터가 어디에 저장되는지 알수있음
  • 개념단계: 데이터베이스의 논리적인 전체데이터의 구조를 알려준다. 어떤의미의 어떤 구조의 데이터가 있는지 알려줌
  • 외부단계: 실제 사용자가 필요한 데이터를 보여줌. 물리적으로 데이터가 어디에 저장되어있는지 알 필요가 없다.

4. 데이터 공유와 다수 사용자 트랜잭션 처리

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

데이터베이스의 특징중 가장 큰 특징은, 트랜잭션의 개념을 도입하여 일관성 훼손의 발생을 막을 수 있다.

데이터란, 어떠한 사실에 대해 특징을 나타낼 수 있는 값과 값에 대한 설명이다.

데이터베이스란, 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합이다.

데이터베이스 관리 시스템(DBMS): 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지.

데이터베이스 시스템: 정보를 데이터베이스에 저장,관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템이다.


정리하기

✅ 기존 전산 시스템, 스마트 기기, 소셜 미디어, IoT 센서 등 사회 트렌드의 변화로 대량의 데이터가 저장 및 활용되고 있어 데이터 관리가 점차 중요해지고 있다.

✅ 파일 처리 시스템은 프로그램이 직접 데이터에 접근하여 데이터를 저장 및 사용하는 데이터의 중복성, 데이터의 종속성, 데이터의 무결성 훼손, 그리고 동시 접근 이상의 문제점을 내포한다.

✅ 데이터베이스는 파일 처리 시스템과 달리 자기 기술성, 추상화, 다중 뷰, 동시성 제어 등의 기능을 통해 파일 처리 시스템의 문제점을 극복한다.

✅ 데이터베이스 시스템은 3단계 구조, 즉 외부 단계, 개념 단계 그리고 내부 단계로 구성된다. 외부 단계는 사용자 뷰를 나타내며, 개념 단계는 데이터베이스의 논리적인 전체 구조를 나타내고, 내부 단계는 데이터가 기억장소에 저장되기 위한 물리적 구조를 정의한다.

✅ 각 단계 간의 접속에서 특정 외부 스키마와 개념 스키마 간의 대응 관계를 정의한 외부-개념 사상과, 개념 스키마와 내부 스키마 간의 대응 관계를 정의한 개념-내부 사상에 의해 연관성을 갖는다.

✅ 데이터베이스 언어란 데이베이스 사용을 위한 언어 형태의 인터페이스로 데이터 정의 언어(DDL)와 데이터 조작 언어(DML)로 구성된다.

✅ DBMS는 전체 시스템을 구성하는 방식에 따라 중앙집중식과 분산 시스템 방식으로 아키텍처를 구성할 수 있다.

profile
기억을 위한 기록 :>

0개의 댓글