본문 바로가기

데이터베이스 DataBase

chapter01 데이터베이스 시스템

01데이터베이스와 데이터베이스 시스템

데이터베이스 시스템에 대해서 간단히 알아보는 장입니다.

전체적으로 데이터베이스 시스템의 구성요소들에 대해서 살펴봅니다.

먼저 데이터, 정보, 지식은 아래의 표와 같이 그 용어가 정리될 수 있습니다.

데이터

관찰의 결과로 나타난 값

정보

데이터에 의미를 부여한 것

지식

사물이나 현상에 대한 이해

 

대학생이 가장 많이 접하는 데이터베이스 시스템은 무엇일까요?

우리는 은행, 학교 시간표, 성적표, 병원 등등의 곳곳에서 데이터베이스를 찾을 수 있습니다.

데이터베이스의 개념은 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터 네 가지로

설명할 수 있습니다.

데이터베이스의 특징은 실시간 접근성, 계속적인 변화, 동시 공유, 내용에 따른 참조 네 가지로

설명할 수 있습니다. 여기서 내용에 따른 참조란 C언어에서 주소를 이용하여 연산하는 포인터와

달리 값만으로 원하는 내용을 찾는다는 의미입니다.

이러한 데이터베이스 시스템은 DBMS, 데이터베이스, 데이터 모델로 구성됩니다.

DBMS

사용자와 데이터 베이스 연결

데이터베이스

실제 데이터를 모아둔 공간

데이터 모델

눈에 보이지 않는 데이터를 저장하는 방식

 

 

02데이터베이스 시스템의 발전

정보시스템이 발전함에 따라 기업의 업무 환경도 같이 변화하였습니다.

소매상(실체 시스템)

1970년대
정보시스템 없음
수작업으로 회계 업무

소기업(파일 시스템)

1980년대
파일 시스템 사용
파일을 이용한 응용 프로그램으로 업무 처리

중소기업(데이터베이스)

1990년대
정보시스템, 데이터베이스 시스템 사용
DBMS를 이용하여 업무 처리
정보 공유. 실시간 서비스, LAN 기술

대기업(인터넷 통신)

2000년대
정보 시스템, 웹 데이터베이스 시스템, 인터넷 사용
인터넷 쇼핑몰을 개설하여 온라인 상거래 실시
실시간 서비스, 웹 브라우저 기술

종합 그룹(인터넷 통신)

2010년대
정보 시스템, 분산 데이터베이스 시스템, 인터넷 사용
고객 서비스 및 내부 업무를 인터넷으로 처리
대규모 응용 시스템에 사용

소기업(파일 시스템)이 나오는데 여기서 파일 시스템을 이용했다는 뜻은 데이터를 파일 단위로

파일 서버에 저장한다는 뜻입니다. 이렇기 때문에 데이터가 중복 저장될 가능성이 있고, 동시에

파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있습니다.

 

 

03 파일 시스템과 DBMS

파일 시스템과 DBMS를 비교해보겠습니다.

구분

파일 시스템

DBMS

데이터 정의 및 저장

데이터 정의 : 응용 프로그램
데이터 저장 : 파일 시스템

데이터 정의 : DBMS
데이터 저장 : 데이터베이스

데이터 접근 방법

응용 프로그램이 파일에 직접 접근

응용 프로그램이 DBMS에 파일 접근을 요청

사용언어

자바, C++, C 등

자바, C++, C등과 SQL

CPU/주기억장치 사용

적음

많음

이를 통해 DBMS가 갖는 아래의 표와 같은 장점을 알 수 있습니다.

구분

파일 시스템

DBMS

데이터 중복

데이터를 파일 단위로 저장하므로 중복 가능

DBMS를 이용하여 데이터를 공유하기 때문에 중복 가능성 낮음

데이터 일관성

데이터의 중복 저장으로 일관성이 결여됨

중복 제거로 데이터의 일관성이 유지됨

데이터 독립성

데이터 정의와 프로그램의 독립성 유지 불가능

데이터 정의와 프로그램의 독립성 유지 가능

관리 기능

보통

데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행

프로그램 개발 생산성

나쁨

짧은 시간에 큰 프로그램을 개발할 수 있음

기타 장점

보통

데이터 무결성 유지, 데이터 표준 준수 용이

 

 

04데이터베이스 시스템의 구성

데이터베이스 시스템은 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델의 세 가지로

구성됩니다. 데이터베이스 시스템은 SQL이라는 데이터베이스 전용 언어를 사용하는데, 이는

일반적인 프로그래밍 언어에 비해 쉽습니다.

데이터베이스 시스템을 사용하는 사람은 크게 일반 사용자, 응용 프로그래머, SQL 사용자,

데이터베이스 관리자로 구분할 수 있습니다.

DBMS는 사용자와 데이터베이스를 연결시켜주는 소프트웨어로, 데이터베이스 사용자가

데이터베이스를 생성, 공유, 관리할 수 있도록 지원해주는 총체적인 역할을 합니다.

데이터 정의

(Definition)

데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행합니다.

데이터 조작
(Manipulation)

데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원합니다.

데이터 추출
(Retrieval)

사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출합니다.

데이터 제어

(Control)

데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어합니다. 백업과 회복, 동시성 제어 등의 기능을 지원합니다.

데이터 모델은 데이터 베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로,

데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정합니다.

데이터 모델로는 계층 데이터 모델, 네트워크 데이터 모델, 객체 데이터 모델, 객체-관계 데이터

모델 등이 있습니다. 객체-관계 데이터 모델은 객체지향 언어가 널리 사용됨에 따라 관계 데이터

모델과 객체 데이터 모델의 장점을 결합한 모델입니다. 현재는 관계 데이터 모델이 가장 널리

쓰이고 있습니다.

데이터베이스는 개념적으로 3단계로 나뉘어 구성됩니다. 외부 단계, 개념 단계, 내부 단계로

나누어지고 각 단계는 매핑과정을 갖습니다. 외부/개념 매핑, 개념/내부 매핑

외부 단계

일반 사용자나 응용 프로그래머가 접근하는 계층으로 논리적인 부분을 말합니다.

개념 단계

전체 데이터베이스의 정의를 의미합니다.

내부 단계

물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법을 표현합니다.