데이터베이스란?
조직에 필요한 정보를 수집하기 위해 다수의 사용자들이 상호 간의 공유하여 사용함을 목적으로 통합하여 저장된 운영데이터의 집합이라고 할 수 있다. 여기서 여러 사용자들이 공유한다는 것이 핵심이다.
데이터베이스의 개념 및 특징에 대해서 알아보자.
통합된 데이터
말 그대로 여러 군데로 나뉘어 있던 데이터를 통합하여 하나로 저장된 데이터를 뜻한다. 통합할 시에 중요한 부분인 각자 가지고 있는 데이터의 중복을 없애거나 최소화함으로써 중복 저장으로 인한 데이터의 불일치 문제를 없애는 것이다.
저장된 데이터
문서 파일로 저장된 데이터가 아닌 디스크와 같은 컴퓨터 저장 장치에 저장된 데이터를 의미한다.
사람의 눈으로는 볼 수 없는 데이터를 컴퓨터를 중심으로 저장하고 관리한다는 점
운영 데이터
조직의 목적을 위해 사용되는 데이터를 의미한다. 즉 DB는 단순한 데이터들의 집합이 아니라 그 조직의 존재 목적이나 기능을 수행하는 데 없어서는 안 될 데이터라 할 수 있다.
공용 데이터
한 사람 또는 한 업무를 위해 사용되는 데이터가 아니라 공동으로 사용되는 데이터를 의미한다. 데이터는 어느 시간에서든 둘 이상의 사람 또는 프로그램이 동시에 사용할 수 있는 공유성을 가지고 있다.
실시간 접근성
데이터베이스는 실시간으로 서비스된다. 사용자가 데이터를 요청하면 몇 시간이나 며칠 뒤에 결과를 전송하는 것이 아니라 수 초 내에 결과를 서비스한다. 실시간이란 사용자가 요청하는 순간의 실제 데이터를 서비스하는 것을 말한다.
계속적 변화
데이터베이스에 저장된 내용은 어느 한순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀐다. 데이터베이스는 삽입, 삭제, 수정 등의 작업으로 바뀐 데이터 값을 저장한다.
동시 공유
데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유된다. 동시는 병행이라고도 하며, 데이터베이스에 접근하는 사용자 데이터 요청 프로그램이 동시에 여러 개 있다는 의미이다.
내용에 따른 참조
데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조된다. 사용자가 원하는 데이터를 얻기 위해 데이터 값을 사용하여 조건을 제시하면 데이터베이스는 이에 해당하는 데이터를 검색해 준다.
데이터베이스 구조 3가지 (ANSI기준)
외부 스키마 : 사용자 관점의 데이터 구조. 유일하게 여러 개를 가질 수 있는 스키마이며, 서브 스키마라고도 불리며, 일종의 뷰 개념이다. 이래 데이터베이스를 예를 들면 등은 전체 데이터베이스의 일부분이라 할 수 있으며, 오직 각 부서의 사용자들에게만 필요한 부분이라고 할 수 있다.
개념 스키마 : 전체 관점의 데이터. 통합된 조직(하나의 데이터베이스) 내에서 오로지 하나만 존재할 수 있으며, DBA가 관리한다. 개념스키마 같은 경우 저장 장치에 독립적으로 기술되는 게 특징이며, 데이터 관계, 무결성, 제약사항에 관한 내용들이 포함되게 된다. 아래 데이터베이스를 예로 들면 외부스키마를 모은 전체 데이터베이스인 것을 확인할 수 있다.
내부 스키마 : DBMS 관점의 데이터. 물리적 저장 장치에 데이터베이스가 저장되는 방법을 실제로 표현한 것이다. 내부 스키마 역시 하나이며, 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함된다. 아래 데이터베이스를 예로 들면 대학 전체 데이터베이스가 실제 하드디스크에 저장되는 물리적인 구조를 말한다. 여기에는 저장 방법에 대한 구체적인 내용이 포함된다.
데이터의 독립성이란?
DBMS의 궁극적인 목적으로 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨기게 된다. 이를 통해 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 하는 것이다. 이를 통해 데이터 구조가 바뀐다 해도 응용프로그램을 바꿀 필요가 없어 사용자 입장에선 참으로 편리하다. 데이터 독립성은 두 가지로 나눌 수 있다.
논리적 데이터 독립성 (외부 단계와 개념 단계 간의 독립성)
:개념 스키마가 변경되어도 외부 스키마는 변경되지 않고 일관성을 유지할 수 있도록 지원한다. 즉, 논리적 구조가 변경이 된다고 해도 해당 프로그램은 영향이 없게 하는 개념이다.
물리적 데이터 독립성(개념 단계와 내부 단계 간의 독립성)
:저장 장치의 구조 변경으로 한해 내부 스키마가 변경되어도 개념 스키마는 일관성을 유지하도록 지원한다.
ps. 이후 데이터 독립성 부분에 대한 내용을 따로 포스팅해 보겠다.
'IT' 카테고리의 다른 글
[운영체제 OS] CPU 스케쥴링 기본 및 선점형 비선점형 알고 가기 (2) | 2023.07.18 |
---|---|
[운영체제 OS] 스레드(Thread) 개념과 멀티 쓰레드 간단히 이해하기 (0) | 2023.07.16 |
프로세스 개념 및 PCB, 문맥교환(Context Switching) 알아보기 (0) | 2023.07.13 |
데이터베이스 정규화 [ 1차, 2차, 3차, BNCF ] 알아보기 (0) | 2023.07.10 |
데이터베이스 설계 [개념적, 논리적, 물리적] 비즈니스 관점 (1) | 2023.07.07 |