데이터베이스 시스템이란?
모든 데이터는 효율적이고 안전하게 관리될 필요가 있다. 회사의 고객 정보부터, 전자 상거래의 주문 내역, 소셜 미디어의 사용자 게시물까지 데이터는 어디에나 존재하며, 이 데이터를 체계적으로 관리하는 것이 중요하다. 데이터를 구조적으로 정의하여 체계적으로 관리하기 위해 등장한것이 데이터베이스 시스템이다.
데이터베이스 시스템이란 데이터를 구조적으로 저장하고 관리하며, 데이터를 안전하고 일관성 있게 다룰 수 있도록 돕는 소프트웨어 환경이다.
데이터베이스 시스템이 등장하기 전에는 파일 시스템이 주로 사용되었다. 파일 시스템은 기본적인 데이터 저장을 가능하게 했지만, 데이터 중복, 비효율적 검색, 데이터 무결성 부족과 같은 여러 문제점이 있었다.
데이터 시스템의 발전
1. 파일 시스템
- 파일 시스템은 데이터를 파일 단위로 파일 서버에 저장한다.
- LAN을 통하여 파일 서버에 연결되어 있고, 파일 서버에 저장된 데이터를 사용하기 위해 각 컴퓨터의 응용 프로그램에서 열기/닫기(open/close)를 요청한다.
- 각 클라이언트에서 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성이 있다.
- 각 클라이언트에서 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있다.
2. 데이터베이스 시스템
- DBMS를 도입하여 데이터를 통합 관리하는 시스템이다
- DBMS가 설치되어 데이터를 가진 쪽을 서버(server), 외부에서 데이터 요청하는 쪽을 클라이언트(client)라고 한다.
- DBMS 서버가 파일을 다루며 데이터의 일관성을 유지하고, 복구 동시 접근 제어 등의 기능을 수행한다.
- 데이터의 중복을 줄이고 데이터를 표준화하며 무결성을 유지한다.
3. 웹 데이터베이스 시스템
- 데이터베이스를 웹 브라우저에서 사용할 수 있도록 서비스하는 시스템이다.
- 불특정 다수 고객을 상대로 하는 온라인 상거래나 공공 민원 서비스 등에 사용된다.
4. 분산 데이터베이스 시스템
- 여러 곳에 분산된 DBMS 서버를 연결하여 운영하는 시스템이다.
- 대규모의 응용 시스템에 사용된다.
파일 시스템과 DBMS의 차이점
아래는 파일 시스템과 DBMS의 차이를 정리한 표이다. 파일 시스템은 직접 파일을 관리하는 반면, DBMS는 데이터베이스를 통해 데이터를 효율적으로 관리한다.
구분 | 파일 시스템 | DBMS |
데이터 정의 | 응용 프로그램 | DBMS |
데이터 저장 | 파일 시스템 | 데이터베이스 |
데이터 접근 방법 | 응용 프로그램이 파일에 직접 접근 | 응용 프로그램이 DBMS에 파일 접근을 요청 |
사용 언어 | 자바, C++, C 등 | 자바, C++, C 등과 SQL |
CPU/주기억장치 사용 | 적음 | 많음 |
파일 시스템
파일 시스템을 사용하는 응용 프로그램은 저장할 데이터를 파일 형태로 직접 관리한다. 파일에 저장된 데이터는 다른 프로그램과 공유되지 않으므로 데이터 중복과 일관성 문제가 발생할 수 있다.
DBMS
DBMS를 사용하면 데이터 정의와 관리를 DBMS가 처리하므로 응용 프로그램이 간단해진다. DBMS는 한 번 정의된 데이터 정보를 공유하여 데이터 일관성을 유지하고, 프로그램이 데이터 구조 변경으로부터 독립성을 가질 수 있다.
DBMS의 장점
장점 | 설명 |
데이터 중복 최소화 | 데이터를 공유하기 때문에 중복 가능성이 낮다 |
데이터 일관성 유지 | 중복 제거로 데이터의 일관성이 유지된다. |
데이터 독립성 유지 | 데이터 정의와 프로그램의 독립성 유지가 가능하다. |
관리 기능 제공 | 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능등을 수행한다. |
프로그램 개발 생산성 향상 | 짧은 시간에 프로그램을 개발할 수 있다. |
기타 | 데이터 무결성 유지, 데이터 표준 준수에 유리하다. |
데이터 베이스 시스템의 구성
데이터 베이스 시스템은 데이터베이스, 데이터베이스 관리 시스템, 데이터 모델을 기본 구성으로 지닌다. 다음 그림은 데이터베이스 시스템의 구성 요소와 물리적인 위치를 나타낸다.
참고: 이 외에도 데이터베이스 언어와 데이터베이스 사용자라는 추가 구성 요소가 있으며, 데이터베이스의 운영과 관리에 필수적인 역할을 합니다.
[기본 구성 요소]
1. 데이터베이스
- 데이터베이스는 하드디스크에 저장된 데이터로, 다양한 형태의 데이터를 체계적으로 보관한다. 이를 통해 필요한 정보를 빠르게 조회하고 수정할 수 있다.
[데이터베이스] 데이터베이스란?
데이터베이스는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은것이다.데이터베이스의 개념통합된 데이터: 여러 곳에서 사용하던 데이터를 통합하
bearn-soo.tistory.com
2. 데이터베이스 관리 시스템 (DBMS )
- 데이터베이스 관리 시스템(DBMS)은 주기억 장치에 저장된 소프트웨어로, 데이터를 효율적으로 관리하고 보호하는 역할을 한다.
DBMS의 기능
- 데이터 정의: 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행한다.
- 데이터 조작: 데이터를 조작하는 소프트웨어가 요청하는 데이터의 검색, 삽입, 수정, 삭제, 작업을 수행한다.
- 데이터 추출: 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출한다.
- 데이터 제어: 데이터 베이스 사용자를 생성하고 모니터링하며 접근을 제어한다. 백업과 회복, 동시성 제어 등의 기능을 지원한다.
3. 데이터 모델
- 데이터 모델은 눈에 보이지 않는 논리적인 개념으로, 데이터가 어떤 방식으로 저장되고 관계를 형성하는지에 관한 내용이다. 여러 가지 데이터 모델 중 관계형 데이터 모델이 가장 널리 사용된다.
[데이터베이스] 데이터 모델이란?
데이터 모델은 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법으로 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다.데이터 모델 종류계층 데이터 모델네트워
bearn-soo.tistory.com
[추가 구성요소]
1. 데이터베이스 언어
데이터베이스 시스템은 데이터베이스 전용 언어인 SQL(Structured Query Language)을 사용한다. SQL은 데이터 정의어, 데이터 조작어, 데이터 제어어로 구성된다.
- 데이터 정의어 DDL (Data Definition Language): CREATE, ALTER, DROP문과 같이 DBMS에 저장된 테이블 구조를 정의한다.
- 데이터 조작어 DML (Data Manipulation Language): INSERT, UPDATE, DELETE 명령어로 데이터를 추가, 수정, 삭제하는 데 사용된다.
- 데이터 제어어 DCL (Data Control Language): 권한 설정과 보안 조치를 위한 GRANT, REVOKE 명령어로 구성된다.
SQL의 핵심은 데이터 조작어 중 데이터를 검색하는 질의(query)문이다. 질의문은 SELECT-FROM-WHERE 구조로 되어있다.
2. 데이터베이스 사용자
데이터베이스 시스템을 사용하는 사람은 크게 일반 사용자, 응용 프로그래머, SQL 사용자, 데이터 베이스 관리자(DataBase Administrator)로 구분할 수 있다.
- 일반 사용자: 프로그래머가 개발한 프로그램을 이용하여 데이터베이스에 접근하는 사용자다.
- 응용 프로그래머: 일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람이다.
- SQL 사용자: 응용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리하는 역할이다.
- 데이터베이스 관리자: 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람이다.
참고: 아래의 그림은 데이터베이스 시스템의 세부 구성 요소와 이들이 서로 어떻게 연결되어 있는지를 보여줍니다.
데이터 베이스의 개념적 구조
3단계 데이터베이스 구조(3-layer database architecture)는 데이터베이스를 개념적이고 구조적인 관점에서 세 단계로 나눈 거다. 이 구조는 데이터베이스의 복잡성을 단순화하여 표현하는 데 도움을 준다.
3단계 데이터구조는 외부 단계, 개념 단계, 내부 단계로 나뉜다.
[데이터베이스] 3단계 데이터베이스 구조란?
3단계 데이터베이스 구조데이터베이스는 보는 관점에서 세단계로 분리할 수 있다. 이렇게 개념적으로 3단계로 분리한 구조를 3단계 데이터베이스 구조(3-layer database architecture)라고 부른다.3단계
bearn-soo.tistory.com
참고
데이터베이스 개론과 실습 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
[Database] 1. 데이터베이스 시스템
[ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ] 1. 데이터베이스와 데이터베이스 시스템 [ 데이터, 정보, 지식 ]데이터 : 관찰의 결과로 나타난 정량
mangkyu.tistory.com
'데이터베이스' 카테고리의 다른 글
[데이터베이스] DDL, DML, DCL이 뭘까? (1) | 2024.11.07 |
---|---|
[데이터베이스] 관계 데이터베이스 모델 (1) | 2024.10.31 |
[데이터베이스] 3단계 데이터베이스 구조란? (0) | 2024.10.30 |
[데이터베이스] 데이터 모델이란? (0) | 2024.10.30 |
[데이터베이스] 데이터베이스란? (0) | 2024.10.30 |