Database 란?? Work/Database General2009. 1. 12. 16:10
데이터베이스란?
데이터베이스가 뭐냐고 물어본다면 필자는 ‘데이터를 꺼내보기 좋게 잘 저장해 놓은 것’ 이라고 하겠다. 여기에 ‘여러 명의 사용자’라는 옵션이 붙던지 ‘고도로 구조화’라는 옵션이 붙던지.. 아무튼 ‘데이터를 꺼내보기 좋게 잘 저장해 놓을 것’에 포함이 된다. 여기서
논란의 여지가 있는 것은 역시 ‘잘’이란 부사이다. 데이터를 꺼내보기 좋게 ‘잘’ 저장하는 것이 우리가
데이터베이스를 공부하는 70%라고 봐도 된다. 데이터를 ‘잘
꺼내보는 것’은 30%에 해당한다. 그러므로 어떻게 데이터를
저장할 것인지를 결정하기 위한 일련의 작업들을 데이터베이스 모델링과 설계라고 봐도 된다. 잘 꺼내보는
것은 DBMS를 제작하는 기술과 DBMS를 이해하고 SQL문을 작성하는 것이다. 물론
DBMS를 제작하는 기술은 그야말로 어려운 일이므로 이를 제외하면 DBMS를 이해하고, SQL문을 작성하는 것만 남게 된다.
자, 그럼 데이터를
꺼내보기 좋게 잘 저장해 놓았다고 하자. 왜 이런 짓을 해야 할까? 바로
사용자의 정보욕구를 만족시키기 위해서다. 결국 데이터베이스는 보다 정보를 얻기 편리하게 해보자는 의도에서 만들어진 것이다. 그렇다면 다른 문서에서는 데이터베이스를 어떻게 정의하고 있는지 살펴보자.
데이터베이스의 정의 |
첫 번째로 논리적으로 연관된이란 글에 대해서 고려해보자. 연관되어있다는 것은 어떤 개념의 범위에 속해 있다는 뜻이된다. 지금
이 글을 보고 내용을 이해하고 있는 사람은 아마도 “한국어를 할 수 있는 사람” 좀 더 개념의 범위를 좁혀보면 “자랑스런 조선인으로써” 나와 연관될
수 있다.(매우 정성적이지만 그렇다치자) 이렇게 개념의 범위
좀 더 이론적으로 말한다면 집합의 명제속에 속하는 원소들 끼리는 바로 논리적으로 연관되었다고 볼 수 있는 것이다.
두 번째로 하나 이상의 자료의 모음이란 글에 대해서 따져보자. 사실 말이 좀 우습다. “두개 이상의 자료의 모음” 또는 “세개
이상의 자료의 모음”이라고 해도 별로 우습지 않다. 1개의 자료나 3개의
자료나 분명히 숫자에 대한 기본적인 지식만 알면 인간의 머리속에서 해결할 수 있다. 아마도 “하나 이상”의
뜻은 인간이 감당하기 힘들 정도의 자료의 양이 될 것이다. 정말이지 조그만한 강원도 두메산골 1평 남짓한 구멍하게를 운영한다고 하자. 상품은 30개가 되지 않는다. 하루 매출은
1만원을 넘지 않는다. 물건을 사러오는 사람도 몇 명되지 않는 동네 어르신들이다. 다른 구멍가게는 없다. 과연 매출장부가 필요할까? 그럼 대형할인마트를 생각해보자. 하루 몇 억개의 상품이 팔려나간다. 이러한 매출자료를 수작업으로 정리하려면 생각만해도 짜증스럽다. 어찌되었건
하나 이상의 자료의 모음이라는 것은 많은 양의 데이터를 뜻할 것이다.
세 번째로 그 내용을 고도로 구조화함으로써 검색과 갱신의
효율화를 꾀 한 것이란 글에 대해서 살펴보자. 위에서 예를 든 대형할인 마트로 다시 돌아가보자. 그 수많은 상품들을 아무런 진열도 하지 않고 그냥 쏟아 부어 놓았다고하자. 여러가지
상품이 산더미처럼 얼켜있을 것이다. 상품의 가치도 가치이거니와 원하는 물건을 사기위해서는 많이 뒤져봐야
할 것이다. 또한 A라는 상품이 없다고 어떤 고객이 눈앞에서
난리를 치고 있다. 할 수 없이 대형할인마트의 재고관리자는 포크레인으로 A상품을 쏟아 부었다고 하자. 그런데 내가 찾는 상품은 알고보니 제일
먼저 쏟아부어 제일 바닥에나 있다고 하자. 어찌되었던 내가 원하는 상품을 찾기 위해서는 다른 상품이
또 밑으로 내려가야 한다. 장사가 될까? 데이터베이스도 마찬가지이다. 자료를 잘 정리정돈 해놓아야 데이터를 잘 사용할 수 있는 것이다. (내용을
고도로 구조화하는 방법은 데이터 모델링과 설계부분이다. 이는 나중에 다룰 것이다.)
네 번째로 몇 개의 자료 파일을 조직적으로 통합이란 글을
살펴보자. 백과사전이라 그런지 몰라도 데이터베이스의 탄생배경을 생략해 놓은 듯한 글귀다. 우찌되었건 파일시스템을 사용할 적(물론 지금도 사용하고, 어떤 경우에는 데이터베이스보다 더 효율적이다)에 발생되었던 문제의
근본 원인인 “자료의 중복”을 들먹이고 있다. 물론 자료의 중복은 중복을 아예 없애라는 것이 아니라
“최소한의 중복”이다. 이러한 자료의 중복을 없애는 작업이 나중에 나오게 될 데이터베이스의 꽃인 “정규화”이다. 그럼 현재는 데이터베이스는 자료의 중복이 많이 없어졌을까? 알 수
없다. 필자가 본 많은 데이터베이스는 엄청나게 많은 자료의 중복이 있었다. 그로인해 많은 사람들이 괴로워하는 것도 많이 보았다. 데이터베이스를
잘 사용하지 못하면 오히려 파일시스템보다 더 중복이 일어날 수 있다. 데이터베이스 답게 사용하려면 자료의
중복을 없애는 일이 너무나도 중요하다. 자료의 중복을 없애는 것은 좋은 정보를 만들어내는 지름길이다.
데이터베이스의 특징 ü
똑같은 자료를 중복하여 저장하지
않는 통합된 자료 ü
컴퓨터가 액세스하여 처리할 수
있는 저장장치에 수록된 자료 ü
어떤 조직의 기능을 수행하는 데
없어서는 안 되며 존재 목적이 뚜렷하고 유용성 있는 운영 자료이기 때문에 임시로 필요해서 모아 놓은 데이터나 단순한 입출력 자료가 아니라는
점 ü
한 조직에서 가지는 데이터베이스는
그 조직 내의 모든 사람들이 소유하고 유지하며 이용하는 공동 자료로서 각 사용자는 같은 데이터라 할지라도 각자의 응용 목적에 따라 다르게 사용할
수 있다는 점이다. |