Database

데이터베이스 관리 시스템 개요(1)

JunsuKim 2022. 3. 5.
728x90

데이터베이스 관리 시스템(DBMS)의 정의

데이터베이스 관리 시스템(Database Management System: DBMS)은 DB 관리자와 사용자 및 응용 프로그램과

DB 간의 중재자로서, DB에 대한 모든 접근을 처리해주는 소프트웨어 시스템으로 정의된다.

① DB의 정의와 조작 및 제어 기능을 제공한다.

② 여러 사용자 및 응용 프로그램들이 DB를 공용할 수 있도록 관리해 주는 소프트웨어 시스템이다.

③ DBMS를 통해서만 DB를 활용하는 것이 가능하다.

DB는 특정 응용 프로그램에 종속된 것이 아니라 여러 응용 프로그램이 공용할 수 있다.

이처럼 응용 프로그램이 데이터에 종속되지 않는 데이터 독립성을 제공하는 것DBMS의 궁극적인 목적이다.

※ DBMS의 궁극적인 목적: DB의 구조를 변경해도 응용 프로그램에 영향을 주지 않고, 반대로 응용 프로그램을 변경해도 DB에 영향을 주지 않도록 하는 것이다.

데이터베이스 관리 시스템의 등장 배경

데이터베이스 관리 시스템은 파일 시스템이 갖는 구조적인 한계를 극복하기 위해 고안되었다.

등장 배경은 크게 사회적 요구와 기술적 발전으로 나누어 설명이 된다.

1. 사회적 요구

정보 처리 시스템의 활용 분야가 점차 다양해진다.

→ 대량의 공용 데이터를 기초로 효율적인 데이터 검색을 위주로 하는 시스템에 대한 요구 등장

→ 사칙연산 등을 기본으로 하는 데이터 처리 위주의 파일 관리 시스템으로 만족시킬 수 없다.

∴ DB 구축 및 관리를 지원하는 다양한 DBMS가 등장하게 된다.

 

DBMS가 등장하게 되면서 파일 시스템의 두 가지 한계점을 극복할 수 있게 된다.

프로그램과 데이터 간의 데이터 종속성을 최소화할 수 있다.

- 파일 시스템의 가장 큰 문제점은 응용 프로그램과 데이터가 상호 의존하는 데이터 종속성이다.

데이터를 저장하거나 검색하는 등의 기능을 DBMS가 전담하도록 하여 데이터 종속성을 최소화하고, 데이터 변경으로 인해 생기는 프로그램의 수정을 최소화할 수 있다.

② 데이터 중복성으로 인한 비일관성을 최소화할 수 있다.

- DB는 공통된 데이터 저장 공간을 사용하기 때문에 데이터의 중복에서 발생하는 비일관성을 최소화할 수 있다.

2. 기술적 발전

① 저렴한 고속 자기 디스크의 실용화 -> 대량 정보 저장 및 빠른 검색 지원 가능

② 데이터 통신 기술의 발전 -> 빠른 정보 전송이 가능 -> 데이터의 동시 공유 가능

-> DBMS의 등장을 촉진시켰다.

데이터베이스 관리 시스템의 필수 기능

1. 데이터 정의 기능

1) DB의 논리적인 구조를 기술할 수 있어야 한다.

 -> 다양한 응용 프로그램이 요구하는 데이터 구조를 지원할 수 있도록 DB의 논리적 구조와 그 특성을 선택한 DBMS가 기초로 하고 있는 데이터 모델에 맞게 기술할 수 있어야 한다.

2) DB의 물리적 구조를 기술할 수 있어야 한다.

 -> DB를 물리적 저장장치에 저장하는데 필요한 물리적인 구조에 대한 명세를 포함해야 한다.

3) DB의 물리적 구조와 논리적 구조 사이의 변환이 가능하도록 사상에 대해 명세서를 기술할 수 있어야 한다. 

 

데이터 언어인 SQL이 제공하는 데이터 정의어를 보자.

① 데이터 모델에서 지원하는 데이터 구조 생성하기

ex) Create TABLE

② 데이터 구조 변경하기

ex) ALTER TABLE

③ 데이터 접근을 위해 특정 속성에 인덱스 정의하기

ex) CREATE INDEX

④ 데이터 구조 삭제하기

ex) DROP TABLE

 

2. 데이터 조작 기능

사용자의 요구에 따라 데이터의 검색, 갱신, 삽입, 삭제 등과 같은 DB 연산을 지원하며, 다양한 사용자와 DB 간의 인터페이스를 제공하는 기능이다.

 

이는 다음과 같은 조건을 만족해야 한다.

1) 사용하기 쉽고, 자연스러워야 한다.

2) 원하는 조작을 명확하고 완전하게 기술할 수 있어야 한다.

-> 사용자가 원하는 어떠한 데이터 연산도 완전하게 기술할 수 있어야 한다.

3) 데이터 처리 및 접근이 효율적이어야 한다.

 

SQL의 데이터 조작어

① 데이터의 검색: SELECT

② 데이터의 수정: UPDATE

③ 데이터의 삭제: DELETE

④ 데이터의 삽입: INSERT

 

3. 데이터 제어 기능

공용으로 관리되는 DB 내용의 정확성과 안정성을 유지하는 기능으로, 무결성 및 일관성 유지 기능과 보안, 병행수행 제어 기능 등을 포함한다. 

 

제어 기능이 갖추어야 할 요건은 다음과 같다.

1) 무결성 유지 기능이 중요하다.

-> DB에 접근하는 삽입, 삭제, 갱신 작업이 정확하게 수행되도록 하여, 데이터 무결성이 파괴되지 않도록 제어할 수 있어야 한다.

2) 보안 및 권한 검사 기능이 필요하다.

-> 권한이 부여된 정당한 사용자만이 허용된 데이터에 접근할 수 있도록 보안 유지 및 접근 권한을 검사할 수 있어야 한다.

3) 동시성 제어 기능이 요구된다.

-> 여러 사용자가 DB에 동시에 접근해서 데이터를 처리할 때, DB 및 처리 결과가 정확성을 유지하도록 동시성을 제어하는 기능을 제공해야 한다.

 

SQL의 데이터 제어어

① 권한 부여: GRANT

② 권한 철회: REVOKE

③ 테이블 백업: BACKUP

데이터베이스 관리 시스템(DBMS)의 장단점

장점

1) 데이터의 동시 공유

2) 데이터 중복의 최소화

3) 데이터 무결성 유지

4) 데이터 일관성 유지

5) 프로그램과 데이터 간의 독립성 유지

6) 효율적인 데이터 보안 관리

7) 데이터 관리의 표준화

8) 데이터 요구 조정 가능

단점

1) 초기 개발비 및 운영비 증가

2) 데이터 처리의 복잡성

3) 백업 및 복구의 복잡성

4) 시스템 장애에 대한 취약성

728x90

'Database' 카테고리의 다른 글

데이터베이스 시스템 개요  (0) 2022.03.27
데이터베이스 관리 시스템 개요(2)  (0) 2022.03.05
데이터베이스(DB) 개요 (2)  (0) 2022.02.27
데이터베이스(DB) 개요 (1)  (0) 2022.02.27

댓글