데이터베이스 (1) 데이터베이스 기본 개념, 데이터베이스 관리 시스템
데이터베이스 기본 개념
데이터베이스의 필요성
- 정보처리 (information processing) : 데이터에서 정보를 추출하는 과정 또는 방법. 정보처리는 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미 관계를 파악하는 것이다
- 정보시스템 (information system) : 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 의사 결정이 필요할 때 처리하여 유용한 정보를 만들어주는 수단.
데이터베이스의 정의와 특성
- 정의
- 데이터베이스 (Database) : 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
- 공유 데이터 (shared data) : 특정 조직의 여러 사용자가 함께 소윻고 이용할 수 있음
- 통합 데이터 (integrated data) : 데이터의 중복을 최소화하고 통제가 가능한 중복만 허용
- 저장 데이터 (stored data) : 컴퓨터가 처리하므로 컴퓨터가 접근할 수 있는 매체에 저장
- 운영 데이터 (operational data) : 조직을 운영하고 조직의 주요 기능을 수행하기 위해 꼭 필요하고 지속적으로 유지
- 특성
- 실시간 접근 : 사용자의 데이터 요구에 실시간으로 응답
- 계속 변화 : 동적인 특성. 현실 세계의 상태를 정확히 반영. 현실세계가 끊임 없이 변하므로 데이터베이스에 저장된 데이터도 계속 변해야 한다 -> 삽입, 수정, 삭제
- 동시 공유 : 여러 사용자가 동시에 이용
- 내용 기반 참조 : 값으로 참조. 저장된 주소나 위치가 아님.
데이터베이스 관리 시스템
데이터베이스 관리 시스템의 등장 배경
- 파일시스템 : 데이터를 파일로 관리할 수 있도록 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 정보 처리 시스템. 운영체제와 함께 설치. 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리
- 문제점
- 데이터 중복성의 문제 : 같은 데이터가 여러 파일에 저장. 저장공간 낭비, 데이터 일관성, 무결성 유지 어려움
- 데이터 종속성 : 사용하는 파일 구조를 변경하면 응용 프로그램도 함께 변경해야함.
- 동시 공유, 보안, 회복기능이 부족 : 동시 접근 불가능. 이를 해결하기 위해 같은 내용의 파일을 여러 개 만드면 데이터 중복이 더 큰 문제를 야기
- 응용 프로그램 개발이 쉽지 않음 : 파일에 접근하여 데이터 관리하는 것을 응용프로그램에서 담당하기 때문에 사용자 요구에 맞는 응용 프로그램 개발이 어렵다. 새 응용 프로그램에 데이터 읽기 삽입 등 데이터 관리 기능 모두 포함해야
데이터베이스 관리 시스템의 정의
- 파일 시스템의 근본적 문제 : 데이터 중복성, 종속성
-> 데이터 통합 저장으로 해결
- 데이터베이스 관리 시스템 (DBMS, Database Management System) : 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이를 집중적 관리. 검색 삽입 삭제 수정 가능, 모든 응용 프로그램이 공유 가능
- DBMS의 주요 기능
- 정의 기능 : 데이터베이스 구조를 정의하거나 수정
- 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산
- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지
데이터베이스 관리 시스템의 장단점
- DBMS의 장점
- 데이터 중복을 통제
- 데이터 독립성 확보
- 데이터를 동시에 공유
- 보안 향상
- 무결성 유지 = 정확성
- 표준화 가능
- 장애 발생 시 회복 가능
- 응용프로그램 개발 비용 줄어듬
- 단점
- 비용 많이 듬 (구입 비용 등)
- 백업과 회복 복잡
- 중앙 집중 관리로 인한 취약점 : 중앙 장애 시 전체 처리 중단
데이터베이스 관리 시스템의 발전과정
- 1세대 : 네트워크 DBMS와 계층 DBMS
- 2세대 : 관계 DBMS
- 3세대 : 객체지향 DBMS와 객체관계 DBMS