파일 처리 시스템이란 업무별 애플리케이션이 개별 데이터를 데이터 파일에 저장 및 관리하는 시스템으로 ① 데이터 종속의 문제, ② 데이터 중복의 문제, ③ 무결성 훼손의 문제, ④ 동시 접근의 문제점이 있다.
데이터 종속의 문제란 저장된 데이터가 특정 하드웨어 또는 사용자 및 소프트웨어만 사용되도록 제한되는 문제를 의미한다. 데이터의 독립성은 물리적 데이터 종속(물리적인 시스템 구조가 변경되더라도 프로그램은 그대로 유지되는 것)과 논리적 데이터 종속(데이터의 논리적 구조가 변하더라도 프로그램의 구조가 변하지 않는 것)으로 나누어지는데, 파일 처리 시스템의 경우 프로그램에 종속되는 파일이 생성되므로 다른 프로그램과의 데이터 공유도 불가능하고, 데이터 구조의 변경이 프로그램의 변경으로 이어진다는 문제점이 있다.
데이터 중복의 문제란 하나의 사항에 대한 데이터가 여러 파일에 중복되어 저장되는 문제를 의미한다. 이는 동일한 사항에 대한 중복 데이터는 일관성, 보안성, 경제성 측면에서 문제가 발생하기 때문에 주의가 필요핟. 즉, 데이터는 한 사실에 대해 한 개의 데이터 값을 유지해야 함에도, 중복된 데이터 중 일부의 값이 변경되면 어느 데이터가 원본이고 올바른 값을 가졌는지 알 수 없게 되고 (일관성), 같은 데이터에 같은 수준의 보안을 유지해야 한다는 보안성 측면의 문제도 있으며, 데이터가 최소한의 저장 공간을 점유해야 경제적임에도 불구하고(경제성) 한정된 저장 용량에 중복으로 저장된다는 의미이다.
무결성 훼손의 문제란 데이터베이스에서 관리되는 데이터의 정확성이 보장되지 않는다는 의미로, 중복된 데이터가 서로 일치하지 않는 경우뿐만 아니라, 저장된 데이터 값이 가능 범위(제약조건)를 만족하지 않는 경우에도 발생한다. 예를 들면 1학기의 최대 수강학점은 18학점임에도 이를 초과하는 32학점이 등록되는 것을 파일 처리 시스템 자체에서는 막을 수 없고, 이에 따라 추가적인 작업이 필요하다는 의미이다.
마지막으로 동시 접근의 문제란 파일 처리 시스템은 여러 사용자가 동시에 데이터에 접근하는 경우를 제한하지 않기 때문에 일관성이 훼손된다는 의미이다. 즉, 한 데이터에 대한 수정 요구가 동시에 발생한 경우 데이터가 비정상적으로 처리될 수 있다는 의미이다.
이를 해결하기 위해서 등장한 개념이 데이터베이스시스템이다. 데이터베이스는 ‘한 조직의 여러 응용 시스템을 다수의 사용자가 공용으로 사용하기 위해 통합, 저장된 운영 데이터의 집합’이다. 데이터베이스 관리시스템(DBMS)은 ‘한 조직의 연관된 데이터의 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장하는 소프트웨어 패키지’라고 정의되며, 데이터베이스시스템은 DBMS와 함께 사용자에게 서비스 형태로 제공되는 애플리케이션이 포함된 모든 시스템을 의미한다. 데이터베이스 관리시스템(DBMS)은 기존 파일 처리 시스템에서 하는 문제인 시스템의 데이터 종속, 중복, 무결성 훼손 및 동시 접근의 문제를 해결하기 위한 기능과 장치를 제공하고 있다.
데이터베이스 관리시스템(DBMS)은 ① 데이터 파일의 구조가 프로그램으로부터 분리되어 별도로 관리되고, 프로그램은 필요 데이터를 데이터의 의미만으로 요청할 수 있도록 데이터의 사용과 관리가 분리되는 프로그램-데이터 독립성이라는 특징을 가지고 있으며, ② 데이터와 데이터의 정의 및 설명을 포함한다는 자기 기술성, ③ 각 사용자가 그 역할과 권한에 맞는 데이터에 접근할 수 있도록 데이터베이스에 대해 필요한 부분만을 추출해서 제공할 수 있는 뷰 기능을 제공(다중 뷰)하여 보안성을 향상하고, ④ 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행할 수 있다는 (데이터 공유와 다수 사용자 트랜잭션 처리) 특징을 가지고 있다.
데이터베이스를 정의하고 데이터베이스의 접근을 지원하는 것이 바로 데이터베이스 언어이다. 데이터베이스 언어는 크게 데이터 정의어와 데이터 조작어로 나누어진다.
먼저 데이터 정의어란 데이터베이스의 스키마를 생성하고 수정하며 삭제하는 언어이다. 저장되는 데이터의 타입 등을 설정하는 제약조건이나, 데이터의 사용 권한에 대한 사항 역시 데이터 정의어를 이용해서 지정한다. 반면 데이터 조작어는 데이터 정의어에 의해서 정의된 데이터베이스 안으로 데이터를 삽입하고, 수정하고, 삭제하며, 그 내용을 검색하기 위한 목적으로 사용된다. 일반적으로 널 사용되는 데이터베이스 언어로는 SQL이 있다. SQL은 제4세대 언어이므로 자연어와 매우 유사하며, 선언형 언어로 사용자가 원하는 것을 명시하는 형식으로 만들어졌다.
마지막으로 데이터베이스 시스템의 구조를 살펴본다. 데이터베이스 시스템은 3단계 스키마 구조로 이루어진다. 스키마란 데이터베이스 구조와 제약조건에 대한 명세를 기술한 것을 의미하며, 개체와 속성, 그리고 개체와 속성 사이의 관계에 대한 정의를 포함하고 있다. 데이터베이스를 기술하는 세 단계는 보통 외부 단계, 개념 단계, 내부 단계로 구별한다. 각 단계에서의 스키마를 외부 스키마, 개념 스키마, 내부 스키마라고 부른다. 먼저 외부 단계는 개별적 사용자 단계로서 개개 사용자를 위한 여러 형태의 스키마가 있고, 개념 단계는 개개의 사용자가 아닌 전체적이고 종합적인 입장에서 데이터베이스를 정의한 것을 의미한다. 마지막으로 내부 단계는 저장장치 입장에서 데이터베이스가 저장되는 방법을 정의하는 단계이다. 이런 3가지 단계를 통해 데이터베이스 시스템이 실제로 운용되고 있다.
'컴퓨터과학' 카테고리의 다른 글
빅데이터의 수집과 활용 (1) | 2024.01.15 |
---|---|
빅데이터의 개요 (0) | 2024.01.15 |
4차 산업혁명과 미래 (1) | 2024.01.14 |
컴퓨터의 소프트웨어와 정보 시스템 (1) | 2024.01.14 |
컴퓨터의 보조기억장치 (1) | 2024.01.14 |