DBMS
- DB를 관리하고 운영하는 시스템
- 데이터를 정의, 저장, 수정, 삭제, 조회 등의 작업을 효율적으로 수행할 수 있게 해준다.
- 다수의 사용자들이 동시에 데이터에 접근하고 데이터를 안전하게 관리할 수 있도록 다양한 기능을 제공한다.
- SQL이라는 언어로 DBMS에 데이터 관리를 요청하면 DBMS가 요청을 처리한다.
- DBMS 주요 기능
- 데이터 정의
- DB 구조를 정의할 수 있는 기능을 제공한다.
- 데이터 관리
- 데이터를 물리적으로 저장하고 관리하는 역할을 수행한다.
- 데이터를 저장하기 위한 최적화된 구조와 파일 시스템을 관리한다.
- 사용자가 데이터를 다룰 수 있도록 쿼리 언어(SQL)을 제공한다.
- 데이터 보안
- 사용자 권환 관리, 암호화, 감사 로그 등을 통해 데이터를 보호한다.
- 트랜잭션 관리
- DBMS는 여러 사용자가 동시에 데이터에 접근할 때, 데이터의 일관성을 유지하기 위한 트랜잭션 관리 기능을 제공한다.
- ACID 속성 보장
- Atomicity : 트랜잭션의 모든 작업이 성공적으로 완료되거나, 실패 시 모든 작업이 롤백됨
- Consistency : 트랜잭션이 DB를 일관된 상태로 유지
- Isolation : 동시에 실행되는 트랜잭션 간 영향 최소화
- Durability : 트랜잭션이 완료된 후 데이터의 변경 사항은 영구적으로 저장
- 백업 및 복구
- 정기적인 백업을 통해 데이터를 보호, 장애 발생 시 데이터 복구가 가능
- 동시성 제어
- 다수의 사용자가 동시에 DB에 접근하더라도 데이터 일관성이 유지되도록 동시성 제어를 제공한다.
★ 관계형 DBMS
- 가장 많이 사용하는 DB
- 데이터를 테이블 형태로 구조화해 저장하고 관리하는 시스템
- 테이블 간 관계를 이용해 데이터를 연결한다.
ex) Oracle, MySQL 등
JDBC
- Java 언어로 DB와 상호작용을 하기 위한 자바 표준 인터페이스로 DBMS와 통신하여 CRUD를 할 수 있게 해준다.
- JDBC 구조