reference: "데이터베이스 개론" / 김연희 / 한빛아카데미
source: "오라클로 배우는 데이터베이스 개론과 실습" / 박우창,남송휘,이헌룡 / 한빛 아카데미
파일 시스템의 단점은 '데이터 중복성'과 '데이터 종속성'이 크다는 것이다.
때에 따라서 여러 응용 프로그램이 하나의 파일을 공용으로 사용할 수도 있다. 같은 내용의 데이터를 똑같은 구조로 사용할 수도 있고, 프로그램의 사용에 따라 구조를 다르게 하여 사용할 수도 있다. 후자의 경우 또 다시 별도의 파일로 만들어 사용해야 한다. 결과적으로 하나의 파일 시스템에서 같은 내용의 데이터들이 중복으로 존재하게 된다. 이를 데이터 중복성이라 한다. 데이터 중복성으로부터 야기되는 사례는 다음과 같다.
1) 데이터 중복성 => 데이터 불일치(일관성 파괴)
한 고객의 연락처가 변경되어 고객 데이터 파일만 수정하고, 주문 데이터 파일을 수정하지 않았을 때 같은 고객의 연락처가 파일마다 달라 데이터 간의 불일치가 발생하고, 결과적으로 데이터 일관성이 유지되지 않음.
2) 데이터 중복성 => 데이터 무결성 파괴
고객 ID가 영어와 숫자를 섞어 5자 이상이어야 한다는 규약이 있다면 고객 ID가 포함된 파일을 이용하는 모든 응용 프로그램에서 이런 제약 사항을 확인해야 함. 그렇지 않으면 유효하지 않은 고객 ID가 저장된 파일이 존재하여 데이터 무결성, 즉 정확성이 유지되지 못함.
응용 프로그램은 파일에 직접 접근하여 데이터를 처리해야 하므로 사용하는 파일의 데이터를 구성하는 방법이나 물리적 저장 구조에 맞게 작성되어야 함. 따라서 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 하는데 이러한 특성을 데이터 종속성이라 한다.
source: "오라클로 배우는 데이터베이스 개론과 실습" / 박우창,남송휘,이헌룡 / 한빛 아카데미
위 그림을 살펴보면, 구매/관리 데이터가 DB에 통합되어 저장되며, 구매 관리 프로그램, 판매 관리 프로그램이 동시에 사용할 때 발생할 수 있는 모든 분쟁을 DBMS가 중재해주기에 데이터 중복으로 인한 여러 문제가 해결됨. 나아가 DBMS는 사용하기 쉬운 다양한 인터페이스를 제공하기에 사용자가 응용 프로그램 없이도 데이터 처리를 직접 요구할 수도 있음.
=> 데이터 중복성 문제 해결
DB를 생성하고 접근하며 관리하는 일은 DBMS가 모두 담당함. 사용자는 직접 또는 응용 프로그램을 통해 원하는 데이터가 무엇이며, 어떠한 처리를 원하는지만 DBMS에 요청하면 됨. 결국 사용자나 응용 프로그램은 DB의 물리적 저장 구조나 데이터 접근 및 처리 방법 등을 자세히 알 필요가 없어 부담이 줄어듬. DB 구조나 접근 방법 등의 변경되어도 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성이 확보(데이터 종속성 문제 해결)됨.
=> 데이터 종속성 문제 해결
1. 정의 기능
: DM 구조를 정의하거나 수정할 수 있다.
ex) 테이블 생성, 변경, 제거
2. 조작 기능
: 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
ex) 데이터 검색/삽입/수정/삭제
3. 제어 기능
: 데이터를 항상 정확하고 안전하게 유지할 수 있다.
데이터 삽입/삭제/수정 연산 후에도 내용이 일관되면서 무결성을 유지하게 하고, 장애가 발생해도 회복이 가능하도록 제어. 나아가 권한이 있는 사용자에게만 데이터 접근을 허용하여 보안을 유지. 특히 여러 사용자가 DB에 동시 접근하여 데이터를 처리할 수 있도록 제어.
데이터 중복을 통제할 수 있음
-> 저장 공간 낭비 방지, 일관성 유지, 무결성 유지
데이터 독립성 확보
-> 응용 프로그램과 DB 사이에 독립성 확보
데이터 동시 공유
-> 동일한 데이터를 각 응용 프로그램의 요구에 따라 다양한 구조로 제공
데이터 보안 향상
데이터를 중앙 집중식으로 관리하므로 데이터에 대한 효율적인 접근 제어가 가능. 권한이 없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청을 사전에 차단할 수 있어 철저한 보안을 제공.
장해 발생 시 회복 가능
응용 프로그램 개발 비용 감소
데이터에 대한 모든 관리를 DBMS가 맡으므로 DB 구조 변경에 따른 응용 프로그램 수정 횟수가 줄어듬.
고비용
백업과 회복 방법이 복잡
중앙 집중 관리 시스템의 취약점