데이터의 종속
파일 처리 시스템에서는 파일들이 특정 프로그램에 종속된다. 이 때문에 필요한 업무에 따라 새로운 프로그램이 개발되면, 해당 프로그램에 종속되는 파일이 생성된다. 그러나 데이터가 특정 프로그램에 종속될 경우, 데이터의 논리적인 구조나 위치의 변경이 애플리케이션 프로그램의 변경으로 이어지기 때문에 프로그램 유지보수에 큰 비용이 소요된다. 또한 다른 프로그램과의 데이터 공유도 매우 어려워지게 된다. 따라서 데이터와 애플리케이션 프로그램은 독립적으로 관리되어야 하며, 이러한 성질을 데이터 독립성(data independency)이라고 한다. 데이터의 종속과 대비되는 개념인 데이터 독립은 데이터를 효과적으로 활용하기 위해 필요한 전제조건이다. 데이터의 독립성은 논리적 데이터 독립성(logical data independency)와 물리적 데이터 독립성(physical data independency)으로 구분된다. 논리적 데이터 독립성이란 프로그래머가 생각하는 데이터의 논리적 구조가 변하더라도 그에 따른 프로그램의 구조가 변경되지 않는 것을 의미한다. DBMS에서는 기존 파일 처리 시스템에서와는 달리, 데이터베이스의 논리적 구조 변경으로 인해 프로그램이 변경되어야 할 필요가 없다. 물리적 데이터 독립성이란 보조기억장치와 같이 파일과 관련된 물리적인 시스템 구조가 변경되더라도 프로그램은 그대로 유지하는 것을 말한다. 파일 처리 시스템의 경우 데이터를 저장하는 디스크 장치가 바뀌면 데이터 표현 방식이 달라지기 때문에 애플리케이션 프로그램 수정이 불가피하다. 그러나 DBMS에 서는 같은 상황에서 물리적 기술만 바꾸어 주면 될 뿐 프로그램을 변경할 필요가 없다.
지금까지 살펴본 데이터 종속성 문제는 효율적인 데이터 처리에 문제를 일으킨다. 이와 같은 문제를 해결하기 위하여 파일 단위로 작업을 처리하는 소프트웨어인 파일 관리 시스템(file management system)이 제안되었다.
파일 관리 시스템은 애플리케이션 프로그램들로 하여금 공통된 접근 루틴을 이용하여 파일에 접근할 수 있게 한다. 이 경우 각 애플리케이션 프로그램은 개별적으로 데이터 파일 처리 루틴을 작성할 필요 없이 파일 관리 시스템에서 제공하는 루틴을 사용하면 되므로 파일의 종속성 문제는 다소 해결된다. 하지만 파일 관리 시스템과 비교해 볼 때, DBMS는 데이터를 프로그램과 완전히 독립시킴으로써 종속(dependency)으로 인한 문제를 근본적으로 배제시킨다.
데이터의 중복
파일 처리 시스템을 사용하여 오랜 기간 데이터를 운용할 경우, 프로그램들이 사용하는 정보가 여러 파일에 중복적으로 저장될 수 있다. 예를 들어 학사 관리 시스템에서 복수전공(컴퓨터학과와 경영학과)을 이수하는 학생의 경우, 학생의 전화번호 및 주소가 각각 컴퓨터학과와 경영학과 학생 파일에 중복되어 나타나게 된다. 또한 학적 파일과 수강 파일은 거의 비슷한 내용인데도 애플리케이션 프로그램에서 요구하는 데이터의 형태가 다르기 때문에 파일 상호 공유가 불가능하다.
이렇게 데이터가 여러 파일에 중복되어 저장되는 문제를 데이터 중복성(data redundancy)이라고 한다. 데이터의 중복성은 다음과 같은 관점에서 심각한 문제의 원인이 된다.
① 일관성(consistency) 문제 : 하나의 사실을 나타내는 여러 개의 데이터가 존재할 때, 모든 데이터의 값이 논리적으로 같은 것을 데이터 일관성이라고 한다. 그러나 하나의 사실에 대한 데이터가 물리적으로는 서로 다른 장소에 위치하는 경우 이러한 일관성을 유지하기가 어렵다. 이 로 인해 데이터 내용 간의 불일치가 발생하게 되는데, 이를 비일관성(inconsistency)이라고 한다.
② 보안성(security) 문제 : 논리적으로 동등한 내용의 데이터에 대해서는 똑같은 수준의 보안이 유지되어야 한다. 그러나 같은 데이터가 중복되어 저장되는 경우, 동일한 수준의 보안을 유지하기가 어렵다.
③ 경제성(economics) 문제 : 데이터를 중복해서 저장하기 위해서는 추가적인 저 장 공간이 필요하다. 또한 데이터가 중복되어 존재할 때, 데이터에 대한 갱신 작업은 일관성 유지를 위해 중복으로 저장된 모든 데이터에 대해 수행되어야만 하므로 시스템의 갱신 비용이 높아진다.
DBMS는 파일 처리 시스템에서 발생하는 데이터의 종속 및 중복 문제를 해결하기 위해 제안된 시스템이라고 할 수 있다. DBMS는 애플리케이션과 데이터베이스의 중재자로, 모든 애플리케이션이 데이터베이스를 공용으로 사용할 수 있게 한다. 데이터의 무결성 훼손
데이터 무결성(data integrity)이란 데이터베이스에서 관리되는 데이터의 정확성을 보장하는 것이다. 데이터의 무결성 훼손은 하나의 사실을 표시하는 두 개 이상의 중복된 데이터가 서로 일치하지 않는 경우에도 발생할 수 있다. 그러나 중복이 발생하지 않는 경우에도 부정확한 데이터가 데이터베이스 안에 저장될 수 있다.
데이터베이스 내에 저장된 데이터 값은 일정한 형식의 제약 조건들을 만족해야 할 때가 있다. 예를 들어 수강 파일에서 학생이 한 학기에 신청할 수 있는 강의의 총 학점은 21학점 이하여야 한다는 제약조건이 있다고 생각해 보자. 이러한 제약조건은 데이터의 값으로 표현되기가 매우 어렵다. 이 경우 애플리케이션 개발자는 수강 파일과 관련된 애플리케이션마다 제약조건에 해당하는 프로그래밍 코드(수강 신청된 강의의 학점 총합이 21을 넘는지 확인)를 추가해야 한다. 그러나 새로운 제약조건이 추가되거나 수정될 경우, 관련된 애플리케이션 프로그램을 일일이 변경하기가 매우 번거롭고 복잡하다. 게다가 새로운 제약 조건이 서로 다른 파일 내에 존재하는 복수 개의 데이터 항목에 적용될 때는 더욱 어려워진다.
'데이터베이스' 카테고리의 다른 글
데이터 모델링과 데이터 정의 언어 (0) | 2024.03.01 |
---|---|
데이터 모델 (0) | 2024.02.27 |
데이터베이스 관리시스템의 구조 (0) | 2024.02.27 |
데이터베이스 관리 시스템목적과 특징 (0) | 2024.02.27 |
데이터베이스의 시스템의 개요 (0) | 2024.02.27 |