데이터베이스 : 컴퓨터 또는 장치에 저장된 구조화된 데이터의 집합.
(데이터베이스 관리 시스템 = Database Management System을 줄여 데이터 베이스라고도 한다.)
DBMS
- 컴퓨터에 저장된 서로 관계된 데이터의 집합
- 데이터를 접근하는 프로그램의 집합
- DBMS는 특정 기업에 관한 정보를 포함한다
- DBMS는 사용이 편리하고 효율적인 환경을 제공한다.
데이터베이스 시스템의 목적
- 초기 데이터베이스 애플리케이션은 파일 시스템을 이용하여 생성.
- 파일 시스템 사용의 문제점
- 데이터 중복 및 불일치 : 여러 가지 파일 형식, 여러 개의 파일에 중복된 정보의 저장
- 데이터 접근이 어려움 : 새로운 임무를 수행하기 위해 새로운 프로그램의 작성이 필요
- 데이터의 고립성 : 여러 개의 파일과 형식.
- 무결성 : 정확한 데이터가 유지되고 있는지 보장하기 어려움.
- 파일 시스템 사용의 문제점
- 갱신의 원자성(Atomicity)
- 데이터가 갱신이 실패해 일부만 수행되었을 때 불일치한 상태로 데이터가 남아있게 된다.
- 계좌이체 업무는 양쪽의 계정처리가 모두 실행되거나 하나도 실행되지 않아야 한다.
- 다수 사용자의 동시 접근
- 성능 향상을 위해 동시 접근이 필요하다.
- 통제 되지 않은 동시 접근은 데이터의 불일치를 유발한다.
- 보안 문제
- 갱신의 원자성(Atomicity)
- 데이터베이스 시스템은 위의 문제들에 대한 해결책을 제시한다.
DBMS의 장단점
- 장점
- 데이터 중복이 없음
- 공동으로 자료 이용이 가능하다
- 일관성 유지
- 데이터의 무결성 유지
- 최신 데이터 유지
- 데이터 실시간 처리 가능하다
- 단점
- 전문가가 필요하다
- 전산화 비용이 증가
- 시스템이 복잡하다
- 복구가 어렵다
SQL(Structured Query Language) : 데이터베이스 언어
- 데이터를 처리(정의, 조작, 제어)하기 위한 표준 언어
- 데이터 정의(DDL), 데이터 처리(DML), 데이터 제어(DCL)
DDL : Data Definiton Language
- 데이터 형태, 구조, 데이터베이스의 저장에 관한 내용 정의 및 변경 = 관리자(DBA) 사용
- 생성 : CREATE
- 수정 : ALTER
- 삭제 : DROP
- 삭제 후 생성 : TRUNCATE (DROP 후 CREATE)
DML : Data Manipulation Language
- 사용자의 요구에 따라 데이터 검색, 갱신, 삽입, 삭제 등을 지원하는 기능 = 사용자가 사용
- 사용자가 응용프로그램과 데이터베이스 상에 실질적인 데이터 처리를 위해 사용
- 조회 : SELECT
- 추가 : INSERT
- 삭제 : DELETE
- 변경 : UPDATE
DCL : Data Control Language
- 정확성과 안정성을 유지하는 기능 = 관리자 사용
- 무결성 유지, 보안, 권한, 병행 수행 제어, 복구 등을 제어한다.
'개인 공부' 카테고리의 다른 글
[Python] Numpy(1) (0) | 2025.01.25 |
---|---|
기본 SQL 연습하기 2 (0) | 2025.01.19 |
기본 SQL 연습하기 (0) | 2025.01.18 |
객체지향 프로그래밍 OOP (0) | 2025.01.15 |
JWT를 사용한 Spring Security 기반 인증 시스템 구현 (1) | 2024.12.27 |