DB(데이터베이스) 구조와 유형
DB란?
- Database
- 정보를 체계적으로 분류하여 조합할 수 있는 단위
- 정보와 다름 (정보는 여러 종률의 문서로 흩어져있어 조합하기 어려운 단위)
DB 특징
- 데이터의 대규모 저장소로서, 여러 사용자에 의해 동시에 사용됨
- 모든 데이터가 중복을 최소화하면서 통합됨
- 데이터베이스는 운영 데이터뿐만 아니라 그 데이터에 관한 설명까지 포함
- 데이터베이스 스키마 또는 메타데이터(metadata)
- 프로그램과 데이터 간의 독립성이 제공됨
- 프로그램 메모리가 아닌 개별적인 저장공간에 저장
- 효율적으로 접근이 가능하고 질의를 할 수 있음.
- 질의? 엑셀의 수식기능과 비슷함
- 데이터베이스 관리 시스템(DBMS: Database Management System)
- 데이터베이스를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등 작업을 수행하는 소프트웨어
DB 스키마
- 데이터베이스 스키마
- 전체적인 데이터베이스 구조를 뜻하며 자주 변경되지 않음.
- 데이터베이스의 모든 가능한 상태를 미리 정의
DBMS
- 사용자가 새로운 데이터베이스를 생성
- 데이터베이스의 구조를 명시
- 사용자가 데이터를 효율적으로 질의하고 수정할 수 있도록 함
- 시스템의 고장이나 권한이 없는 사용자로부터 데이터를 안전하게 보호
- 동시에 여러 사용자가 데이터베이스를 접근하는 것을 제어
- 데이터베이스 언어라고 부르는 특별한 프로그래밍 언어를 한 개 이상 제공
DBMS의 요구사항
- 데이터 독립성
- 효율적인 데이터 접근
- 데이터에 대한 동시 접근
- 백업과 회복
- 중복을 줄이거나 제어하며 일관성 유지
- 데이터 무결성
- 데이터 보완
- 쉬운 질의어
- 다양한 사용자 인터페이스
DBMS의 장점
- 스키마 정의
- 중복성과 불일치가 감소됨
- 표준화를 시행하기가 용이
- 조직체의 요구사항을 식별할 수 있음
- 관리도구
- 시스템을 개발하고 유지하는 비용이 감소됨.
- 보안이 향상됨
- 무결성이 향상됨
- 다양한 유형의 고장으로부터 데이터베이스를 회복할 수 있음.
- 데이터베이스의 공유와 동시 접근이 가능함.
DBMS의 단점
- 추가적인 하드웨어 구입 비용이 들고, DBMS 자체의 구입 비용도 상당히 비쌈.
- 직원들의 관리도구 사용법 교육 비용 많이 소요됨
- 비밀과 프라이버시 노출 등의 단점이 존재할 수 있음
DBMS를 적용하면 안되는 경우
- 초기의 투자 비용이 너무 클 때
- 오버헤드가 너무 클 때
- 응용이 단순하고 잘 정의되었으며 변경되지 않을 것으로 예상될 때
- 엄격한 실시간 처리 요구사항이 있을 때
- 데이터에 대한 다수 사용자의 접근이 필요하지 않을 때