데이터베이스
데이터베이스는 단순히 데이터를 모아놓은 것이 아니라, 여러 응용 시스템들이 공유하고 사용할 수 있또록 관련성 있는 데이터들의 집합을 체계적으로 저장 및 관리하는 저장소를 의미한다.
데이터의 정의와 특성
- 데이터 : 현실 세계에서 관찰하거나 측정하여 얻은 사실(Fact)이나 값(Value)을 의미. 예를 들어 ‘홍길동’, ‘20세’, ‘서울’과 같은 것들이 데이터
- 정보 : 데이터를 가공하거나 처리하여 얻은 의미 있는 결과를 정보라고 함
- 데이터의 특성(데이터베이스 관점)
- 통합된 데이터 : 여러 사용자가 공동으로 사용할 수 있도록 중복을 최소화하여 통합된 데이터
- 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
- 운영 데이터 : 단순한 데이터 모음이 아니라, 조직 고유 기능을 수행하기 위해 꼭 필요한 데이터
- 공유 데이터 : 여러 사용자와 응용 프로그램이 함께 이요할 수 있도록 공유되는 데이터
데이터베이스의 필요성과 등장 배경
- 데이터베이스 이전에는 파일 시스템으로 데이터를 관리, 각 응용 프로그램이 각자 데이터 파일을 가지고 관리하는 방식
- 파일시스템의 문제점
- 데이터 중복성 : 각자 별도 파일로 관리하여 중복 가능성 높음, 저장공간 낭비+데이터 일관성 유지 어려움
- 데이터 불일치성 : 중복된 데이터 일부만 수정되고 나머지 수정 안되면 데이터끼리 불일치
- 데이터 종속성 : 응용 프로그램이 특정 파일 구조에 종속돼 파일 구조가 변경되면 해당 파일을 사용하는 모든 프로그램 수정 필요
- 데이터 동시 접근의 어려움 : 여러 사용자가 동시에 데이터를 읽거나 수정하기 어려워 복잡한 메커니즘 필요
- 데이터 보안 및 복구 미흡 : 파일시스템 만으로 복잡한 보안 요구사항이나 데이터 복구기능 제공 어려움
- 위와 같은 문제로 데이터베이스와 이를 관리하는 DBMS 등장
DBMS
정의 및 역할
- Database Mnangement System은 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 데이터를 생성, 공유, 관리해주는 소프트웨어
- 주요 역할
- 데이터 구조 정의(스키마 정의)
- 데이터 저장 및 관리
- 데이터 검색, 삽입, 수정, 삭제 (CRUD; Create Read Update Delete)
- 데이터 일관성 및 무결성 유지
- 보안 및 접근 제어
- 동시성 제어
- 장애 발생시 데이터 복구
주요 기능
- 데이터 정의(Data definition)
- 데이터베이스 구조(스키마), 데이터 타입, 제약 조건 등을 정의하는 기능
- DDL(Data Definition Language)를 사용
- 데이터 조작(Data Manupulation)
- 저장된 데이터를 검색, 삽입, 수정, 삭제 하는기능
- DML(Data Manipulation Language) 사용
- ex : SQL의 SELECT, INSERT, UPDATE, DELETE
- 데이터 제어(Data Control)
- 데이터의 보안, 무결성 유지, 병행제어, 회복 등을 위한 기능
- DCL(Data Control Language) 또는 TCL(Transaction Control Language) 사용
- ex : SQL의 GRANT, REVOKE, COMMIT, ROLLBACK
- 데이터 저장 관리 (Data Storage Management)
- 데이터를 효율적으로 저장하고 접근할 수 있도록 관리
- 질의 처리 (Query Processiong)
- 사용자 데이터 검색(Query) 요청을 처리하고 최적화하는 기능
- 트랜잭션 관리(Transaction Management)
- 데이터 처리 단위인 트랜잭션을 관리하고 ACID 속성을 보장
- 트랜잭션 및 동시성 제어
데이터베이스 시스템 구성요소
데이터베이스 사용자
- 데이터베이스에 접근하여 데이터를 사용하거나 관리하는 사람 또는 응용 프로그램
- 종류 : 최종 사용자(End User), 응용 프로그래머(Application Programmers), 데이터베이스 관리자(DBA)
데이터베이스 응용 프로그램
- 데이터베이스에 저장된 데이터를 활용하여 특정 업무를 수행하는 소프트웨어
- DBMS가 제공하는 인터베이스(API or 드라이버)를 통해 데이터베이스에 접근
DBMS
- 사용자의 요청을 처리하고 데이터베이스를 관리하는 핵심적인 역할
Database
- 실제 데이터가 저장되는 물리적 공간 또는 논리적 구조
- 체계적으로 구성된 데이터 자체의 집합
'DBMS > DBMS Common' 카테고리의 다른 글
[DBMS] Common(6) - 데이터베이스 성능 및 관리 (0) | 2025.09.12 |
---|---|
[DBMS] Common(5) - 트랜잭션 및 동시성 제어 (0) | 2025.09.12 |
[DBMS] Common(4) - 데이터베이스 설계 및 정규화 (0) | 2025.09.12 |
[DBMS] Common(3) - SQL (0) | 2025.09.12 |
[DBMS] Common (2) - Data Model (0) | 2025.09.10 |