데이터 베이스 기본 (2)
엑세스 데이터베이스의 개념을 설명하면서 빠질 수 없는 것이 엑셀과의 비교 인데 사실 엑셀이 가장 친숙한 프로그램 때문이지 엑셀이 문제가 있다는 것은 아닙니다. 엑셀뿐만 아니라 모든 Flat File 시스템이 같은 문제를 가지고 있습니다. 엑세스를 효과적으로 배우려면 왜 엑셀이 아닌 엑세스를 사용해야 하는가를 먼저 명확히 하셔야 합니다. 분명히 누구나 알고 있는 엑셀의 문제점을 엑세스와 같은 데이터베이스 전용 프로그램으로 옮기면 해결이 되는 것이 많이 있고 이번 포스팅은 그 엑셀의 한계에 관한 두 번째 시간 입니다.
정확도
엑셀에도 데이터 유효성 검사를 통해 특정 셀에 특정 데이터 형식을 입력하는 것이 가능해 졌지만 이건 엑셀에 있는 아주 작은 데이터 베이스의 기능일 뿐이지 엑셀은 데이터베이스가 아닙니다. 항상 정확하고 가치 있는 정보를 입력하기 위해서는 반드시 입력해야 하는 필드, 옵션 필드, 그리고 데이터 타입 등 구분해 줘야 할 사항이 많지만 엑셀로는 한계가 있습니다. 예를 들어 제품 수리 정보를 넣을 때 제품 이름을 빼먹었다고 해봅시다. 엑셀에는 제품 이름을 빼고 나머지 필드를 채울 경우 입력을 제한 하는 기능이 기본적으로 없습니다. 내가 10년이 지난 후에도 데이터를 봤을 때 알아 볼 수 있어야 하고 정보의 가치를 가지려면 필수 적인 필드는 모두 채워 넣어야 합니다. 엑세스와 같은 데이터베이스 시스템에서는 내가 정한 필수 필드가 입력이 안되면 데이터의 입력 자체가 되질 않습니다.
여기서 제품 이름은 필수 필드이고 제품 이름 없이는 데이터 입력 자체가 되질 않습니다.
보안 관리
회사나 내가 하는 사업의 데이터를 효율적으로 관리하기 위해서는 중앙 센터의 데이터베이스를 유지하고 모든 사람이 모두 최신 데이터에 접속 할 수 있어야 합니다. 그러나 그것이 모든 사람들이 모든 데이터에 접속하는 것은 아니지요. 예를 들어 삼성에 근무 한다면 삼성 임원 급들이 볼 수 있는 데이터, 직원들이 볼 수 있는 데이터, 그리고 삼성 고객들이 볼 수 있는 데이터의 종류가 모두 다르고 효율적으로 통제 해야 합니다. 데이터를 입력 할 때마다 모든 데이터에 보안 레벨을 정해 두고 거기에 해당 하는 사람들에게만 접속 권한을 주는 것이 엑셀 같은 Flat File 시스템 에서는 불가능 합니다.
중복 데이터
엑셀에서도 중복 데이터 삭제 기능을 제공하고 또 배열 함수를 이용해서 여러 필드를 이용한 중복 데이터를 찾는 것도 소개해 드렸지만 엑셀에서 중복 데이터를 막을 수 있는 방법은 상당히 제한 되어 있습니다. 데이터 유효성 검사를 통해 한 필드의 중복 데이터를 막는 기능이 생긴 것도 얼마 되지 않았지만 여러 개의 필드를 동시에 비교하여 중복 데이터의 입력을 막는 기능은 구현하려면 할 수 있겠지만 기본적으로 제공 하지 않습니다. 예를 들어 오늘 판매한 상품의 데이터베이스를 만든다고 하면 같은 상품이 얼마나 많이 판매가 되었겠습니까? 또 같은 상품을 한 사람이 두 번 구매할 수 도 있겠죠. 중복 데이터의 입력을 막기 상품 이름, 판매한 시간, 총 판매 금액, 결제 수단 등을 동시에 비교하여 모든 정보가 같을 시에 중복 데이터로 판단하거나 최소 몇 개 이상의 필드를 비교를 해야 합니다. 하나 둘씩 쌓인 중복 데이터는 나중에 매우 큰 혼란을 가져 올 수 있습니다. 연락처가 몇 개 중복되어 헛갈리는데 한 회사의 데이터에 중복 데이터가 쌓인다고 가정해 보십시오.
엑셀에서 여러 개의 데이터 필드를 비교하여 입력을 원천 봉쇄 하는 것은 기본적으로 제공하지 않습니다.
데이터의 손실
요즘 오피스 프로그램과 윈도우에서는 자동 백업을 제공해서 보통 5분 이나 10분 단위로 데이터가 자동 백업됩니다. 내 개인 과제나 프로젝트의 경우 5분 정도의 데이터 손실은 크지 않을 수 있고 또 개인적으로 컨트롤 + S를 누르는 것이 습관이 되어 있어서 손실은 대게 그렇게 크지 않습니다. 그러나 만약 데이터의 특성이 어떤 데이터의 손실도 허용 하지 않는 것이라면요? 보험 회사에서 실시간으로 보험 고객을 받고 엑셀에 그 데이터를 기록하다가 저장을 안 해서 5분 간의 고객 정보가 사라진다면요? 데이터베이스 시스템에서는 모든 데이터가 자동으로 기록 되고 또 엑셀처럼 되돌리기가 불가능 합니다. 데이터가 메모리에 상주하는 것이 아니라 입력 되는 순간 바로 데이터 베이스에 저장이 됩니다. DBMS가 오작동을 보일 수 있지만 그렇게 되면 데이터의 입력 자체가 불가능 한 것이지 입력된 데이터가 사라지는 것은 아닙니다. 업무의 특성상 어떤 데이터의 손실도 허용되지 않는 것들이 있다면 데이터베이스를 이용 해야만 합니다.
엑세스에서의 저장은 데이터의 저장이 아닙니다. 프로그램을 구성하는 테이블의 구조나 디자인에 대한 저장이고 모든 데이터는 자동으로 저장 됩니다.
데이터베이스 시스템을 사용하는 이유는 단순히 파일의 크기 때문이 아닙니다. 데이터의 정확도, 업데이트의 용이성, 공동 작업등 비즈니스 상황에서 단순히 엑셀이나 다른 저장 프로그램으로 해결 할 수 없는 문제점은 너무나 많습니다. 그리고 이미 쌓여 버린 데이터를 다시 데이터 베이스 시스템을 만드는 것은 많은 돈과 시간이 들어 갑니다. 데이터의 저장이 필요할 때 이게 엑셀로 커버가 가능할지 아니면 전문 데이터 베이스 프로그램을 써야 할지 반드시 판단을 하고 시작을 해야 최소한의 지출로 최대한의 효과를 보실 수 있습니다.
'액세스 2013,2016_초급 > 2_데이터베이스기본' 카테고리의 다른 글
12_엑세스 강의 1차 데이터 정규화 (34) | 2016.01.21 |
---|---|
11_엑세스 관계설정의 개념 (12) | 2016.01.09 |
10_엑세스 기본키의 개념 (7) | 2016.01.09 |
09_엑세스 배우기 관계형 데이터 베이스의 테이블 (6) | 2016.01.08 |
07_엑세스 vs 엑셀, 엑셀 사이즈와 공동 작업의 한계 (8) | 2016.01.04 |