2023.09.21


데이터 베이스란?

데이터 베이스는 특정 조직에서 수행하는 업무 절차의 일부 유형을 모델링하기 위한 목적으로 사용되는 조직화된 데이터 집합이다.


왜 사용할까?

수 많은 데이터 중에서 유의미한 정보를 얻기 위해 사용한다.


데이터베이스 관리 시스템

데이터베이스 관리 시스템(DBMS)은 한마디로 데이터베이스를 효율적으로 관리하는 소프트웨어를 의미한다. 소프트웨어 이기 때문에 운영체제 상에서 동작한다. 그렇기에 중간에 시스템에 고장이 있더라도 데이터를 안전하게 보호하고 권한이 없는 경우 사용을 막아 주어야 한다. 또한 여러 사용자가 사용함으로 생기는 문제 등을 처리해야 한다.


파일 시스템 VS DBMS

파일 시스템은 운영체제의 한 구성요소이고, 데이터베이스 시스템은 응용프로그램이다. 파일 시스템은 권한에 따른 설정이 어렵다는 문제가 있다. 또한, 자료 접근을 위해 순차적으로 접근해야하고, 자료의 중복과 불일치가 일어날 수 있는 문제점이 있다. 하지만, DB는 데이터 무결성 보장 및 중복에 대한 처리가 가능하다.


모델과 종류

DBMS도 시간이 지남에 따라 여러 모델을 거쳐왔다. 기본적인 구조는 개념 데이터 모델, 표현 데이터 모델과 물리 데이터 모델로 분류 할 수 있다.

개념 데이터 모델 : 데이터 베이스의 전체적인 논리 구조를 명시하는 모델이고 구현 데이터 모델이라고도 한다.

표현 데이터 모델 : 최종 사용자가 이해하는 개념이고, 컴퓨터 내에서 데이터가 구조화 되는 방식과 밀접한 관계를 가지는 모델이다.

물리 데이터 모델 : 실제 데이터가 컴퓨터에서 어떻게 물리적으로 저장되는 지 기술한다.


여기서 표현 데이터 모델에서 데이터를 어떻게 구조화하는 지 등과 관련하여 아래와 같이 나눌 수 있다.


계층형 모델 : 데이터가 트리형태의 구조로 조직된 것으로 부모-자식 관계로 표현된다.

네트워크 모델 : 개체와 개체 관계를 그래프 구조로 연결하는 데이터 모델이다. 데이터를 빠르게 찾는 장점이 있다.

관계형 모델 : 데이터가 하나 이상의 열과 행의 테이블에 저장되는 데이터 모델이다.

객체지향 모델 : 데이터를 객체의 형태로 표현하는 방식으로 객체지향 프로그래밍 언어와 호환하는 등의 장점이 있다. 하지만, 표준화가 부족하고 복잡한 데이터 처리가 어렵다는 문제가 있다.

NO SQL : 기존 테이블 형태의 관계형 모델이 아닌 비정형 데이터를 저장하는 방식이다. key-value, graph 등의 데이터로 표현된다. 대용향 데이터와 분산처리가 매우 빠르지만, 항상 데이터의 일관성이 보장되는 것은 아니다.


ANSI/SPARC 구조

예전에는 ANSI/SPARC 3단계 구조를 사용하였다. 이 구조는 데이터 베이스 관리 시스템을 위한 추상적 설계 표준이었다. 데이터 베이스를 관점(view) 기준에서 3개의 계층으로 분리하여 제시하였다.

Screenshot_2023-09-21_at_12 53 34_PM


3단계 계층

3단계에는 외부 단계, 개념 단계, 내부 단계가 있다.


외부 단계에서는 각 최종 사용자나 응용 프로그래머가 접근하는 계층이다.

개념단계에서는 범기관적이고 전체적인 데이터베이스 구조를 제공한다. 통합 조직별로 하나만 존재하는 것으로 어떤 관계가 있는제, 어떤 무결성 제약 조건들이 존재하는 지를 명시한다.

내부 단계에서는 실제 물리적인 데이터 구조를 제공한다. 데이터 베이스에 어떤 데이터가 저장되었는 지를 실제로 저장되는 방법을 기술한다.


데이터 독립성

위에서 설명한 3단계 계층과 데이터 독립성이 어떤 연관이 되어있는 지 살펴본다. 실제 3단계 구조는 데이터 독립성을 구현하기 위한 기초를 이루었다. 데이터 베이스 관리 시스템을 구현할 때, 데이터 베이스 구조가 3단계로 구성되면 각 단계 간의 스키마를 사상(대응)시켜주는 일을 쉽게 구현할 수 있다.


외부/개념 스카마 간의 사상은 개념 단계의 뷰를 사용해서 입력된 사용자의 질의를 개념단계의 스키마를 사용한 질의로 표현해주는 것이다.

개념/내부 스키마 간의 사상은 개념 단계의 스키마를 사용한 질의를 내부 단계 스키마로 변환하여 하드 디스크의 데이터 베이스에 접근하는 명령어로 표현해주는 것이다. 이와 같이 사상을 정의해 두면, 실제 상위 단계의 영향을 주지 않으면서 하위 단계의 스카마를 변경할 수 있다. 이를 데이터 독립성이라고 한다.

Screenshot_2023-09-21_at_12 46 05_PM



종류

데이터 독립성에는 논리적 데이터 독립성과 물리적 데이터 독립성이 있다.


논리적 데이터 독립성은 개념 단계 스키마를 변경해도 외부 단계 스키마에 영향을 미치지 않는 다는 성질이다.

물리적 데이터 독립성은 응용 프로그램(외부 단계 스키마)나 데이터 베이스의 논리적 구조에 영향을 미치지 않고 데이터의 물리적 구조를 변경할 수 있는 성질이다.


데이터의 중복성 제거 및 데이터의 일관성 유지를 위해 데이터 독립성은 데이터 베이스 시스템에서 가장 중요한 개념인 셈이다.



Categories:

Updated:

Leave a comment