데이터베이스 개요

clay·2023년 2월 3일
0

소프트웨어 개발

목록 보기
5/47
post-thumbnail

데이터저장소

데이터저장소는 소프트웨어 개발 과정에서 다루어야 할 데이터들은 논리적인 구조로 조작화하거나, 물리적인 공간에 구축한 것을 의미한다.

  • 데이터저장소는 논리 데이터저장소와 물리 데이터자장소로 구분된다.
  • 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것을 의미한다.
  • 물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 자장한 것을 의미한다.
  • 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일하다.

데이터베이스

데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다.

  • 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임이다.
  • 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다.
  • 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다.
  • 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다.

DBMS(Database Management System, 데이터베이스 관리 시스템)

DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어이다.

  • DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다.
  • DBMS는 데이터베이스의 구성, 접근 방법, 유지관리에 대한 모든 책임을 진다.
  • DBMS의 필수 기능에는 정의(Definition), 조작(Manipulation), 제어(Control) 기능이 있다.
  • 정의 기능: 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능이다.
  • 조작 기능: 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리학 ㅣ위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능이다.
  • 제어 기능
    ➡️ 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어해야 한다.
    ➡️ 정당한 사용자가 허락된 데이터만 접근할 수 있도록 보안을 유지하고 권한(Authority)을 검사할 수 있어야 한다.
    ➡️ 여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때 처리 결과가 항상 정확성을 유지하도록 병행 제어(Concurrency Control)를 할 수 있어야 한다.

DBMS의 장∙단점

장점

  • 데이터의 논리적, 물리적 독립성이 보장된다.
  • 데이터의 중복을 피할 수 있어 기억 공간이 절약된다.
  • 저장된 자료를 공동으로 이용ㅇ할 수 있다.
  • 데이터의 일관성을 유지할 수 있다.
  • 데이터의 무결성을 유지할 수 있다.
  • 보안을 유지할 수 있다.
  • 데이터를 표준화할 수 있다.
  • 데이터를 통합하여 관리할 수 있다.
  • 항상 최신의 데이터를 유지한다.
  • 데이터의 실시간 처리가 가능하다.

단점

  • 데이터베이스의 전문가가 부족하다.
  • 전산화 비용이 증가한다.
  • 대용량 디스크로의 집중적인 Access로 과부하(Overhead)가 발생한다.
  • 파일의 예비(Back up)와 회복(Recovery)이 어렵다.
  • 시스템이 복잡하다.

데이터의 독립성

데이터의 독립성은 종속성에 대비되는 말로 DBMS의 궁극적 목표이다. 데이터의 독립성에는 논리적 독립성과 물리적 독립성이 있다.

  • 논리적 독립성: 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는다.
  • 물리적 독립성: 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립시킴으로써, 데이터베이스 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만을 변경한다.

스키마

스키마(Schema)는 데이터베이스의 구조와 제약 조건에 대한 전반적인 명세(Specification)를 기술(Description)한 메타데이터(Meta-Data)의 집합이다.

  • 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
  • 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어진다.

외부 스키마

  • 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.

개념 스키마

  • 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재한다.
  • 개체 간의 관계와 제약 조건을 나타내고, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 대한 명세를 정의한다.

내부 스키마

  • 물리적 저장장치의 입장에서 본 데이터베이스 구조로서, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
profile
샤코타임 팬

0개의 댓글