데이터베이스
데이터베이스는 일정한 구조와 규칙으로 데이터를 저장하고 검색·수정·무결성·동시 접근을 관리하도록 구성한 데이터 집합이다.
1. 개요
데이터베이스는 응용 프로그램이 지속적으로 사용할 데이터를 체계적으로 관리한다. 데이터베이스 관리 시스템(DBMS)은 저장, 질의, 갱신, 권한, 백업과 동시 접근을 처리한다. 관계형 DBMS는 데이터를 테이블의 행과 열로 표현한다.[1]
2. 핵심 구성
| 구분 | 설명 |
|---|---|
| 스키마 | 테이블·열·자료형·관계와 제약 조건 정의 |
| 질의 | 조건에 맞는 데이터를 읽고 집계·결합 |
| 트랜잭션 | 여러 변경을 하나의 논리적 작업으로 처리 |
| 인덱스 | 추가 저장 공간과 쓰기 비용을 사용해 특정 조회를 빠르게 함 |
3. 작동 원리
응용 프로그램은 연결을 열고 SQL이나 전용 API로 작업을 요청한다. DBMS는 권한을 확인하고 실행 계획을 세워 저장 장치와 캐시에서 데이터를 찾는다. 트랜잭션과 잠금·다중 버전 동시성 제어는 여러 사용자가 동시에 읽고 쓸 때 일관성을 유지하도록 돕는다.
4. 형성과 표준
초기의 계층형·네트워크형 모델 이후 관계형 모델과 SQL이 널리 퍼졌다. 현재는 문서, 키-값, 그래프, 시계열처럼 목적별 데이터 모델도 함께 사용된다. PostgreSQL 공식 문서는 관계형 개념과 SQL, 테이블·조인·집계·트랜잭션을 단계적으로 설명한다.[2]
5. 활용과 주의점
데이터베이스는 백업만 만들어서는 충분하지 않고 실제 복구 시험이 필요하다. 응용 계정에는 최소 권한을 부여하고 비밀키를 소스 코드에 넣지 않는다. 사용자 입력을 문자열로 이어 붙이지 말고 매개변수화 질의를 사용해 SQL 주입을 막는다.