01데이터베이스와 데이터베이스 시스템
데이터베이스 시스템에 대해서 간단히 알아보는 장입니다.
전체적으로 데이터베이스 시스템의 구성요소들에 대해서 살펴봅니다.
먼저 데이터, 정보, 지식은 아래의 표와 같이 그 용어가 정리될 수 있습니다.
데이터 | 관찰의 결과로 나타난 값 |
정보 | 데이터에 의미를 부여한 것 |
지식 | 사물이나 현상에 대한 이해 |
대학생이 가장 많이 접하는 데이터베이스 시스템은 무엇일까요?
우리는 은행, 학교 시간표, 성적표, 병원 등등의 곳곳에서 데이터베이스를 찾을 수 있습니다.
데이터베이스의 개념은 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터 네 가지로
설명할 수 있습니다.
데이터베이스의 특징은 실시간 접근성, 계속적인 변화, 동시 공유, 내용에 따른 참조 네 가지로
설명할 수 있습니다. 여기서 내용에 따른 참조란 C언어에서 주소를 이용하여 연산하는 포인터와
달리 값만으로 원하는 내용을 찾는다는 의미입니다.
이러한 데이터베이스 시스템은 DBMS, 데이터베이스, 데이터 모델로 구성됩니다.
DBMS | 사용자와 데이터 베이스 연결 |
데이터베이스 | 실제 데이터를 모아둔 공간 |
데이터 모델 | 눈에 보이지 않는 데이터를 저장하는 방식 |
02데이터베이스 시스템의 발전
정보시스템이 발전함에 따라 기업의 업무 환경도 같이 변화하였습니다.
소매상(실체 시스템) | 1970년대 |
소기업(파일 시스템) | 1980년대 |
중소기업(데이터베이스) | 1990년대 |
대기업(인터넷 통신) | 2000년대 |
종합 그룹(인터넷 통신) | 2010년대 |
소기업(파일 시스템)이 나오는데 여기서 파일 시스템을 이용했다는 뜻은 데이터를 파일 단위로
파일 서버에 저장한다는 뜻입니다. 이렇기 때문에 데이터가 중복 저장될 가능성이 있고, 동시에
파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있습니다.
03 파일 시스템과 DBMS
파일 시스템과 DBMS를 비교해보겠습니다.
구분 | 파일 시스템 | DBMS |
데이터 정의 및 저장 | 데이터 정의 : 응용 프로그램 | 데이터 정의 : DBMS |
데이터 접근 방법 | 응용 프로그램이 파일에 직접 접근 | 응용 프로그램이 DBMS에 파일 접근을 요청 |
사용언어 | 자바, C++, C 등 | 자바, C++, C등과 SQL |
CPU/주기억장치 사용 | 적음 | 많음 |
이를 통해 DBMS가 갖는 아래의 표와 같은 장점을 알 수 있습니다.
구분 | 파일 시스템 | DBMS |
데이터 중복 | 데이터를 파일 단위로 저장하므로 중복 가능 | DBMS를 이용하여 데이터를 공유하기 때문에 중복 가능성 낮음 |
데이터 일관성 | 데이터의 중복 저장으로 일관성이 결여됨 | 중복 제거로 데이터의 일관성이 유지됨 |
데이터 독립성 | 데이터 정의와 프로그램의 독립성 유지 불가능 | 데이터 정의와 프로그램의 독립성 유지 가능 |
관리 기능 | 보통 | 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등을 수행 |
프로그램 개발 생산성 | 나쁨 | 짧은 시간에 큰 프로그램을 개발할 수 있음 |
기타 장점 | 보통 | 데이터 무결성 유지, 데이터 표준 준수 용이 |
04데이터베이스 시스템의 구성
데이터베이스 시스템은 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델의 세 가지로
구성됩니다. 데이터베이스 시스템은 SQL이라는 데이터베이스 전용 언어를 사용하는데, 이는
일반적인 프로그래밍 언어에 비해 쉽습니다.
데이터베이스 시스템을 사용하는 사람은 크게 일반 사용자, 응용 프로그래머, SQL 사용자,
데이터베이스 관리자로 구분할 수 있습니다.
DBMS는 사용자와 데이터베이스를 연결시켜주는 소프트웨어로, 데이터베이스 사용자가
데이터베이스를 생성, 공유, 관리할 수 있도록 지원해주는 총체적인 역할을 합니다.
데이터 정의 (Definition) | 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행합니다. |
데이터 조작 | 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원합니다. |
데이터 추출 | 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출합니다. |
데이터 제어 (Control) | 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어합니다. 백업과 회복, 동시성 제어 등의 기능을 지원합니다. |
데이터 모델은 데이터 베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로,
데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정합니다.
데이터 모델로는 계층 데이터 모델, 네트워크 데이터 모델, 객체 데이터 모델, 객체-관계 데이터
모델 등이 있습니다. 객체-관계 데이터 모델은 객체지향 언어가 널리 사용됨에 따라 관계 데이터
모델과 객체 데이터 모델의 장점을 결합한 모델입니다. 현재는 관계 데이터 모델이 가장 널리
쓰이고 있습니다.
데이터베이스는 개념적으로 3단계로 나뉘어 구성됩니다. 외부 단계, 개념 단계, 내부 단계로
나누어지고 각 단계는 매핑과정을 갖습니다. 외부/개념 매핑, 개념/내부 매핑
외부 단계 | 일반 사용자나 응용 프로그래머가 접근하는 계층으로 논리적인 부분을 말합니다. |
개념 단계 | 전체 데이터베이스의 정의를 의미합니다. |
내부 단계 | 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법을 표현합니다. |
'데이터베이스 DataBase' 카테고리의 다른 글
chapter 04 SQL 고급 (0) | 2013.08.30 |
---|---|
chapter 03 SQL 기초 (0) | 2013.08.24 |
chapter 02 관계 데이터 모델 (0) | 2013.08.21 |
chapter 01 데이터베이스 시스템 (0) | 2013.08.18 |
SQL Server로 배우는 데이터베이스 개론과 실습 (0) | 2013.07.20 |