전문가칼럼
DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.
엔코아 정보 컨설팅의 장희식
관계형 데이터베이스 분석/설계 기본으로 돌아가자! 관계형 이론을 근간으로(1)
매인프레임 환경 하에서의 분석/설계 기법을 관계형 데이터베이스에서도 이러한 현상들은 특히 과거에 매인프레임 환경 하에서 전산을 한 사람(계층형 데이터베이스(Hierarchical Database)나 SAM(VSAM or ISAM)파일 환경에서 분석, 설계, 개발을 주로 한 사람)들이 많은 대형 기업의 데이터 모델이나 테이블을 보면 흔히 나타나는 현상들이다.
1990년대 초반 관계형 데이터베이스가 상용화되어 우리나라에 도입되었을 때, 관계형 데이터베이스를 이용하는 프로젝트가 하나 둘씩 증가하여 현재에 이르게 되었다. 초기 관계형 데이터베이스를 이용한 많은 프로젝트의 관리자들은 매인프레임 환경 하에서 분석, 설계, 개발을 한 사람들로 왜 매인프레임 환경하의 데이터베이스에서 관계형 데이터베이스로 전환을 해야 하며, 매인프레임 환경의 데이터베이스와 관계형 데이터베이스의 차이점에 대한 정확한 인식 없이 프로젝트를 진행하였던 것이다. 그 당시 미국에서는 계층형 데이터베이스에서 관계형 데이터베이스로의 전환을 역공학(Reverse Engineering 시스템이 있는 상황에서 현시스템의 문제점을 분석하고 새롭게 가고자 하는 방향을 설정하여 시스템을 구축하는 방법)기법을 이용하여 재개발하면 순공학(Forward Engineering 시스템이 없는 상황에서 시스템을 도입할 때 쓰는 방법)기법에 의하여 시스템을 구축하는 것보다 공수가 1.5배 내지는 2배가 들어간다고 하였다. 그러나 국내에서는 매인프레임 환경의 데이터베이스 내용을 다 알고 있으니 관계형 데이터베이스로 그대로 빨리빨리라는 지시만 할 뿐 계층형 데이터베이스와 관계형 데이터베이스의 근본적인 차이점을 인식 못하고 보통 순공학 방법 공수의 0.5 배로 프로젝트를 진행하였던 것이다. 즉, 계층형 데이터베이스의 Segment 하나 당 관계형 데이터베이스의 테이블 하나를 생성하여 프로젝트를 진행한 사례가 많았다. 결론은 관계형 데이터베이스는 문제가 많다라는 것과 시스템의 재구축 이었다.
현재의 상황을 보면 이렇게 시행착오를 겪으며 많은 부분이 개선되었음에도 불구하고, 아직도 관계형 데이터베이스의 기본적인 개념을 인식하지 못하고 분석, 설계가 이루어지는 경우가 종종 있는데, 이런 현상이 나타나는 프로젝트의 분석, 설계를 담당한 엔지니어를 면밀히 관찰해 보면 업무를 많이 알면서 과거 메인 프레임 하에서 분석, 설계를 담당 했다던가 아니면 이런 엔지니어에게 분석, 설계를 배운 중고참 엔지니어인 경우가 대부분이다.
새로운 패러 다임(Paradigm)으로의 전환
관계형 데이터베이스 이전의 환경에서 구축된 시스템의 문제점을 살펴보면, 첫째 중복 관리되는 데이터가 많고, 둘째 데이터의 정확성과 일관성을 유지하기가 불가능하며, 비즈니스가 변화함에 따른 정보요구에 상당히 비탄력적이고, 불필요한 개발과 유지보수 비용이 많이 든다는 것이다. 이러한 소프트웨어 개발 및 유지보수의 생산성 문제를 상당 부분 해결하고자 노력한 결과 탄생하게 된 데이터베이스가 관계형 데이터베이스인 것이다.
관계형 데이터베이스를 창시한 E.F.CODD 박사는 수학자였다. 관계형 데이터베이스는 수학의 집합(Set)이론에 근거하여 창시된 데이터베이스 이다. 테이블(Table = Relation)도 집합이고, 관계(Relationship)도 집합이고, 속성(Attribute)도 집합이며, 데이터를 처리(조회, 입력, 수정, 삭제)할 때도 이 모든 것을 집합적인 개념을 가지고 처리를 해야 한다.