📚데이터베이스의 탄생

데이터베이스는 네크워크, 정보 수집 및 분석 기술 등의 발전으로 다뤄야할 데이터량이 많아지면서 데이터를 편리하고 효과적으로 저장하고 조작할 수 있도록 만들어진 기술입니다.




📚데이터베이스 시스템의 개요

데이터베이스 관리 시스템(DBMS)은 한 조직의 연관된 데이터의 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장하는 소프트웨어 패키지입니다.

DBMS와 함께 사용자에게 서비스 형태로 제공되는 애플리케이션이 포함된 시스템을 데이터베이스 시스템이라고 합니다.




📚데이터베이스 관리 시스템의 목적

DBMS가 사용되기 전에 대부분의 시스템은 파일 처리 시스템을 기반으로 운용되었습니다. 하지만 파일 처리 시스템은 데이터의 종속, 데이터의 중복, 데이터의 무결성 훼손 및 동시 접근 이상과 같은 문제점들을 가지고 있습니다.


📄데이터의 종속

데이터가 특정 프로그램에 종속된다면 데이터 구조가 변경될 때 프로그램의 구조도 변경되어야 하므로 프로그램 유지보수에 많은 비용이 소요됩니다. DBMS는 데이터를 프로그램과 완전히 독립시켜 종속으로 인한 문제를 해결합니다.


📄데이터의 독립성

  • 논리적 데이터 독립성
  • 물리적 데이터 독립성


📄데이터의 중복

하나의 사항에 대한 데이터가 여러 파일에 중복되어 저장되는 문제를 데이터 중복성이라고 합니다.

  1. 일관성 문제
  2. 보안성 문제
  3. 경제성 문제


📄데이터의 무결성 훼손

데이터베이스에서 관리되는 데이터의 정확성을 보장하는 것을 데이터 무결성이라고 합니다.


📄동시 접근 이상

한 데이터에 대한 수정이 동시에 발생한 경우 비정상적인 데이터 수정이 일어날 수 있습니다.




📚데이터베이스 관리 시스템의 특징

DBMS는 파일 처리 시스템의 데이터 종속, 무결성 훼손 및 동시 접근 이상 등의 문제가 발생하지 않도록 새로운 기능과 장치를 제공합니다.


📄프로그램과 데이터의 독립성 및 추상화

DBMS에서는 데이터 파일의 구조가 프로그램으로부터 분리되어 시스템 카탈로그에서 별도 관리됩니다.


📄자기 기술성

DBMS는 데이터 자체뿐만 아니라 데이터에 대한 정의나 의미까지 관리합니다.


📄다중 뷰

DBMS는 사용자의 역할과 권한에 맞는 데이터에 접근할 수 있도록 데이터베이스에 대해 필요한 부분만을 추출해서 제공할 수 있는 뷰기능을 지원합니다.


📄다수 사용자 요청 처리

DBMS에는 다수 사용자가 동일한 데이터를 동시에 접근 및 변경하는 경우에도 문제가 발생하지 않도록 트랜잭션과 동시성 제어 기법이라는 기능이 내장되어 있습니다.




📚데이터베이스 관리 시스템의 구조

📄데이터 추상화

  1. 내부 단계: 가장 낮은 추상화 단계, 내부 스키마에 의해 기술. 원시 수준의 데이터 정의
  2. 개념 단계: 전체 구조를 추상화하는 단계, 개념 스키마를 통해 기술
  3. 외부 단계: 추상화의 최상위 단계, 외부스키마, 뷰에 의해 기술


📄단계 간 사상

  1. 외부-개념 사상: 논리적 데이터 독립성 확보
  2. 개념-내부 사상: 물리적 데이터 독립성 확보




📚데이터베이스 언어

📄데이터 정의 언어(DDL)

데이터베이스 스키마와 데이터에 대한 부가적인 특징을 표현합니다.


📄데이터 조작 언어(DML)

DDL에 의해 구조화된 데이터에 사용자가 데이터를 삽입, 수정, 삭제, 검색할 수 있도록 지원하는 언어입니다.


  • 절차적 DML: 사용자가 필요한 데이터를 어떻게 구할 것인지를 구체적으로 명시하는 유형.
  • 비절차적 또는 선언적 DML: 사용자가 요구하는 데이터가 무엇인지만 기술하는 유형.




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

📄중앙집중식 데이터베이스 관리 시스템 구조

메인프레임 컴퓨터 하나로 DBMS의 모든 기능, 응용프로그램, 사용자 인터페이스 등을 모두 처리하는 구조입니다. 중앙 서버에 많은 부하가 집중되어 병목현상으로 인한 성능저하 및 오류 발생시 전체 시스템이 중단되는 문제가 있습니다.



📄클라이언트-서버 구조

중앙집중식의 문제를 해결하기 위해 클라이언트-서버 환경이 발전하였습니다.

  1. 2계층 클라이언트-서버 구조
    단순함과 기존 시스템과의 하위 호환성이 장점입니다. 클라이언트 쪽으로 사용자 인터페이스와 프로그램이 이동하였고, 서버 쪽으로 DBMS가 이동하였습니다.


  1. 3계층 클라이언트-서버 구조
    클라이언트와 데이터베이스 서버 사이에 애플리케이션 서버를 추가하였습니다. 이 서버는 데이터베이스 서버에 저장된 데이터에 접근하는데 사용되는 비즈니스 규칙들을 저장하는 역할을 수행합니다.




📚데이터베이스 사용자 및 관리자

📄데이터베이스 사용자

데이터를 사용 및 처리하고자 하는 사람들입니다.

  • 일반 사용자
  • 애플리케이션 프로그래머
  • 전문 사용자
  • 특수 사용자


📄데이터베이스 관리자

데이터베이스와 DBMS, 관련 소프트웨어를 관리하고 감독하는 사람들입니다. 데이터베이스 관리자(DBA)의 임무는 아래와 같습니다.

  1. 설계
  2. 관리
  3. 운용 및 통제
  4. 성능 측정


Leave a comment