나의 공부 일기

Database) DBMS(Database Management System) 본문

데이터베이스/데이터베이스 정리

Database) DBMS(Database Management System)

곽병권 2023. 10. 30. 14:43
728x90

DBMS(Database Management System)란 

자료가 저장된 데이터베이스를 관리하는 역할의 시스템 프로그램이자

다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어입니다.

 

또한

파일을 기반으로 데이터를 관리하게되면 데이터 중복, 데이터 불일치 등 문제가 발생합니다.

 

파일 시스템의 단점을 보완하기 위해 데이터베이스가 만들어졌습니다.

 

이 DBMS를 전문적으로 운영하는 인력을 말하는 DBA(Database Administrator)도 있습니다.

 

 

 

 

DBMS의 기본기능으로는 

데이터 추출(검색)

- 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함

 

데이터 조작(추가, 수정, 삭제)

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

 

데이터 정의(DB, 테이블)

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

 

데이터 제어(사용자(관리자) 정보관리, 데이터베이스 자체 손실, 오류 복구등을 관리)

- 데이터 베이스 사용자를 생성하고 모니터링하며 접근을 제어합니다.

- 백업과 회복, 동시성 제어 등의 기능을 지원합니다.

 

이렇게 4가지가 있습니다.

 

 

다음은 DBMS의 사용이점입니다.

데이터 독립

- 데이터와 응용 프로그램을 분리시킴으로써 상호 영향 정도를 줄일 수 있습니다.

 

데이터 중복 최소화, 데이터 무결성 보장

- 중복 되는 데이터를 최소화 시키게 되면 불필요한 저장공간의 낭비를 줄일 수 있습니다.

- 데이터의 중복 무결성 검증이 용이합니다.

 

데이터 보안 향상

- 응용프로그램은 DBMS를 통해 DBMS가 허용하는 데이터에만 접근 할 수 있습니다.(접근 통제 가능)

- 데이터를 암호화 시켜 저장이 가능합니다.

 

관리 편의성 향상  

- 다양한 방법으로 데이터를 백업 할 수 있습니다.

- 장애 발생시 빠른 데이터 복구가 가능합니다.

 

DBMS를 쓰지 않을 이유가 없겠죠.

 

 

 

DBMS의 종류와 그 DBMS의 특징도 있습니다.

먼저 RDB (Reational Database:RDB) 라고 불리는 관계형 DB  입니다.

 

관계형 DB는 현재까지 가장 범용적으로 사용되고 있는 DBMS 입니다.

 

1970년 Edger Frank Codd 박사가 관계형 데이터베이스에 관련된 논문을 발표 하여

관계형 데이터 모델링을 정의하였습니다.

 

1979년 첫번째 상업용 관계형DBMS(데이터베이스 Version2)가 RSI사 (Relational Software Inc.)를 통해 출시되었습니다.

 

 

관계형 DB 즉 RDB는 데이터를 열과 행으로 이루어진 테이블 형태 로 관리하며,

테이블 간에 관계(Relation) 라는 개념을 통해 연결할 수 있고,

이 테이블은 레코드(row,행) 들의 집합으로 구성되며, 레코드는 필드(column)으로 구성되어 있습니다. 

 

 

 

대표적인 RDBMS로는 Oracle, DB2, MS-SQL, Sybase, MySQL 등이 있습니다.

 

이런 RDMBS들은

SQL(Structured Query Language)라는 직관적이고 언어를 통해 데이터를 처리합니다.

또한 기존에 어플리케이션에서 처리하던 많은 기능들을 DBMS및 SQL을 통해 지원이 가능합니다.

 

일반적으로 높은 성능을 보여주고 있으며, 데이터의 일관성으로 보장해주고 있으며,

가장 오랜 기간 사용되어 검증되고 보장된 기술입니다.

 

단점으로 복합 애플리케이션(CAD/CAM, GIS) 및 실시간 분석에는 적합하지 않으며, 테이블 구조 변경시 영향도 확인후 작업해야 합니다.(즉각적인 변경에 한계가 있습니다.)

 

 

주요 용어로는

Table(Relation)

- 하나의 DB안에서 사용되는 값을 세부 목적에 맞게 구조적 목록으로 묶어놓은 영역입니다.

- 테이블에 저장되는 데이터를 한 가지 형식의 데이터이거나 목록을 말합니다.

- 테이블의 이름은 고유해야 합니다.

 

Columns(Fields, Attribute, 열)

- 특정한 단순 자료 형의 일련의 데이터 값과 테이블에서의 각 열을 뜻합니다.

 

Rows(Record, Tuple, 행)

- 테이블에서 한 객체의 대한 전체 정보를 말합니다.

- 한 행의 필드 개수를 Cardinality 또는 Cardinal Number또는 대응수 라고 합니다.

 

Field

- Column의 대용으로 동일한 의미로 사용되지만 한 행과 한 열의 교차 지점에 있는 단일 값을 특별히 지칭하는 용어입니다.

 

Database의 구조는

이렇게 이루어져 있습니다.

 

 

 


여기까지 DBMS에 대해 정리해보았습니다.

728x90

'데이터베이스 > 데이터베이스 정리' 카테고리의 다른 글

Database) SQL이란?  (0) 2023.10.31
Database) 데이터베이스?  (0) 2023.10.27