공부/데이터베이스

[데이터베이스 복습] 데이터의 이해

오잎 클로버 2023. 2. 24. 12:41
728x90

데이터, 정보, 지식에 대한 개념과 특징

1. 데이터

데이터는 현실세계에서 발견, 조사, 수집, 창작을 통해 기초자료만 수집 자원의 형태 그대로의 것을 말한다.

즉, 인간의 가치와 판단이 들어가 있지 않은 상태로, 자연 상태 그대로를 뜻하는 사실(Fact)과 관련이 있다.

 

2. 정보

정보는 다양한 데이터를 목적에 맞게 일정한 규칙에 따라 정리하고 분류하여 체계화한 형태를 의미하며,

데이터를 일정한 양식으로 처리, 가공하면 특정 목적을 달성하는 데 필요한 정보가 생산된다.

 

3. 지식

지식은 수많은 구체화된 정보로부터 일반화된 사항이라고 할 수 있으며, 정보화된 데이터의 의미와 관계를 해석하고

연구하는 과정에서 생성된다. 정보가 지식이 되기 위해서는 정보간의 연관성이 설정되어야 하므로 정보화된 

데이터의 의미 부여와 관계의 해석, 인간의 가치와 판단에 따라 매우 다양할 수 있다. 기업과 기간에서는 의사결정이나 부가가치 창출을 목적으로 이러한 정보나 지식을 관리한다.

 

항목 정의 및 특징 핵심
사실 (Fact) 현실에서 나타나는 무질서한 상태 현상
데이터 (Data) 넓게 존재하는 사실적인 자료 사실적 자료
정보(Information) 데이터가 의미있는 패턴으로 정리된 상태. 데이터를 일정한 프로그램(양식) 처리·가공하여, 특정목적을 달성하는 데 필요한 정보가 생산됨 처리가공
지식 (Knowledge) 동종의 정보가 집적되어 일반화된
형태로 정리된 것
부가가치 / 일반화
지혜 (Wisdom) 개인이 지식을 이해한 상태, 응용 가능한 상태 내재화된 능력

 

데이터베이스의 이해

파일처리시스템의 개념과 특징

특징

  • 응용 프로그램은 응용 프로그래머가 생각하는 논리적 파일 구조를 직접 물리적 파일 구조로 구현해야함
  • 응용 프로그래머는 물리적 데이터구조에 대해 잘 알고 있어야만 데이터에 대한 접근 방법을 응용 프로그램 속에
    구현시킬 수 있음
  • 각 응용 프로그램마다 각자의 데이터 파일을 가지고 있는 환경 하에서 데이터의 공용은 자연히 어렵게 되어 결국
    하나의 파일은 하나의 응용만을 위해 존재하게 됨

문제점

  • 데이터 독립성 보장 미흡 - 프로그램 의존적
  • 데이터 일괄성 보장 문제 - 파일의 시간 의존성(걷어낼 시점별 다른 값)
  • 데이터 무결성 보장 문제 - 의미적으로 같은 값은 동일하게 유지되어야 함
  • 공유성, 사용 편의성 저조 - 낮은 경제성, 보안관리 저조

데이터베이스의 개념과 특징

통합되고, 운영되고, 저장되고, 공유되는 특징을 가지고 있다. 중복된 데이터를 한 군데 집약시켜서 최대한 중복을 배제한 상태에서 관리하게 된다.
분류 내용
통합 데이터 (Integrated Data) 동일한 데이터가 원칙적으로 중복되어 있지 않다는 것을 의미
저장 데이터 (Stored Data) 컴퓨터가 접근 가능한 저장 매체에 저장
운영 데이터 (Operational Data) 한 조작의 고유 기능을 수행하기 위해 필요한 데이터
공용 데이터 (Shared Data) 한 조직의 여러 응용 프로그램이 공동으로 소유, 유지, 이용한는 데이터

 

특징

공용되는 데이터베이스는 프로그래밍 언어를 통해 실시간 접근이 가능하고 입력, 수정, 삭제를 통해 지속적으로 변화하고 있다. 또한 여러 명의 사용자가 동시에 접근하여 사용이 가능하고 데이터의 내용으로써 참조할 수 있는 특징을 가지고 있다.
구분 내용
실시간 접근성 (Real-time Accessibilities) 수시적이고 비정형적인 질의(Query)에 대하여 실시간 응답
계속적인 변화 (Continuous Evolution) 갱신, 삽입, 삭제; 동적 특성
동시 공용 (Concurrent Sharing) 동일 데이터를 여러 사람이 다른 방법으로 동시(Concurrent)에 공용할 수 있도록 지원
내용에 의한 참조 (Contents Reference) 위치나 주소가 아닌, 사용자가 요구하는 데이터의 내용, 
즉 값에 따라 참조

 

데이터독립성과 ANSI-SPARC의 3-Level Database Architecture

데이터 독립성

데이터 독립성의 반대말은 데이터 종속성이라고 정의할 수 있다. 여기서 종속의 주체는 보통 응용프로그램을 지칭한다.응용 프로그램은 사용자 요구사항을 처리하는 사용자 접점의 인터페이스 오브젝트이다.
데이터 독립성은 지속적으로 증가하는 유지보수 비용을 절감하고 데이터 복잡도를 낮추며 중복된 데이터를 줄이기 위한 목적이 있다고 말할 수 있다. 또한 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적으로 데이터 독립성이 출현하였다고 할 수 있다.

데이터 독립성은 미국 표준 협회(ANSI) 산하의 X3 위원회의 특별 연구 분과 위원회에서 1978년에 DBMS와 그 인터페이스를 위해 제안한 Three-schema Architecture 라고 할 수 있다. 

DB에 대한 사용자의 View 와 DB 가 실제 표현된 View 를 분리하여 변경 간섭을 줄이는 것이 핵심 목적이 된다.

데이터 독립성을 확보하게 되면 각 View 의 독립성 유지, 계층별 View 에 영향을 주지 않고 변경이 가능하며, 단계별 Schema 에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공한다.

 

ANSI-SPARC의 3-Level Database Architecture

출처: Eloquence - 티스토리

ANSI/SPARC 에서 제시한 3단계 구서으이 데이터 독립성 모델은 외부단계와 개념적 단계, 내부적 단계로 구성된 서로 간섭되지 않는 모델을 제시하고 있다.

항목 내용 비고
외부 스키마 View 단계 여러 개의 사용자 관점으로 구성, 즉 개개 사용자 단계로서 개개 사용자가 보는 개인적 DB 스키마
DB의 개개 사용자나 응용 프로그래머가 접근하는 DB 정의
사용자 관점 / 접근하는 특성에 따른 스키마 구성
개념 스키마 개념단계 하나의 개념적 스키마로 구성 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것
모든 응용 시스템이나 사용자들이 필요로 하는 데이터를 통합하고 조직 전체의 DB를 기술한 것으로 DB에 저장되는 Data와 그들 간의 관계를 표현하는 스키마
통합관점
내부 스키마 내부단계, 내부 스키마로 구성, DB가 물리적으로 저장된 형식
물리적 장치에서 Data가 실제적으로 저장되는 방법을 표현하는 스키마
물리적 저장구조

독립성의 종류

종류 내용 특징
논리적 독립성 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것 사용자 특성에 맞는 변경 가능
통합 구조 변경 가능
물리적 독립성 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원하는 것 물리적 구조 영향없이 개념구조
변경가능
개념 구조 영향없이 물리적인 구조
변경가능

 

DBMS의 개념과 기능

파일 시스템의 문제점인 종속성과 중복성의 문제를 해결하고자 고안된 시스템

응용 프로그램과 데이터 사이의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공용할 수 있게 관리해주는
소프트웨어 시스템

DBMS의 기능

DB를 저장하는 파일 구조와 이를 처리하기 위한 메모리 및 주요 프로세스들이 DBMS에는 존재한다.
데이터 저장과 개발 및 유지보수 측면에서 중복성의 통제
  • 다 사용자간의 데이터 공유
  • 권한 없는 사용자의 데이터 접근 통제
  • 다양한 사용자에게 다양한 형태의 인터페이스 제공
  • 데이터 사이에 존재하는 복잡한 관련성을 표현
  • 데이터베이스의 무결성을 보장

DBMS의 구조도와 구성요소

구성요소 설명
DDL, 컴파일러 DDL로 명세된 스키마를 내부 형태, 즉 메타데이터로 처리하여 시스템 카탈로그에 저장한다.
모든 DBMS 모듈들은 필요 시에 이 카탈로그 정보를 접근해서 이용한다.
질의어 처리기 일반 사용자가 제출한 고급 질의문을 처리한다.
즉, 이것은 검사하고 파싱해서 컴파일한다.
그리고 데이터베이스 접근코드를 생성한 뒤, 실행을 위해 런타임 데이터베이스 처리기에 보내진다.
DML, 예비 컴파일러 응용 프로그램에 삽입된 DML 명령문을 추출하고, 추출된 DML 명령문은 데이터베이스 접근을 위한 목적 코드로 컴파일 되도록 DML, 컴파일러에게 보내진다.
DML, 컴파일러 넘겨받은 DML, 명령어를 파싱하고 컴파일하여 목적 코드를 생성한다.
런타임 데이터베이스 처리기 실행 시간에 데이터베이스 접근을 관리한다. 즉, 검색이나 갱신과 같은 데이터베이스 연산을 저장한다.
데이터 관리자를 통해 데이터베이스에 실행시킨다.
트랜잭션 관리자 데이터베이스에 접근하는 과정에서 무결성 제역조건의 만족 여부, 사용자의 권한 검사 등 체크한다.
트랜잭션의 병형 제어나 장애 발생 시의 회복 작업 등을 수행한다.
저장 데이터 관리자 디스크에 저장되어 있는 사용자 데이터베이스나 카탈로그 접근을 책임진다.

 

'공부 > 데이터베이스' 카테고리의 다른 글

기존 칼럼에 특정 수만큼 더하기  (0) 2022.05.24