데이터베이스의 이해

데이터베이스 사용의 의미

데이터 사용자가 데이터를 저장하는 곳에 직접 접근하지 않고 , 모든 것들은 데이터베이스에 일임해서 실질적으로 데이터에 접근하는 건 데이터베이스만 가능하도록 만든것이 데이터베이스의 사용의미이다. 즉, 데이터 사용과 데이터 관리 영역을 분리하여 바로 넘나들지 못하도록 못하도록 만든 것이 큰 의미이다.

 

데이터베이스의 특징

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

▶ 데이터와 데이터의 정의 및 설명(메타데이터)을 포함

2. 프로그램과 데이터의 격리 및 추상화

  사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상

3. 다중 뷰 제공

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

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

  다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행

 

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

값, 데이터, 메타데이터

DBMS의 3단계 구조

내부단계 : 물리적인 사항 저장

개념단계 : 전체적인 데이터의 규모, 구조, 의미

외부데이터 : 실제 사용자가 필요한 데이터를 볼 수 있는 부분만 창을 열어준 것. 일반 사용자는 어느디스크에서 데이터를 가져오는지까지 알 필요 없음.

 > 각 단계를 연결해주는 매개체 필요 : 사상

개념-내부 사상 : 개념단계 - 내부단계 연결, 어떤 데이터가 어느 디스크로 매핑이 돼 ~

외부-개념 사상 :  외부단계 - 개념단계 연결, 이 사용자는 어떤 데이터만 보여주면 돼 ~

DBMS의 3단계 구조의 예

다수 사용자 트랜잭션 처리

1. 트랜잭션의 정의

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

데이터베이스  관련 용어

1. 데이터(data): 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명

2. 데이터 베이스(database): 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합

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

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

데이터베이스의 구성요소

데이터베이스 언어

1. DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공

2. 역할에 따라 종류의 언어로 구분

  데이터 정의 언어 (DDL)

  데이터 조작 언어(DML)

3. 현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL

데이터 정의 언어

1. DDL : Data Definition Language

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

3. DDL 의 요구 기능

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

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

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

데이터 조작 언어

1. DML :  Data Manipulation Language

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

3. DML의 요구 조건

▶ 데이터 조작이 쉽고 간편

▶ 데이터 조작 기능이 정확하고 완전

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

 

 

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

1. 중앙집중식 방식

▶ 단일 서버가 다수의 클라이언트 장치를 대신하여 작동

▶ 중앙 컴퓨터의 과부하로 전체적인 성능 저하

2. 분산시스템 방식

 클라이언트 장치의 성능향상으로 자체적인 처리 능력 보유

  클라이언트-서버 데이터베이스 시스템

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

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

정리

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