DBMS: Difference between revisions
From IT Wiki
No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:정보처리기사]] | [[분류:정보처리기사]][[분류:데이터베이스]] | ||
;Database Management System | ;Database Management System | ||
;파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장. 모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템 | ;파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장. 모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템 | ||
Line 5: | Line 5: | ||
== 등장 배경 == | == 등장 배경 == | ||
; 기존의 파일처리 방식의 문제점 | ; 기존의 파일처리 방식의 문제점 | ||
* 종속성의 문제점: 저장되는 방법이나 접근방법을 변경할 때 모두 바꿔줘야 한다. | |||
* 중복성의 문제점: 일관성, 보안성, 경제성, 무결성 부족 | |||
== 역할 == | == 역할 == | ||
Line 19: | Line 19: | ||
== 장·단점 == | == 장·단점 == | ||
; 데이터베이스 외 기존 파일·문서 시스템 대비 장단점 | |||
{| class="wikitable" | |||
|- | |||
! 장점 !! 단점 | |||
|- | |||
| | |||
* 데이터 중복 예방 | |||
* 자료를 공동으로 이용 | |||
* 일관성, 무결성, 보안성, 최신성 유지 | |||
* 데이터 표준화 및 통합 관리 | |||
* 실시간 처리 | |||
* 논리적 물리적 독립성 보장 | |||
|| | |||
* 전문가 수급에 따른 전산화 비용 증가 | |||
* 디스크에 집중적인 접근으로 과부하 발생 | |||
* 파일의 백업과 회복의 어려움 | |||
* 시스템 복잡도 증가 | |||
|} | |||
== | == 관리 == | ||
=== 시스템 카탈로그 === | |||
* 시스템 그 자체를 관리하기 위한 정보를 가지고 있는 시스템 데이터베이스 | |||
* DBMS가 스스로 생성하고 유지한다. | |||
* 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 하며, 카탈로그를 자료 사전(Data Dictionary)라고도 한다. | |||
** 실무적으로 시스템 카탈로그는 '시스템 DB', '시스템 테이블' 등으로 불린다. | |||
* 일반 테이블과 마찬가지로 일반 사용자가 SQL문을 통해 제어 가능하다. | |||
** 대부분의 테이블은 SELECT만 가능하며, 일부 테이블에 한해 INSERT, UPDATE, DELETE가 가능하다. | |||
=== 관리 언어 === | |||
; 상세한 내용은 [[SQL|SQL 문서 보기]] | |||
* '''정의어 (DDL : Data Definition Language)''' | * '''정의어 (DDL : Data Definition Language)''' | ||
** 데이터베이스 구조를 정의 및 수정하기 위해 사용되는 언어 | ** 데이터베이스 구조를 정의 및 수정하기 위해 사용되는 언어 | ||
Line 40: | Line 56: | ||
** 데이터베이스의 데이터 무결성 유지, 보안, 병행, 제어, 보호와 관리를 위한 언어 | ** 데이터베이스의 데이터 무결성 유지, 보안, 병행, 제어, 보호와 관리를 위한 언어 | ||
== | == 설계 시 고려사항 == | ||
* 무결성 유지: 연산 후에도 데이터가 정해진 제약조건을 항상 만족해야 함 | * 무결성 유지: 연산 후에도 데이터가 정해진 제약조건을 항상 만족해야 함 | ||
* 일관성 유지: 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함 | * 일관성 유지: 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함 |
Latest revision as of 16:25, 28 September 2019
- Database Management System
- 파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장. 모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템
등장 배경[edit | edit source]
- 기존의 파일처리 방식의 문제점
- 종속성의 문제점: 저장되는 방법이나 접근방법을 변경할 때 모두 바꿔줘야 한다.
- 중복성의 문제점: 일관성, 보안성, 경제성, 무결성 부족
역할[edit | edit source]
- 사용자의 요구에 따라 정보를 생성하고 스키마와 데이터를 관리
- 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램이 DB를 공용할 수 있도록 관리
- DB의 구성, 접근방법, 유지관리에 대한 모든 책임
기능[edit | edit source]
- 정의 기능(Definition Facility): 데이터의 형태, 구조 등 데이터베이스의 저장에 관한 여러 가지 사항을 정의하는 기능
- 조작 기능 (Manipulation Facility): 사용자가 이용할 수 있도록 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능
- 제어 기능 (Control Facility): 데이터의 정확성과 안전성 유지를 위한 기능으로, 데이터 무결성 유지, 보안, 병행 제어 등을 제공
장·단점[edit | edit source]
- 데이터베이스 외 기존 파일·문서 시스템 대비 장단점
장점 | 단점 |
---|---|
|
|
관리[edit | edit source]
시스템 카탈로그[edit | edit source]
- 시스템 그 자체를 관리하기 위한 정보를 가지고 있는 시스템 데이터베이스
- DBMS가 스스로 생성하고 유지한다.
- 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 하며, 카탈로그를 자료 사전(Data Dictionary)라고도 한다.
- 실무적으로 시스템 카탈로그는 '시스템 DB', '시스템 테이블' 등으로 불린다.
- 일반 테이블과 마찬가지로 일반 사용자가 SQL문을 통해 제어 가능하다.
- 대부분의 테이블은 SELECT만 가능하며, 일부 테이블에 한해 INSERT, UPDATE, DELETE가 가능하다.
관리 언어[edit | edit source]
- 상세한 내용은 SQL 문서 보기
- 정의어 (DDL : Data Definition Language)
- 데이터베이스 구조를 정의 및 수정하기 위해 사용되는 언어
- 조작어 (DML : Data Manipulation Language)
- 데이터베이스 내의 자료를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어
- 제어어 (DCL : Data Control Language)
- 데이터베이스의 데이터 무결성 유지, 보안, 병행, 제어, 보호와 관리를 위한 언어
설계 시 고려사항[edit | edit source]
- 무결성 유지: 연산 후에도 데이터가 정해진 제약조건을 항상 만족해야 함
- 일관성 유지: 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
- 회복성 유지: 장애 발생시 장애 발생 직전의 상태로 복구할 수 있어야 함
- 보안성 유지: 데이터 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
- 효율성 유지: 응답시간 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
- 확장성 유지: DB 운영에 영향을 주지 않고 지속적으로 데이터를 추가 할 수 있어야 함