[CS] DBMS 기능과 종류

말랑이·2025년 2월 26일

CS

목록 보기
10/10

1. DBMS

  • Database Management System의 준말
  • 데이터를 한곳에 모은 저장소를 만들고, 그 저장소에 여러 사용자가 접근하여 데이터 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용소프트웨어 프로그램
  • 공유저장소(서버)를 구축하고, 사용자들에게 접근정보를 공유하여 데이터를 처리할 수 있는 인터페이스를 제공하고 복구기능 및 보안성기능을 제공함


2. DBMS 기능

1️⃣ DBMS 요구사항

관점기능
효율성- 동일한 데이터가 저장되는 것을 방지하는 중복제어기능
- 무결성 제약조건을 정의/검사하는 기능
직관성- 서로 다른 데이터 간의 관계를 표현해주는 관계표현
- 편리하고 직관적인 인터페이스
안전성- 접근하는 사용자마다 다른 권한을 부여하는 접근통제기능
- 데이터가 잘못 수정/삭제되었을 때 백업하는 기능

2️⃣ Transaction

  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업단위
  • 트랜잭션은 데이터베이스 시스템에서 병행제어 및 회복작업 시 처리되는 작업의 논리적단위
  • 사용자가 시스템에 대한 요구 시 시스템이 응답하기 위한 상태 변환과정의 작업단위

트랜잭션의 특성

특성내용
원자성(Atomicity)- 트랜잭션의 연산은 데이터베이스 전체에 반영되도록 All-반영 or All-복구 되어야 함
- 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 함
- 완벽히 수행되지 않고 하나라도 오류가 발생하면 모두 롤백되어야 함
일관성(Consistency)- 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
- 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 함
독립성(Isolation)- 둘 이상의 트랜잭션이 동시에 실행되는 경우 어느 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어들 수 없음
영속성, 지속성(Durability)- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

3. 관계형 데이터베이스 (SQL DB)

  • 테이블로 이루어져 있고, 테이블은 key와 value로 나타냄
  • 데이터 종속성을 관계(Relationship)로 표현하는 것이 특징

1️⃣ 특징

  • 데이터 분류/정렬/탐색 속도가 빠름
  • 신뢰성이 높고 어떠한 상황에서도 데이터의 무결성을 보장함
  • SQL 표준언어로 관리 가능
  • 기존에 작성된 스키마를 수정하기 어려움

2️⃣ 연관관계

  • 기본키(PK)와 외래키(FK)를 통해 관계를 맺음

3️⃣ SQL 언어종류

종류역할
DDL(Data Definition Language)- 데이터 정의어, 관계형 데이터베이스의 구조를 정의하는 언어
- CREATE, ALTER, DROP, RENAME
DML(Data Manipulation Language)- 데이터 조작어 (CRUD)
- INSERT, UPDATE, SELECT, DELETE
DCL(Data Control Language)- 데이터 제어어, 사용자에게 권한을 부여하거나 회수함
- GRANT, REVOKE, TRUNCATE
TCL(Transaction Control Language)- 트랜잭션을 제어하는 명령어
- COMMIT, ROLLBACK, SAVEPOINT

4. NoSQL

  • SQL 뿐만 아니라 다른 여러 장점을 가지고 있다는 뜻
  • RDB보다 융통성 있는 데이터모델을 사용하며, 데이터 저장 및 검색에 특화된 메커니즘을 제공함
  • 분산환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발됨

  • 테이블구조가 정해져있고, 내부 데이터 수정이 빈번할 때 👉🏻 RDB
  • 테이블구조가 정해져있지 않고(추후 수정가능성이 높고) 대량의 데이터를 처리할 때 👉🏻 NoSQL DB

참고

profile
🐰 I'm Sunyeon-Jeong, mallang

0개의 댓글