KR100532823B1 - 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체 - Google Patents

데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR100532823B1
KR100532823B1 KR10-2002-0075663A KR20020075663A KR100532823B1 KR 100532823 B1 KR100532823 B1 KR 100532823B1 KR 20020075663 A KR20020075663 A KR 20020075663A KR 100532823 B1 KR100532823 B1 KR 100532823B1
Authority
KR
South Korea
Prior art keywords
data
business
error data
database
column
Prior art date
Application number
KR10-2002-0075663A
Other languages
English (en)
Other versions
KR20040047439A (ko
Inventor
이원재
Original Assignee
이원재
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이원재 filed Critical 이원재
Priority to KR10-2002-0075663A priority Critical patent/KR100532823B1/ko
Publication of KR20040047439A publication Critical patent/KR20040047439A/ko
Application granted granted Critical
Publication of KR100532823B1 publication Critical patent/KR100532823B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 컴퓨터 시스템에 구축된 각종 데이터베이스에 의해 관리되는 데이터의 무결성을 관리하는 장치 및 그 방법에 관한 것으로, 본 발명에 의한 컴퓨터를 기반으로 한 데이터 무결성 관리장치는 업무 데이터베이스의 업무적 논리 구조를 테이블간의 관계, 비정규화 컬럼, 컬럼 형식 및 경계값, 업무적인 연계성, 시스템간 연계성으로 구분하여 분석하고 논리에 위배되는 데이터를 추출해주는 데이터논리분석기; 및 추출된 오류 데이터를 업무적 논리 구조에 따라 보정해주는 오류데이터보정기;를 포함하여 구성된다.
본 발명에 의하면, 업무 데이터베이스 전체의 무결성 오류 데이터를 일괄적이고 자동화된 방식으로 추출하고 보정할 수 있을 뿐만 아니라, 시스템간의 무결성 오류 데이터도 자동화된 방식으로 추출하고 보정할 수 있다.

Description

데이터 무결성 관리장치와 관리방법 그리고 그 방법을 컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체{Apparatus and method for managing data integrity, and computer-readable recording medium having data integrity management program recorded thereon}
본 발명은 컴퓨터 시스템에 구축된 각종 데이터베이스에 의해 관리되는 데이터의 무결성을 관리하는 장치 및 그 방법에 관한 것이다.
데이터베이스는 그 내용을 쉽게 접근하여 처리하고 갱신할 수 있도록 구성된 데이터의 집합체이다. 가장 널리 보급된 데이터베이스로는 데이터를 다양한 방법으로 접근하고 재구성할 수 있도록 정의한 테이블형의 데이터베이스인 관계형 데이터베이스, 네트웍 상의 여러 다른 지점에 분산되어 있거나 중복되어 있는 데이터베이스인 분산 데이타베이스, 객체 클래스와 서브 클래스로 정의된 데이터가 서로 일치하는 데이터베이스인 객체지향 데이터베이스 등이 있다.
한편, 데이터 무결성(data integrity)은 데이터베이스에 저장되어 있는 데이터가 사용 후나 조작 후에도 항상 정확성과 유효성을 유지하는 것을 의미한다. 데이터 무결성을 관리하는 방법을 이해하기 위해서는 먼저 데이터베이스 내에서 데이터를 관리하는 논리구조에 대하여 이해하여야 한다. 데이터베이스 내에서 데이터를 관리하는 논리구조는 크게 "테이블간의 관계", "비정규화 컬럼", "컬럼 형식 및 경계값" 및 "업무적인 연계성"의 4개의 범주로 분류된다.
첫째로, "테이블간의 관계"란 테이블간에 업무적인 종속관계를 의미한다. 데이터베이스 내에 테이블간의 종속관계에 위배되는 데이터가 존재한다면, 그 자료는 데이터 무결성을 위배하는 오류 데이터로 볼 수 있다. DBMS(DataBase Management System)는 테이블간의 관계에서의 물리적인 제약을 나타내는 참조키(Foreign Key)를 통해 정의할 수 있게 하여 관계 오류 데이터가 발생하지 않게 하는데, 실제로 대부분의 데이터베이스에서는 업무적인 종속관계를 가지지만 물리적인 제약을 나타내는 참조키(Foreign Key)를 설정하지 않은 많은 테이블을 가지고 있다. 따라서, 데이터 무결성 관리을 위해 추출하여 보정하여야 할 대상에는 업무적으로만 관계를 가지는 테이블들의 관계 오류 데이터가 포함된다.
둘째로, "비정규화 컬럼"이란 업무적 관점에서 볼 때 특정 테이블(예를 들어, 부모 테이블)에서만 관리되어야 할 컬럼을 데이터베이스의 조회 성능을 향상시키기 위해 주변 테이블(예를 들어, 자식 테이블)로 분산시킨 컬럼을 의미한다. 비정규화 컬럼들의 데이터간에는 동일한 값을 가져야 하는데, 비정규화 컬럼들의 데이터가 동일한 값을 나타내지 않는다면 그 데이터는 데이터 무결성을 위배하는 오류 데이터로 볼 수 있다. 일반적으로, 응용 프로그램에서 비정규화된 컬럼들에 대한 입력, 수정, 삭제가 일어날 경우는 일관화 작업을 수행하지만, 이러한 작업이 완벽하게 이루어지지 않을 경우 또는 운영자가 직접 비정규화 컬럼의 데이터 값을 변경할 경우에는 오류 데이터가 발생할 수 있다. 따라서, 데이터 무결성 관리을 위해 추출 및 보정하여야 하는 대상에는 비정규화된 컬럼들의 데이터 중 오류가 발생한 데이터가 포함된다.
셋째로, "컬럼 형식 및 경계값"이란 char(10) 또는 date 처럼 컬럼의 형식 및 업무적 측면에서 컬럼이 가질 수 있는 값의 범위를 의미한다. 이러한 "컬럼 형식 및 경계값"에 대한 통제는 DBMS의 제약(Constraint) 통제 기능 및 응용 프로그램에서의 각 항목별 체크 기능을 통해 이루어진다. 그러나, 이러한 기능이 완벽하게 수행되지 않을 경우에는 사용자의 입력 실수를 통해 오류 데이터가 발생할 수 있다. 따라서, 데이터 무결성 관리을 위해 추출 및 보정하여야 하는 대상에는 각 컬럼의 형식 및 경계값을 벗어나는 데이터가 포함된다.
넷째로, "업무적 연계성"이란, 특정 컬럼이 주변 테이블 또는 주변 컬럼과 가지는 업무적인 연계이다. 예를 들어, "사원 테이블에서 직원 구분이 정규직이면 정규직과 관련된 컬럼에 값이 입력되어야 하고, 계약직이면 계약직과 관련된 컬럼에 값이 입력되어야 한다"는 규칙이 있다면, 이 규칙에 위반되게 입력된 데이터는 오류 데이터로 볼 수 있다. 따라서, 데이터 무결성 관리를 위해 추출 및 보정하여야 하는 대상에는 이러한 업무적 연계성을 위배하는 데이터가 포함된다.
데이터베이스 내에서 데이터를 관리하는 논리구조 상기의 네 가지 형태로 나타나지만, 데이터 무결성을 관리하기 위해서는 "시스템간 연계성"을 고려하여야 한다. "시스템간 연계성"은 시스템간에 연계성이 있는 테이블간에 발생하는데, "테이블간의 관계", "비정규화 컬럼", "업무적 연계성"의 세 가지 형태가 혼용되어 나타난다. 일반적으로, 시스템간의 상호 통제가 완벽히 이루어지기 어렵기 때문에 시스템간의 데이터 오류는 빈번히 발생한다. 그러나, 단위 시스템 담당자들은 자신의 시스템에만 관심을 가지기 때문에 "시스템간 연계성"에서 발생하는 데이터 무결성 오류는 처리되지 않을 수 있다. 그래서, 데이터 무결성 관리를 위해 추출 및 보정하여야 하는 대상에는 "시스템간 연계성"에 의해 발생되는 오류 데이터도 포함되어야 한다.
그런데, 데이터베이스 운영담당자들에 의해 데이터 무결성 관리하는 종래의 방법은 오류 데이터 발견시 데이터베이스 내에서 직접 데이터를 수정하거나, 데이터를 변경할 수 있는 SQL 스크립트(structured query language Script)를 작성하여 데이터를 수정하는 것이다. 그러나, 데이터베이스 운영담당자가 개별적으로 데이터베이스의 구조를 완전히 고려한 상태에서 데이터베이스 전체에 대한 무결성 오류 데이터를 추출하고 보정하는 것은 거의 불가능하다.
본 발명은 상기의 문제점을 해결하기 위하여 창작된 것으로, 데이터베이스 전체에 대한 일괄적이고 자동화된 무결성 오류 데이터를 추출하고 보정하는 데이터 무결성 관리장치와 관리방법 그리고 그 방법을 컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체를 제공함을 그 목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 컴퓨터를 기반으로 한 데이터 무결성 관리장치는 업무 데이터베이스의 업무적 논리 구조를 테이블간의 관계, 비정규화 컬럼, 컬럼 형식 및 경계값, 업무적인 연계성, 시스템간 연계성으로 구분하여 분석하고 논리에 위배되는 데이터를 추출해주는 데이터논리분석기; 및 추출된 오류 데이터를 업무적 논리 구조에 따라 보정해주는 오류데이터보정기;를 포함하여 구성된다.
상기 데이터 무결성 관리장치는 추출된 오류 데이터에 근거하여 각종 통계자료를 제공하는 데이터품질분석기;를 더 포함함을 특징으로 한다.
상기 데이터 무결성 관리장치에 있어서, 상기 데이터논리분석기는 업무 데이터베이스로부터 자료사전을 읽어, 데이터베이스의 구조 분석에 필요한 형태로 가공하여 논리분석정보 데이터베이스에 저장하는 데이터논리스캐너; 업무 데이터베이스의 테이블/컬럼 명명 원칙 및 업무적인 관계를 고려하여 업무 데이터베이스의 업무적 논리 구조별로 논리분석정보 데이터베이스에 저장된 논리분석 정보를 보정하는 데이터논리보정기; 및 보정된 논리분석 정보를 이용해 오류 데이터를 추출할 수 있는 오류 데이터 추출 스크립트를 생성하여 업무 데이터베이스에서 오류 데이터를 추출하는 오류데이터추출처리기;를 구비하고, 상기 오류데이터보정기는 업무 데이터베이스의 업무적 논리 구조별로 추출된 오류데이터를 사용자에게 제공하여 오류데이터 보정 정보를 입력받는 오류데이터보정정보관리기; 및 오류 데이터의 보정 정보에 근거하여 데이터 보정 스크립트를 생성하여 업무 데이터베이스의 오류 데이터를 보정하는 오류데이터보정처리기;를 구비함을 특징으로 한다.
상기의 다른 목적을 달성하기 위하여, 본 발명에 의한 컴퓨터를 사용한 데이터 무결성 관리방법은 (a) 업무 데이터베이스의 업무적 논리 구조를 테이블간의 관계, 비정규화 컬럼, 컬럼 형식 및 경계값 및 업무적인 연계성으로 구분하여 분석하고 논리에 위배되는 데이터를 추출하는 단계; 및 (b) 추출된 오류 데이터를 업무적 논리 구조에 따라 보정하는 단계;를 포함하여 구성된다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a) 단계는 (a1) 업무 데이터베이스로부터 자료사전을 읽어, 데이터베이스의 구조 분석에 필요한 형태로 가공하여 논리분석정보 데이터베이스에 저장하는 단계; (a2) 업무 데이터베이스의 테이블/컬럼 명명 원칙 및 업무적인 관계를 고려하여 업무 데이터베이스의 업무적 논리 구조별로 논리분석정보 데이터베이스에 저장된 논리분석 정보를 보정하는 단계; 및 (a3) 보정된 논리분석 정보를 이용해 오류 데이터를 추출할 수 있는 오류 데이터 추출 스크립트를 생성하여 업무 데이터베이스에서 오류 데이터를 추출하는 단계;를 구비하고, 상기 (b) 단계는 (b1) 업무 데이터베이스의 업무적 논리 구조별로 추출된 오류데이터를 사용자에게 제공하여 오류데이터 보정 정보를 입력받는 단계; 및 (b2) 오류 데이터의 보정 정보에 근거하여 데이터 보정 스크립트를 생성하여 업무 데이터베이스의 오류 데이터를 보정하는 단계;를 구비함을 특징으로 한다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a2) 단계는 업무 데이터베이스의 업무적 논리 구조가 테이블간의 관계인 경우, 사용자로부터 테이블 관계 식별 기준을 등록받고, 논리분석정보 데이터베이스에서 업무 데이터베이스의 물리적/업무적 관계 정보를 읽어 테이블 관계 트리를 생성하는 단계를 구비함을 특징으로 한다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a2) 단계는 업무 데이터베이스의 업무적 논리 구조가 비정규화 컬럼인 경우, 사용자로부터 비정규화 식별 기준을 등록받고, 논리분석정보 데이터베이스에서 업무 데이터베이스의 비정규화 정보를 읽어 비정규화 트리를 생성하는 단계를 구비함을 특징으로 한다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a2) 단계는 업무 데이터베이스의 업무적 논리 구조가 컬럼 형식 및 경계값인 경우, 사용자로부터 컬럼 형식/경계값 추출 기준을 등록받아 그 기준에 근거하여 컬럼을 추출하고 추출된 컬럼에 대하여 컬럼형식/경계값을 보정하는 단계를 구비함을 특징으로 한다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a2) 단계는 업무 데이터베이스의 업무적 논리 구조가 업무적인 연계성인 경우, 사용자로부터 업무적 연계성 관련 항목 추출 기준을 등록받아 통합 업무흐름을 정의하고, 통합업무연관트리를 통합하고, 업무에 의한 데이터 흐름을 분석하고, 업무 연계 관련 컬럼을 식별하고, 컬럼간 업무 연계를 파악하고, 업무적 연계 컬럼간 연산을 정의하는 단계를 구비함을 특징으로 한다.
상기 컴퓨터를 사용한 데이터 무결성 관리방법에 있어서, 상기 (a2) 단계는 업무 데이터베이스의 업무적 논리 구조가 시스템간 연계성인 경우, 타 업무적 논리 구조에 따른 논리 분석 과정과 논리 보정 과정 사이에 시스템간 연계 테이블을 분석하고, 연계 항목별 내역을 정의하는 단계를 구비함을 특징으로 한다.
상기 또 다른 목적을 달성하기 위하여, 본 발명에 의한 컴퓨터가 읽을 수 있는 기록매체에는 상기 데이터 무결성 관리방법을 컴퓨터 상에서 실행하는 프로그램을 기록한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1에 의하면, 본 발명에 의한 데이터 무결성 관리장치(1)는 데이터베이스의 업무적 논리를 분석하고 논리에 위배되는 데이터를 추출해주는 데이터논리분석기(10), 추출된 오류 데이터를 보정해주는 오류데이터보정기(20), 추출된 오류 데이터에 근거하여 각종 통계자료를 제공하는 데이터품질분석기(30)를 포함하여 구성된다. 이와 같은 데이터 무결성 관리장치(1)의 각 구성요소는 프로세서, 기억장치 및 입출력장치를 갖춘 범용 컴퓨터(도시되지 않음) 상에서 수행되는 소프트웨어에 의해 구현되고, 본 발명은 범용 컴퓨터를 구성하는 하드웨어의 특이성에 의해 의해 특징지어지는 것이 아니라 그 하드웨어 상에서 동작되는 소프트웨어의 특이성에 의해 특징지어지는 것이므로, 이하에서는 각 구성요소에서 처리되어지는 기능 및 절차를 중심으로 설명하기로 한다.
데이터논리분석기(10)는 데이터논리스캐너(12), 데이터논리보정기(14) 및 오류데이터추출처리기(16)를 구비한다. 데이터논리스캐너(12)는 업무 데이터베이스(52)로부터 자료사전을 읽어, 데이터베이스의 구조 분석에 필요한 형태로 가공하여 논리분석정보 데이터베이스(54)에 저장한다. 데이터논리보정기(14)는 논리분석정보 데이터베이스(54)에 저장된 논리분석 정보를 읽어 사용자가 해당 업무 데이터베이스의 테이블/컬럼 명명 원칙 및 업무적인 관계를 고려한 보정 작업을 수행할 수 있도록 지원한다. 데이터논리보정기(10)는 업무 데이터베이스(52)의 보정 대상 논리 구조에 따라 수행되는 기능이 달라지는데, 이에 따라 도 1a에 도시된 바와 같이 관계보정기(141), 비정규화보정기(142), 컬럼형식/경계값보정기(143), 업무적연계성보정기(144) 및 시스템간연계성보정기(145)로 세분화된다. 오류데이터추출처리기(16)는 보정된 논리분석 정보를 이용해 오류 데이터를 추출할 수 있는 오류 데이터 추출 스크립트를 생성하여 업무 데이터베이스(52)에서 오류 데이터를 추출하여 오류데이터관리 데이터베이스(56)에 저장한다.
오류데이터보정기(20)는 오류데이터보정정보관리기(22) 및 오류데이터보정처리기(24)를 구비한다. 오류데이터보정정보관리기(22)는 오류데이터관리 데이터베이스(56)에 저장된 오류데이터를 사용자에게 제공하여 보정 정보를 입력받는다. 오류데이터보정정보관리기(22)는 오류 형태에 따라 수행되는 기능이 달라지는데, 도 1b에 도시된 바와 같이 관계오류보정정보관리기(221), 비정규화오류보정정보관리기(222), 컬럼형식/경계값오류보정정보관리기(223), 업무적연계성오류보정정보관리기(224)로 세분화되며, 시스템간 연계성 오류 데이터는 그 오류 형태에 따라 오류데이터보정정보관리기(22) 내의 해당 구성요소에 의해 처리된다. 오류데이터보정처리기(24)는 오류 데이터의 보정 정보에 근거하여 데이터 보정 스크립트를 생성하여 업무 데이터베이스(52)의 오류 데이터를 보정한다.
데이터품질분석기(30)는 추출된 오류 데이터를 근거로 오류 데이터 보고서, 테이블별 오류 통계, 유형별 오류 통계, 시스템별 오류 통계, 오류 증감 추이 등과 같은 데이터 품질 정보를 제공한다.
이하에서는 본 발명에 의한 데이터 무결성 관리장치(1)를 이용하여 오류 데이터를 추출하여 보정하는 과정에 대하여 살펴보기로 한다.
도 2에 의하면, 사용자가 데이터 무결성 관리장치(1)를 이용하여 가장 먼저 하는 작업은 데이터논리스캐너(12)를 이용하여 업무 데이터베이스(52)의 자료사전을 읽어 데이터베이스 구조 분석에 필요한 형태로 가공하여 논리분석정보 데이터베이스(54)에 저장하는 것이다(S100). 이 작업이 완료된 후 데이터베이스의 논리 구조별로 논리보정을 하고 오류 데이터를 추출하여 보정하는 과정들(S200, S300, S400, S500)이 진행된다.
도 3은 데이터논리스캐너(12)가 자료사전의 분석 정보를 저장하는 논리분석정보 데이터베이스(54)의 테이블 구조를 나타내는 객체관계도(Entity Relationship Diagram : 이하에서 ERD라 한다)이다. 도 3에 도시된 바와 같이 데이터논리스캐너(12)는 자료사전으로부터 테이블명, 테이블간의 물리적 관계, 테이블별 컬럼 정보를 읽어 논리분석정보 데이터베이스(54)에 저장하게 된다. 도 3에서 PK 및 FK는 각각 기본키(Primary Key)와 참조키(Foreign Key)를 나타낸다.
도 4는 도 3에서의 테이블간 관계 오류 데이터 처리 과정(S200)을 설명하는 흐름도이다.
테이블간의 물리적인 관계는 자료사전을 읽음으로써 이미 식별되었다. 그러나, 관계 오류 데이터를 추출하는데 있어서 중요한 포인트는 물리적인 관계가 정의되지 않은 테이블간의 업무적인 관계를 식별하는 것이다. 따라서, 사용자는 관계보정기(141)를 이용하여 테이블 관계 식별 기준을 등록하는 작업을 한다(S210). 관계 식별 기준을 등록하는 이유는 다음과 같다. 일반적으로 특정 테이블의 기본키(Primary Key)와 관계를 가지는 컬럼은 기본키와 동일한 컬럼명을 가진다. 그러나, 데이터베이스 특성에 따라 업무적 관계가 있는 테이블의 관계 컬럼들 간에는 관계 식별 접두/접미어 부여하는 경우가 있다. 반대로 업무적 관계가 없음에도 불구하고 명칭이 동일한 컬럼들도 존재할 수 있다(예를 들어, 일련번호). 업무적 관계를 식별하는데 있어 이러한 컬럼들을 추가 또는 제거하기 위해 테이블 관계 식별 기준 등록 작업을 하게 된다. 도 5는 관계 식별 기준을 등록하도록 관계보정기(141)가 사용자에게 제공하는 예시적인 화면이다.
사용자가 테이블 관계 식별 기준 등록을 완료하면, 관계보정기(141)는 테이블 관계 트리 생성 작업을 수행한다(S220). 테이블 관계 트리란 테이블간의 관계 종속 구조 상 최상위에 있는 테이블을 기준으로 생성된 트리를 말한다. 테이블 관계 트리를 생성하는 이유는 업무적으로 복잡하게 엮어있는 데이터베이스 구조를 트리 형태로 단순화시키고, 트리 구조 내에서 물리적인 관계가 없고 업무적으로만 관계가 있는 테이블들을 식별하기 위함이다. 도 6은 테이블 관계 트리를 예시적으로 도시한 것이다. 또한, 도 7은 테이블 관계 트리를 관리하기 위한 테이블 구조로서, 도 3에 도시된 논리분석정보 데이터베이스(54)의 테이블 구조 내에 구현된다.
테이블 관계 트리를 생성하기 위한 알고리듬을 다음과 같다.
Step 1 : 논리분석정보 데이터베이스(54)로부터 모든 물리적 PK/FK 관계 및 관련 컬럼 획득.
Step 2 : 획득된 컬럼과 명칭이 동일하거나 유사한 컬럼으로 참조키(Foreign Key) 정의가 되어 있지 않은 테이블 획득.
Step 3 : 동일 항목에 대해서는 기본키(Primary Key)를 가지는 테이블, 기본키를 가지는 테이블간에는 최소 기본키 컬럼순으로 테이블을 정렬하여 테이블 관계 트리 생성.
Step 4 : 더 이상의 하위 기본키가 없거나, 참조키가 연결되면 해당 하위 노드에서 종료.
도 8a 내지 도 8f는 이상의 알고리듬에 근거하여 테이블 관계 트리를 생성하는 예시적인 순서도를 도시한 것이다.
테이블 관계 트리 생성 작업이 완료되면 사용자는 관계보정기(141)를 이용하여 테이블 관계 트리 보정작업을 실시하게 된다(S230). 이 작업을 하는 이유는 관계 트리 식별 시 물리적 관계는 없고 업무적 관계만 가지는 테이블들을 식별하기 위한 동일/유사/제외 컬럼을 정의하여 트리분석을 실시하기는 하지만 예외적인 업무적 관계가 발생할 수 있어 이러한 부분을 보정하기 위한 작업이다. 도 9는 관계 트리 보정을 위해 관계보정기(141)가 사용자에게 제공하는 예시적인 화면이다.
관계 트리의 보정이 완료되면, 오류데이터추출처리기(16)는 관계 오류 데이터 추출 스크립트 생성 및 보정 작업을 수행한다(S240). 관계 오류 데이터를 추출하기 위한 정보는 테이블별 관계 테이블 및 관계별 컬럼 테이블에서 관리되는 정보를 통해 생성될 수 있다. 이때 생성되는 관계 오류 데이터 추출 스크립트는 업무적 관계를 가지는 테이블(즉, 테이블별 관계 테이블의 물리적 FK 존재 여부 컬럼의 값이 2인 정보)에 대해서만 생성된다. 도 10은 테이블별 관계 및 관계별 컬럼의 정보를 이용해 생성된 관계 오류 데이터 추출 스크립트의 일부를 나타낸다.
이후, 오류데이터추출처리기(16)는 관계 오류 데이터 추출 스크립트를 이용하여 업무 데이터베이스로(52)부터 관계 오류 데이터를 추출하여 오류데이터관리 데이터베이스(56)에 저장한다(S250).
도 11은 오류데이터관리 데이터베이스(56)에서 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다. 도 11의 테이블 구조에서 테이블간의 관계가 1:N 관계에서는 1이 부모 테이블이고 N이 자식 테이블이며, 1:1 관계에서는 두 테이블 중 어느 테이블이 부모 테이블 및 자식 테이블이 되더라도 무방하다.
데이터논리분석기(10)에 의해 관계 오류 데이터가 추출되었으면, 오류데이터보정기(20)는 관계 오류 보정 작업을 실시한다. 관계 오류 데이터에 대한 보정은 도 12에 도시된 바와 같이 부모 테이블을 기준으로 하여 자식 테이블을 보정하는 경우(CASE 1)와 자식 테이블을 기준으로 하여 부모 테이블을 보정하는 경우(CASE 2)가 있다. 도 12에서 알 수 있는 것처럼, 두 관계 테이블 중 어느 쪽에 관계 정보를 가지는가를 고려해 각 케이스별로 다시 나누어져 총 네 가지의 보정 유형이 나타난다. 즉, 자료가 존재하는 테이블을 근거해 상대편 관계 정보를 생성해 주는 접근, 자료가 없는 테이블에 근거해 상대편 관계 정보를 제거하는 접근이다. 그래서, 관계 데이터를 생성해야 하는 경우는 논리분석정보 DB(54)로부터 생성대상 테이블의 기본 논리정보를 읽어 데이터를 생성하는 스크립트를 만들며, 관계 데이터를 제거해야 하는 경우는 데이터 제거 스크립트를 생성하고, 사용자 실수의 상황을 대비해 삭제 정보는 백업을 받는다.
먼저, 관계오류보정정보관리기(221)는 도 13에 예시적으로 도시된 바와 같은 관계 오류 데이터 보정 정보 입력 화면을 사용자에게 제시하여 필요한 정보를 입력받는다(S260). 즉, 사용자는 관계 오류 데이터 보정 정보 입력 화면에서 각 오류 데이터에 대해 오류 원인을 분석하여, 각 데이터별로 기준여부 항목을 체크함으로써 기준이 되는 테이블을 선정하게 된다. 기준 테이블에 값이 없으면 상대 테이블의 레코드는 삭제로 정의된다. 기준 테이블에 값이 있으면 상대 테이블에 레코드를 생성해야 한다. 상대 테이블에 레코드를 생성할 경우, 관계오류보정정보관리기(221)는 관계 키 정보 및 비정규화 정보를 논리분석정보 데이터베이스(54)에서 읽어 자동 지정할 수 있다. 그리고, 사용자가 업무적 연계성 컬럼을 지정하면, 논리분석정보 데이터베이스(54)의 업무 연계 정보를 이용해 정합성 체크를 한다. 논리분석정보 데이터베이스(54) 내에서 관리되지 않는 컬럼에 대한 값은 사용자가 지정한 상태로 입력된다. 도 13에 도시된 바와 같은 화면을 통하여 테이블간의 관계 오류 보정 정보가 입력되면 관계오류보정정보관리기(221)는 이를 오류데이터관리 데이터베이스(56)에 저장한다.
이후, 오류데이터보정처리기(24)는 오류데이터관리 데이터베이스(56)에 저장된 관계 오류 보정 정보를 이용하여 관계 오류 데이터 보정 스크립트를 생성/보정하고(S270), 생성/보정된 관계 오류 데이터 보정 스크립트를 수행하여 업무 데이터베이스(52)의 관계 오류 데이터를 보정한다(S280).
도 14는 도 3에서의 비정규화 오류 데이터 처리 과정(S300)을 설명하는 흐름도이다.
먼저, 비정규화보정기(142)는 사용자로부터 비정규화 식별 기준을 등록받는다(S310). 비정규화 식별 기준을 등록하는 이유는 다음과 같다. 일반적으로 기본키(Primary Key)로 정의되지 않은 컬럼 중 여러 테이블에 동일한 이름으로 존재하는 컬럼을 비정규화된 컬럼으로 식별한다. 그러나, 데이터베이스의 특성에 따라 업무적으로 비정규화된 컬럼에 대한 비정규화 식별 접두/접미어를 부여하는 경우가 있다. 반대로 업무적 관계가 없음에도 불구하고 명칭이 동일한 컬럼들도 존재할 수 있다(예를 들어, 일련번호, 입력일자, 입력자 사번 등). 비정규화 컬럼을 식별하는데 있어 이러한 컬럼들을 추가 또는 제거하기 위해 비정규화 식별 기준 등록 작업을 하게 된다. 비정규화 식별 기준을 등록하는 화면은 도 5에 도시된 관계 식별 기준을 등록하는 화면과 같다.
사용자가 비정규화 식별 기준을 등록하면, 비정규화보정기(142)는 비정규화 트리 생성 작업을 수행한다(S320). 비정규화 트리란 테이블 간의 관계 종속 구조 상 최상위에 있는 테이블을 기준으로 생성된 트리를 말한다. 비정규화 트리를 생성하는 이유는 업무적으로 비정규화 컬럼에 대한 부모 테이블(비정규화 컬럼을 제공하는 테이블)과 자식 테이블(비정규화 컬럼을 제공받는 테이블)간의 관계를 식별하기 위한 것이다.
도 15는 비정규화보정기(142)에 의해 생성되는 비정규화 트리의 구조를 도시한 것이다. 도 15에 의하면, 비정규화 트리는 테이블 관계 트리와는 다르게 비정규화 컬럼을 제공하는 테이블(부모 테이블)과 비정규화 컬럼을 제공받는 테이블(자식 테이블)간의 관계로만 정의되고, 트리 레벨이 2레벨 이상 나올 수 없다. 그 이유는 비정규화 오류 데이터 처리과정이 부모 테이블과 자식 테이블간의 비정규화 컬럼값의 일치성을 검토하는 것이기 때문이다. 도 16은 비정규화 트리를 관리하기 위한 테이블 구조이다.
비정규화 트리를 생성하기 위한 알고리듬을 다음과 같다.
Step 1 : 기본키(Primary Key)가 아닌 상태로 2개의 테이블 이상에서 존재하는 컬럼 및 관련 테이블 추출.
Step 2 : 검증 대상 컬럼이 소속된 테이블의 관계가 기본키간의 상속 관계일 경우는 기본키 항목이 제일 적은 테이블이 부모 테이블이 됨.
Step 3 : 검증 대상 컬럼이 소속된 테이블의 기본키가 아닌 다른 테이블의 순수 참조키(Foreign Key) 관계(기본키 상속관계가 아님을 의미)로 정의될 때는 참조키 항목을 제공한 테이블이 부모 테이블이 됨.
Step 4 : 위 2가지 조건으로 검증대상 테이블의 관계에 대한 순차분석을 실시하여 부모 테이블 도출.
Step 5 : 부모 테이블에 관련 자식 테이블 연결.
도 17a 및 도 17b는 이상의 알고리듬에 근거하여 비정규화 트리를 생성하는 예시적인 순서도를 도시한 것이다.
비정규화 트리 생성 작업이 완료되면 사용자는 비정규화보정기(142)를 이용하여 비정규화 트리 보정작업을 실시하게 된다(S330). 이 작업을 하는 이유는 비정규화 트리 식별 시 비정규화 항목을 식별하기 위해 동일/유사/제외 컬럼을 정의하여 트리분석을 실시하기는 하지만 예외적인 비정규화 항목이 발생하거나 비정규화 항목이 아닌 항목이 존재할 수 있어 이러한 부분을 보정하기 위한 작업이다.
도 18은 비정규화 트리 보정을 위해 비정규화보정기(142)가 사용자에게 제공하는 예시적인 화면이다. 도 18에서 알 수 있듯이 비정규화 트리 보정 시 이력 관계인가를 마킹해 주는데, 그 이유는 이력관계는 업무 데이터베이스(52)의 자료사전을 통해 파악할 수 없으므로 사용자가 정의하는 것이다.
비정규화 트리의 보정이 완료되면, 오류데이터추출처리기(16)는 비정규화 오류 데이터 추출 스크립트 생성 및 보정 작업을 한다(S340). 비정규화 오류 데이터를 추출하기 위한 정보 중 비정규화 항목(select 항목) 및 비정규화 관계 정보(from 절)는 비정규화 제공 테이블과 비정규화 대상 테이블에서 얻을 수 있고, 관계에 대한 구체적인 조건(where 절) 정보는 테이블 관계 및 관계별 컬럼에서 얻을 수 있다. 이때 생성되는 비정규화 오류 데이터 추출 스크립트는 비정규화 대상 테이블의 비정규화 유형의 값에 의해 달라진다. 도 19는 비정규화 오류 데이터 추출 스크립트의 일부를 나타낸다.
이후, 오류데이터추출처리기(16)는 비정규화 오류 데이터 추출 스크립트를 이용해 업무 데이터베이스(52)로부터 비정규화 오류 데이터 추출하여 오류데이터관리 데이터베이스(56)에 저장한다(S360).
도 20은 오류데이터관리 데이터베이스(56)에서 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다. 도 20의 테이블 구조에서 부모 테이블은 비정규화 제공 테이블이고, 자식 테이블은 비정규화 대상 테이블이 된다.
데이터논리분석기(10)에 의해 비정규화 오류 데이터가 추출되었으면, 오류데이터보정기(20)는 비정규화 오류 보정 작업을 실시한다. 비정규화 오류 데이터에 대한 보정은 비정규화 보정을 위한 기준이 되는 컬럼을 선정하고, 선정된 기준 컬럼 값에 근거하여 나머지 테이블의 비정규화 컬럼값에 대한 일치화 작업을 하게 된다.
도 21에서는, 비정규화 컬럼 간 정보 일치를 위한 기준 컬럼을 자식 테이블에서 선정했다. 그러나, 일반적으로는 원시 정보를 부모 테이블의 컬럼이 가지고 있는 경우가 대부분이므로, 부모 테이블의 컬럼이 비정규화 기준 컬럼으로 선정될 가능성이 매우 높다. 그러나, 예외적인 상황을 고려하여 자식 테이블의 컬럼이 선정되더라도 비정규화 값의 일관화가 가능하도록 하였다.
비정규화오류보정정보관리기(222)는 도 22에 예시적으로 도시된 바와 같은 비정규화 오류 데이터 보정 정보 입력 화면을 사용자에게 제시하여 필요한 정보를 입력받는다(S360). 도 22에서 부모 테이블에서 정의한 항목(K_1, K_X, K_Y)은 부모 테이블의 기본키(Primary Key)이다. 그 이유는 자식 테이블이 부모테이블의 기본키와 연결되어 있으며, 관련 정보의 변경은 부모 테이블의 기본키 값을 가지는 자식 테이블 관련 데이터의 비정규화 항목 값이 변경대상 항목 값이 되기 때문이다. 도 22에 도시된 비정규화 오류 데이터 보정 정보 입력 화면에서 사용자는 각 오류 데이터에 대해 오류 원인을 분석하여, 각 데이터별로 기준 테이블을 체크함으로써 기준이 되는 테이블을 선정하게 되고, 기준의 되는 컬럼값에 의해 일괄적인 변경을 수행하게 된다. 도 22에 도시된 바와 같은 화면을 통하여 비정규화 오류 데이터 보정 정보가 입력되면 비정규화오류보정정보관리기(222)는 이를 오류데이터관리 데이터베이스(56)에 저장한다.
이후, 오류데이터보정처리기(24)는 오류데이터관리 데이터베이스(56)에 저장된 비정규화 오류 보정 정보를 이용하여 비정규화 오류 데이터 보정 스크립트를 생성/보정하고(S370), 생성/보정된 비정규화 오류 데이터 보정 스크립트를 수행하여 업무 데이터베이스(52)의 비정규화 오류 데이터를 보정한다(S380).
도 23은 도 3에서의 컬럼형식/경계값 오류 데이터 처리 과정(S400)을 설명하는 흐름도이다.
먼저, 컬럼형식/경계값보정기(143)는 사용자로부터 컬럼 형식 및 경계값 추출 기준을 등록받는다(S410). 컬럼 형식 및 경계값 추출 기준을 등록하는 이유는 다음과 같다. 모든 컬럼은 다 형식을 가지지만 <Date>나 <number> 형식처럼 컬럼의 형식 자체가 입력 데이터의 제약 조건이 되는 경우에는 컬럼 형식을 위배하는 오류 데이터가 존재할 수 없다. 그리고, 일정한 형식이 없는 <Text> 컬럼의 경우는 컬럼 형식의 논리성을 규정할 수 없어 컬럼 형식에 위배하는지를 검토하기가 어렵다. 그러나, 주민번호, 사번, 전화번호, 물리적으로 <char> 형식을 사용하는 날짜나 숫자 등은 그 형식에 논리성이 있고, 논리를 위배하는 데이터의 입력이 가능해 검토 대상이 된다. 도 24는 컬럼형식 및 경계값 추출 기준을 등록하도록 컬럼형식/경계값보정기(143)가 사용자에게 제공하는 화면이다.
사용자가 컬럼형식/경계값 추출 기준 등록을 완료하면, 컬럼형식/경계값보정기(143)는 추출 기준에 근거하여 컬럼 추출 작업을 수행한다(S420). 컬럼 추출은 논리분석정보 데이터베이스(54)의 테이블별 컬럼 테이블에서 컬럼과 물리적 TYPE을 읽고, 업무 데이터베이스(52)에서 업무적 형식과 관리정보 유형을 읽음으로써 이루어진다. 날짜, 주민번호, 구분자 등과 같은 컬럼의 경우, 업무적 형식과 관리되는 값의 유형을 식별하기 위해 컬럼형식/경계값보정기(143)가업무 데이터베이스(52)에서 해당 컬럼의 값을 샘플링/그룹핑하여 제공할 수 있다.
도 25에 의하면, 테이블별 컬럼 테이블에 물리적 TYPE 컬럼과 업무적 TYPE 컬럼이 있다. 이러한 항목이 존재하는 이유를 예를 들어 설명하면, 업무적 TYPE이 날짜인 입사일자 컬럼의 물리적 TYPE이 <CHAR>로 존재할 경우, 컬럼 형식의 논리에 위배되는 데이터가 존재할 가능성이 있으므로 이와 같은 컬럼을 관리하기 위한 것이다. 그리고, 컬럼의 경계값을 정의하기 위해 최대값, 최소값을 관리하고 있으며 컬럼이 코드 테이블에 관리되는 코드를 사용할 경우, 코드 테이블에서 정의된 값으로 관리된다면 일반 구분자 테이블에서 관리하기 위한 것이다.
컬럼형식/경계값에 대해 추출이 완료되면 사용자는 컬럼형식/경계값보정기(143)를 이용하여 추출된 컬럼 보정 작업을 실시하게 된다(S430). 도 26은 컬럼형식/경계값보정기(143)가 추출된 컬럼의 보정 작업을 수행하도록 사용자에게 제공하는 예시적인 화면이다. 도 26에 예시적으로 도시된 바와 같은 화면을 통하여 사용자는 컬럼값의 범위(경계값), 업무 형식, 코드 테이블 매핑 및 구분자에 대한 정의를 수행한다.
컬럼형식/경계값 보정이 완료되면, 오류추출기(16)는 컬럼형식/경계값 오류 데이터 추출 스크립트 생성 및 보정 작업을 수행한다(S440). 컬럼형식/경계값 오류 데이터를 추출하기 위한 정보는 테이블별 컬럼, 코드테이블 매핑, 일반 구분자 테이블의 정보를 이용하여 생성될 수 있다. 날짜, 주민번호 등 각 컬럼에 대한 정합성 체크는 컬럼을 체크 할 수 있는 범용성있는 함수를 정의하여 사용할 수 있다. 도 27은 오류추출기(16)에 의해 생성되는 컬럼형식/경계값 오류 데이터 추출 스크립트의 일부를 나타낸다.
이후, 오류데이터추출처리기(16)는 컬럼형식/경계값 오류 데이터 추출 스크립트를 이용해 업무 데이터베이스(52)로부터 컬럼 형식 및 경계값 오류 데이터를 추출하여 오류데이터관리 데이터베이스(56)에 저장한다(S450). 도 28은 오류데이터관리 데이터베이스(56)에서 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다.
컬럼형식/경계값오류보정정보관리기(223)는 추출된 오류 데이터에 대하여 컬럼형식 및 경계값 보정 정보 입력 작업을 통해 보정하면(S460), 오류데이터관리기(24)는 보정 정보에 근거하여 컬럼형식/경계값 보정 스크립트를 생성/보정하고(S470), 생성/보정된 컬럼형식/경계값 보정 스크립트를 수행하여 업무 데이터베이스(52)의 컬럼형식 및 경계값 오류 데이터를 보정한다(S480).
도 29는 도 3에서의 업무적 연계성 오류 데이터 처리 과정(S500)을 설명하는 흐름도이다.
먼저, 업무연계성보정기(144)는 사용자로부터 업무적 연계성 관련 항목 추출 기준을 등록받는다(S510). 데이터베이스에는 수많은 컬럼들이 있지만 일반적으로 업무적인 연계에 영향을 미치는 컬럼은 몇 종류의 그룹으로 제한된다. 예를 들면, 구분자, 계산 컬럼, 날짜, 코드 등과 같은 컬럼들이 업무적인 연계에서 주로 사용되는 컬럼들이다. 따라서, 이러한 컬럼들을 주요 관심 대상으로 접근한다면, 좀 더 쉽게 업무적 연계성 관련 컬럼을 식별할 수 있다.
도 30은 업무적 연계성 관련 항목 추출 기준을 등록하도록 업무연계성보정기(144)가 사용자에게 제공하는 예시적인 화면이다.
사용자가 업무적 연계성 관련 항목 추출 기준을 등록하면, 업무연계성보정기(144)는 업무적 연계 분석을 실시한다. 업무적 연계 분석은 통합업무 흐름 정의(S510), 통합업무연관트리 통합(S515), 업무에 의한 데이터 흐름 분석(S520), 업무연계성 관련 컬럼 식별(S525), 컬럼간 업무 연계 파악(S530), 업무적 연계성 컬럼간 연산 정의(S535)의 순으로 이루어진다.
통합업무 흐름 정의단계(S510)에서 실시되는 작업은 해당 업무 데이터베이스(52)와 관련된 통합된 업무의 흐름을 정의하는 작업으로, 개발 시 시험 단계에서 실시되는 통합시험 시나리오 정의와 같은 것으로 해석될 수 있다.
통합업무 흐름 정의가 끝나면, 통합업무연관트리 통합작업(S515)을 해야 하는데, 정의된 통합 업무 흐름과 관련된 테이블 관계 트리를 통합해 주는 작업을 의미한다. 도 31에 도시된 바와 같이, 자식 테이블은 여러 부모 테이블로부터 기본키(Primary Key)를 상속받을 수 있기 때문에 자식 테이블이 여러 테이블 관계 트리에 공존할 수 있다. 업무연계성보정기(144)는 통합 업무 흐름이 시작되어 완성되기까지 필요한 관련 테이블 관계 트리를 식별하고, 테이블 관계 트리 간에 공존된 자식 테이블을 병합함으로써 통합업무 흐름에 따른 전체적인 데이터베이스 구성을 이룰 수 있다.
통합업무 트리통합 작업이 완성되면, 업무에 의한 데이터 흐름 분석 작업(S520)을 실시한다. 업무에 의한 데이터 흐름 분석이란 통합업무가 통합된 트리 내의 테이블간에 어떻게 흘러가는지를 분석하는 작업이다. 도 32는 통합된 트리에 대해 데이터 흐름분석을 실시한 예시적인 도면이다. 도 31에 의하면, 업무흐름선으로 업무의 시작점과 끝나는 점을 지정하여 통합업무가 어떻게 테이블간에 흘러가는 지를 보여주고 있다.
업무에 의한 데이터 흐름 분석작업이 완료되면, S505 단계에서 입력된 업무적 연계성 관련 항목 추출 기준에 근거하여 통합트리 안에 존재하는 테이블들 내에서 업무 연계성 관련 컬럼을 식별하기 위한 업무 연계성 관련 컬럼 식별작업(S525)을 실시한다. 도 33은 도 32의 통합 업무 흐름과 관련된 테이블 중 A, B, C, D 테이블의 업무 연계성 관련 컬럼이 식별된 것을 나타내는 도면이다. 도 33에서 날짜(접두어 DT_), 구분자(GB_), 계산 컬럼(COM_) 등을 컬럼명에 소유한 컬럼들이 업무연계성 관련 항목 추출 기준에 근거하여 선정된 컬럼들이다.
이후, 업무연계성보정기(144)는 식별된 업무 연계성 관련 컬럼이 어떠한 컬럼 및 테이블과 관련을 가지는가를 식별하는 컬럼간 업무 연계성 파악 작업(S530)을 실시한다. 도 34를 살펴보면, 식별된 업무 연계성 관련 컬럼은 주변 컬럼 및 테이블과 3가지 유형의 관계를 가지는 것을 알 수 있다.
첫째, A 테이블의 DT_COL1, DT_COL2 컬럼은 각각 날짜 컬럼(예를 들어, 입사일자 및 퇴사일자)이다. 입사일자는 퇴사일자보다 작아야 하는 것처럼 날짜 컬럼은 상호간에 비교 체크되는 값을 가지는데, 이와 같이 컬럼 간에 비교연산을 유발하는 컬럼을 비교 연산 컬럼이라고 한다.
둘째, B 테이블의 GB_COL은 구분자 컬럼으로서, 예를 들어, "사원 테이블에서 사원 구분이 정규직이면 정규직 사원과 관련된 컬럼 또는 테이블에 값이 정의되어야 하고, 계약직이면 계약직 관련 컬럼과 테이블에 값이 정의되어야 한다"와 같이 다음 처리에 반영될 정보의 기준을 명시하는 컬럼이다. 이와 같이 다음 처리의 근거가 되는 컬럼을 원인 연산 컬럼이라고 한다.
셋째, B 테이블의 COM_COL은 연산 결과를 가지고 있는 컬럼으로, 예를 들어, "급여는 본봉과 수당의 합이다"고 할 때 급여 컬럼과 같은 컬럼이다. 이와 같은 컬럼은 컬럼간의 연산 결과를 소유하고 있는 컬럼이므로 결과 연산 컬럼이라고 한다.
데이터베이스 구조 내에 발생하는 연산은 크게 위의 세 가지로 구분할 수 있으며, 특별히 결과 연산은 다양한 연산 유형을 가질 수 있어 추가적인 패턴 분석을 통한 지속적인 패턴 추가 작업을 필요로 한다. 따라서, 업무연계성보정기(144)는 관련 테이블, 컬럼 및 연산 유형을 지정해주어 연산 유형별 작업을 실시할 수 있게 해준다.
다음, 업무연계성보정기(144)는 S530 단계에서 파악된 컬럼 및 테이블 관계, 연산 유형을 이용하여 연산 유형별로 업무적 연계 컬럼간 연산 정의 작업(S535)을 수행해야 한다. 도 35는 연산 유형별 연산을 정의하기 위한 화면을 예시적으로 도시한 것이다. 도 35는 각 연산 유형별 컬럼 간의 연산을 정의할 수 있도록 되어 있다.
원인 연산은 원인을 유발하는 컬럼(도 35에서는 테이블 A의 gb_a)의 값이 무엇이냐에 따라 영향을 받는 컬럼 또는 테이블들의 값이 존재할 수 있는가 여부를 결정한다. 도 35의 [원인연산]에서는 gb_a 컬럼 값이 1일 때, 테이블 A 컬럼 b의 값이 존재할 수 있고 테이블 B의 데이터가 생성될 수 있음을 의미한다.
비교 연산은 두 컬럼간의 값의 크기 비교하는 것이므로 >, =, <의 세개의 연산자를 이용해 컬럼간 비교 연산을 수행할 수 있게 한다.
계산 컬럼(도 35에서 테이블 A의 cum_a)은 여러 관련 컬럼 값 간의 연산의 결과이다. 따라서, 계산 컬럼은 관련 컬럼 값의 가감승제에 의한 관계 및 각 컬럼 값의 GROUP 유형(GROUP의 크기<where 조건에 의존> 및 group 함수(합, 평균, 최대값, 최소값 등))에 의존한다. 가감승제 및 그룹핑이 여러 형태로 나타날 수 있으므로, 결과 연산의 경우에는 정의 이후에 사용자 편집이 가능하게 한다.
도 36은 연산을 관리하기 위한 테이블 구조를 도시한 것으로, 테이블별 컬럼 테이블의 연산유형 컬럼 값이 어떻게 들어오는가에 따라 연산 연관 컬럼 테이블의 값이 지정된다.
테이블별 컬럼에 연산 유형에 값이 1, 즉 원인 연산이 선택되면, 연산연관 컬럼 테이블의 코드값이 지정되고 관련 연관 테이블 및 컬럼이 지정된다.
테이블별 컬럼에 연산 유형에 값이 2, 즉 비교 연산이 선택되면, 연산연관 컬럼 테이블의 비교연산자(<,=,>)가 지정되고 관련 연관 테이블 및 컬럼이 지정된다.
테이블별 컬럼에 연산 유형에 값이 3, 즉 결과 연산이 선택되면, 연산연관 컬럼 테이블의 계산항목(+,-,*,/) 및 컬럼을 그룹핑할 경우는 그룹함수 및 그룹 레벨(level)을 지정하는 조인키, 그리고, 연산 연관 컬럼간 연산 순위를 지정해준다. 그리고, 만약 연산 연관 컬럼 테이블을 통한 결과 연산 지정이 어려울 경우는 사용자 정의 함수를 통해 사용자 정의를 할 수도 있다.
업무적 연계성 정의와 관련된 작업이 끝나면, 오류테이터추출기(16)는 논리분석정보 데이터베이스(54)에 저장된 업무연계 컬럼간 연산 정보를 이용하여 업무적 연계성에 따른 오류 데이터 추출 스트립트 생성 및 보정 작업을 수행한다(S540).
도 37은 업무적 연계성에 따른 오류 데이터 추출 스크립트를 예시적으로 나타낸 것이다. 도 37에서 [원인 연산] 오류 데이터 추출 스크립트의 생성은 원인 연산 컬럼 테이블에서 COL_4에 존재할 수 있는 값을 체크하고 연산 연관 컬럼에서 COL_4의 값에 따라 존재할 수 있는 관련 컬럼 값 및 레코드 값을 식별한다. [원인연산] 사례에서는 COL_4의 값이 '1'이어야만 테이블 B의 값이 존재할 수 있는데, COL_4의 값이 '1'이 아님에도 불과하고 테이블 B의 값이 존재하는 오류 데이터를 추출하는 스크립트이다. 테이블 A와 테이블 B의 관계는 테이블별 관계 및 관계별 컬럼 테이블로부터 추출할 수 있다.
도 37에서 [비교연산] 스크립트는 비교연산 컬럼 테이블의 DT_COL_1은 DT_COL_2보다 크거나 같아야 한다고 정의되어 있는데, 그렇지 않은 오류 데이터를 추출하는 스크립트이다.
도 37에서 [결과 연산] 스크립트는 결과 연산 컬럼 및 연산 관련 컬럼 테이블에 COL_COM = SUM(COL_2/COL_3)로 정의되어 있는데, 그렇지 않은 오류 데이터를 추출하는 스크립트이다. 테이블 A와 테이블 C의 관계는 테이블별 관계 및 관계별 컬럼 테이블로부터 추출할 수 있다.
이후, 오류데이터추출처리기(16)는 업무적 연계성에 따른 오류 데이터 추출 스크립트를 이용해 업무 데이터베이스(520로부터 업무적 연계성 오류 데이터를 추출하여 오류데이터관리 데이터베이스(56)에 저장한다(S545).
도 38은 오류데이터관리 데이터베이스(56)에서 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다. 도 38에 도시된 테이블 구조에서 기준 오류 정보는 원인, 비교, 결과에서 각각 기준이 되는 테이블의 컬럼으로서, 원인 연산에서는 원인을 유발하는 컬럼, 비교 연산에서는 비교 대상 컬럼 중 사용자가 임의로 지정한 컬럼, 결과 연산에서는 결과값이 저장되는 컬럼을 말한다.
데이터논리분석기(10)에 의해 업무적 연계성 오류 데이터가 추출되었으면, 오류데이터보정기(20)는 업무적 연계성 오류 보정 작업을 실시한다. 도 39에 도시된 바에 의하면, 업무적 연계성 오류 데이터에 대한 보정은 원인연산, 비교연산, 결과연산별 보정이 있다. 도 39에서 원인연산, 비교연산, 결과연산의 세가지 연산에 대한 보정 매카니즘 중 비교연산은 처리 매카니즘이 단순하여 제외하였다.
원인 연산 보정 매카니즘은 원인 유발항목과 결과 내역 중 하나를 기준으로 보정을 실시하는 매카니즘이다. 결과 연산 보정 매카니즘은 결과 컬럼과 관련 연산 컬럼들 중 사용자가 지정한 특정 컬럼이 보정대상이 되어 보정 컬럼값을 관련 컬럼들의 값과 연산 알고리즘에 의해 보정하는 매카니즘이다. 도 40은 보정 연산 매카니즘에 대한 예시적인 순서도이다.
업무적연계성오류보정정보관리기(224)는 도 41에 예시적으로 도시된 바와 같은 업무적 연계성 오류 데이터 보정 정보 입력 화면을 사용자에게 제시하여 필요한 정보를 입력받는다(S550). 업무적 연계성 오류 데이터 보정 정보 입력 화면에서 원인 연산과 비교 연산 보정의 경우 사용자는 각 오류 데이터에 대해 오류 원인을 분석하여 각 데이터별로 기준 여부 항목을 체크하면, 업무적연계성오류보정정보관리기(224)는 기준이 되는 테이블을 선정하고 상대항목을 기준항목에 근거하여 변경할 수 있도록 지원한다. 결과 연산의 경우 사용자가 보정대상 값을 선택하면 업무적연계성오류보정정보관리기(224)는 나머지 값에 근거하여 보정대상 값을 자동 연산한다. 도 41에 도시된 바와 같은 화면을 통하여 업무적 연계성 보정 정보가 입력되면 업무적연계성오류보정정보관리기(224)는 이를 오류데이터관리 데이터베이스(56)에 저장한다.
이후, 오류데이터보정처리기(24)는 오류데이터관리 데이터베이스(56)에 저장된 업무적 연계성 보정 정보를 이용하여 업무적 연계성 오류 데이터 보정 스크립트를 생성/보정하고(S555), 생성/보정된 업무적 연계성 오류 데이터 보정 스크립트를 수행하여 업무 데이터베이스(52)의 업무적 연계 오류 데이터를 보정한다(S560).
도 42는 도 3에서의 시스템간 연계성 오류 데이터 처리 과정(S600)을 설명하는 흐름도이다. 도 42에 의한 시스템간 연계성 오류 데이터 처리작업은 데이터논리보정기(14)의 관계보정기(141), 비정규화보정기(142), 컬럼형식/경계값보정기(143) 및 업무적연계성보정기(144)에 의한 논리분석작업(S220, S320 또는 S525) 이후, 논리보정작업(S230, S330 또는 S530, 도 42에서는 A로 표시됨) 이전에 시스템간연계성보정기(145)에 의해 수행된다.
시스템간 연계 분석 단계(S610)는 데이터베이스 논리 구조에 의한 작업활동은 아니다. 일반적으로, 사용자는 자신의 시스템에만 관심을 가지기 때문에 강제적으로 타 시스템과의 연계분석을 실시하게 하기위해 만든 프로세스다. 시스템간 연계를 분석을 위해 맨 처음 하는 과정은 시스템간 연계 테이블을 분석하는 것이다. 이 작업은 사용자가 연계 대상 테이블을 직접 선택하고 연계 항목별 연계 내역을 분석함으로서 이루어진다.
도 43은 시스템간 연계 분석의 사례를 설명하기 것이다. 도 43에서 볼 수 있는 것처럼 연계 대상 테이블간에는 테이블간의 관계, 비정규화, 업무적 연계성의 형태로 연계가 발생한다. 이후, 각 연계 항목별 내역 정의가 완료되면(S620), 시스템간연계성보정기(145)는 해당 정보를 논리분석정보 데이터베이스(54)에 저장하고, 각 논리 구조별 논리 보정 과정(S230, S330 또는 S530 내지 S540)에서 처리된 다음, 오류데이터추출처리기(16)에 의한 오류 데이터 추출 및 오류데이터보정기(20)에 의한 오류 데이터 보정 작업이 이루어진다.
한편, 상술한 본 발명의 데이터 무결성 관리장치(1)의 실시예는 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 그리고, 컴퓨터에서 사용되는 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 의하면, 업무 데이터베이스 전체의 무결성 오류 데이터를 일괄적이고 자동화된 방식으로 추출하고 보정할 수 있을 뿐만 아니라, 시스템간의 무결성 오류 데이터도 자동화된 방식으로 추출하고 보정할 수 있다.
도 1은 본 발명에 의한 데이터 무결성 관리장치의 기능적을 블록 구성도이다.
도 1a 및 도 1b는 각각 도 1의 데이터논리보정기 및 오류데이터보정정보관리기의 상세 블록 구성도이다.
도 2는 본 발명에 의한 데이터 무결성 관리장치를 이용하여 오류 데이터를 추출하여 보정하는 과정을 도시한 전체 흐름도이다.
도 3은 논리분석정보 데이터베이스의 테이블 구조를 도시한 것이다.
도 4는 본 발명에 의한 데이블간 관계 오류데이터 처리 과정을 도시한 흐름도이다.
도 5는 관계 식별 기준을 등록하도록 관계보정기가 사용자에게 제공하는 예시적인 화면을 도시한 것이다.
도 6은 테이블 관계 트리를 예시적으로 도시한 것이다.
도 7은 테이블 관계 트리를 관리하기 위한 테이블 구조를 도시한 것이다.
도 8a 내지 도 8f는 테이블 관계 트리를 생성하는 예시적인 순서도를 도시한 것이다.
도 9는 관계 트리 보정을 위해 관계보정기가 사용자에게 제공하는 예시적인 화면을 도시한 것이다.
도 10은 테이블별 관계 및 관계별 컬럼의 정보를 이용해 생성된 관계 오류 데이터 추출 스크립트의 일부를 나타내는 도면이다.
도 11은 오류데이터관리 데이터베이스에서 관계 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다.
도 12는 테이블간의 관계 오류 데이터 보정 메카니즘을 설명하기 위한 도면이다.
도 13은 테이블간의 관계 오류 보정 정보를 입력받기 위한 화면을 예시적으로 도시한 것이다.
도 14는 본 발명에 의한 비정규화 컬럼 오류데이터 처리 과정을 도시한 흐름도이다.
도 15는 비정규화보정기에 의해 생성되는 비정규화 트리의 구조를 도시한 것이다.
도 16은 비정규화 트리를 관리하기 위한 테이블 구조를 도시한 것이다.
도 17a 및 도 17b는 비정규화 트리를 생성하는 예시적인 순서도를 도시한 것이다.
도 18은 비정규화 트리 보정을 위해 비정규화보정기가 사용자에게 제공하는 예시적인 화면을 도시한 것이다.
도 19는 비정규화 오류 데이터 추출 스크립트의 일부를 나타낸다.
도 20은 오류데이터관리 데이터베이스에서 비정규화 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다.
도 21은 비정규화 오류 데이터 보정 메카니즘을 설명하기 위한 도면이다.
도 22는 비정규화 오류 보정 정보를 입력받기 위한 화면을 예시적으로 도시한 것이다.
도 23은 본 발명에 의한 컬럼형식/경계값 오류데이터 처리 과정을 도시한 흐름도이다.
도 24는 컬럼형식 및 경계값 추출 기준을 등록하도록 컬럼형식/경계값보정기가 사용자에게 제공하는 화면을 도시한 것이다.
도 25는 테이블별 컬럼 테이블을 구성하는 항목들을 설명하기 위한 도면이다.
도 26은 컬럼형식/경계값보정기가 추출된 컬럼의 보정 작업을 수행하도록 사용자에게 제공하는 예시적인 화면이다.
도 27은 오류추출기에 의해 생성되는 컬럼형식/경계값 오류 데이터 추출 스크립트의 일부를 나타낸다.
도 28은 오류데이터관리 데이터베이스에서 컬럼형식/경계값 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다.
도 29는 본 발명에 의한 업무적 연계성 오류데이터 처리 과정을 도시한 흐름도이다.
도 30은 업무적 연계성 관련 항목 추출 기준을 등록하도록 업무연계성보정기가 사용자에게 제공하는 예시적인 화면을 도시한 것이다.
도 31은 병합대상 테이블을 설명하기 위한 예시적인 테이블 관계 트리를 도시한 것이다.
도 32는 통합된 트리에 대해 데이터 흐름분석을 실시한 예시적인 도면이다.
도 33은 도 32의 통합 업무 흐름과 관련된 테이블 중 A, B, C, D 테이블의 업무 연계성 관련 컬럼이 식별된 것을 나타내는 도면이다.
도 34는 업무 연계성 관련 컬럼이 주변 컬럼 및 테이블과 갖는 3가지 유형의 관계를 설명하기 위한 도면이다.
도 35는 연산 유형별 연산을 정의하기 위한 화면을 예시적으로 도시한 것이다.
도 36은 연산을 관리하기 위한 테이블 구조를 도시한 것이다.
도 37은 업무적 연계성에 따른 오류 데이터 추출 스크립트를 예시적으로 나타낸 것이다.
도 38은 오류데이터관리 데이터베이스에서 업무적 연계성 오류 데이터를 관리하기 위한 테이블 구조를 도시한 것이다.
도 39는 업무적 연계성 오류 데이터 보정 메카니즘을 설명하기 위한 도면이다.
도 40은 보정 연산 매카니즘에 대한 예시적인 순서도이다.
도 41은 업무적 연계성 오류 데이터 보정 정보를 입력받기 위한 화면을 예시적으로 도시한 것이다.
도 42는 본 발명에 의한 시스템간 연계성 오류데이터 처리 과정을 도시한 흐름도이다.
도 43은 시스템간 연계 분석의 사례를 설명하기 것이다.

Claims (11)

  1. 업무 데이터베이스로부터 자료사전을 읽어, 데이터베이스의 구조 분석 정보로 가공하여 논리분석정보 데이터베이스에 저장하는 데이터논리스캐너;
    업무 데이터베이스의 업무적 논리 구조를 테이블간의 관계, 비정규화 컬럼, 컬럼 형식 및 경계값, 업무적인 연계성, 시스템간 연계성으로 구분하고, 업무 데이터베이스의 테이블/컬럼 명명 원칙 및 업무적인 관계를 고려하여 업무 데이터베이스의 업무적 논리 구조별로 논리분석정보 데이터베이스에 저장된 논리분석 정보를 보정하는 데이터논리보정기;
    보정된 논리분석 정보를 이용해 오류 데이터를 추출할 수 있는 오류 데이터 추출 스크립트를 생성하여 업무 데이터베이스에서 오류 데이터를 추출하는 오류데이터추출처리기;
    업무 데이터베이스의 업무적 논리 구조별로 추출된 오류데이터를 사용자에게 제공하여 오류데이터 보정 정보를 입력받는 오류데이터보정정보관리기; 및
    오류 데이터의 보정 정보에 근거하여 데이터 보정 스크립트를 생성하여 업무 데이터베이스의 오류 데이터를 보정하는 오류데이터보정처리기;를 포함함을 특징으로 하는 컴퓨터를 기반으로 한 데이터 무결성 관리장치.
  2. 제1항에 있어서,
    추출된 오류 데이터에 근거하여 각종 통계자료를 제공하는 데이터품질분석기;를 더 포함함을 특징으로 하는 컴퓨터를 기반으로 한 데이터 무결성 관리장치.
  3. 삭제
  4. (a1) 업무 데이터베이스로부터 자료사전을 읽어, 데이터베이스의 구조 분석 정보로 가공하여 논리분석정보 데이터베이스에 저장하는 단계;
    (a2) 업무 데이터베이스의 업무적 논리 구조를 테이블간의 관계, 비정규화 컬럼, 컬럼 형식 및 경계값 및 업무적인 연계성으로 구분하고, 업무 데이터베이스의 테이블/컬럼 명명 원칙 및 업무적인 관계를 고려하여 업무 데이터베이스의 업무적 논리 구조별로 논리분석정보 데이터베이스에 저장된 논리분석 정보를 보정하는 단계;
    (a3) 보정된 논리분석 정보를 이용해 오류 데이터를 추출할 수 있는 오류 데이터 추출 스크립트를 생성하여 업무 데이터베이스에서 오류 데이터를 추출하는 단계;
    (b1) 업무 데이터베이스의 업무적 논리 구조별로 추출된 오류데이터를 사용자에게 제공하여 오류데이터 보정 정보를 입력받는 단계; 및
    (b2) 오류 데이터의 보정 정보에 근거하여 데이터 보정 스크립트를 생성하여 업무 데이터베이스의 오류 데이터를 보정하는 단계;를 포함함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  5. 삭제
  6. 제4항에 있어서, 상기 (a2) 단계는
    업무 데이터베이스의 업무적 논리 구조가 테이블간의 관계인 경우, 사용자로부터 테이블 관계 식별 기준을 등록받고, 논리분석정보 데이터베이스에서 업무 데이터베이스의 물리적/업무적 관계 정보를 읽어 테이블 관계 트리를 생성하는 단계를 구비함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  7. 제4항에 있어서, 상기 (a2) 단계는
    업무 데이터베이스의 업무적 논리 구조가 비정규화 컬럼인 경우, 사용자로부터 비정규화 식별 기준을 등록받고, 논리분석정보 데이터베이스에서 업무 데이터베이스의 비정규화 정보를 읽어 비정규화 트리를 생성하는 단계를 구비함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  8. 제4항에 있어서, 상기 (a2) 단계는
    업무 데이터베이스의 업무적 논리 구조가 컬럼 형식 및 경계값인 경우, 사용자로부터 컬럼 형식/경계값 추출 기준을 등록받아 그 기준에 근거하여 컬럼을 추출하고 추출된 컬럼에 대하여 컬럼형식/경계값을 보정하는 단계를 구비함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  9. 제4항에 있어서, 상기 (a2) 단계는
    업무 데이터베이스의 업무적 논리 구조가 업무적인 연계성인 경우, 사용자로부터 업무적 연계성 관련 항목 추출 기준을 등록받아 통합 업무흐름을 정의하고, 통합업무연관트리를 통합하고, 업무에 의한 데이터 흐름을 분석하고, 업무 연계 관련 컬럼을 식별하고, 컬럼간 업무 연계를 파악하고, 업무적 연계 컬럼간 연산을 정의하는 단계를 구비함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  10. 제4항에 있어서, 상기 (a2) 단계는
    업무 데이터베이스의 업무적 논리 구조가 시스템간 연계성인 경우, 타 업무적 논리 구조에 따른 논리 분석 과정과 논리 보정 과정 사이에 시스템간 연계 테이블을 분석하고, 연계 항목별 내역을 정의하는 단계를 구비함을 특징으로 하는 컴퓨터를 사용한 데이터 무결성 관리방법.
  11. 제4항 및 제6항 내지 제10항 중 어느 한 항의 데이터 무결성 관리방법을 컴퓨터 상에서 실행하는 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
KR10-2002-0075663A 2002-11-30 2002-11-30 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체 KR100532823B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0075663A KR100532823B1 (ko) 2002-11-30 2002-11-30 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0075663A KR100532823B1 (ko) 2002-11-30 2002-11-30 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20040047439A KR20040047439A (ko) 2004-06-05
KR100532823B1 true KR100532823B1 (ko) 2005-12-02

Family

ID=37342829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0075663A KR100532823B1 (ko) 2002-11-30 2002-11-30 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR100532823B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100940616B1 (ko) * 2003-05-21 2010-02-05 엘지노텔 주식회사 교환 시스템의 시스템 데이터 관리 장치 및 방법
CN111221809B (zh) * 2020-01-08 2024-05-24 国电联合动力技术有限公司 基于实时数据库存储的数据清洗方法和系统及存储介质
CN113626417A (zh) * 2020-05-08 2021-11-09 台达电子工业股份有限公司 数据齐备度分析系统和数据齐备度分析方法
KR102639897B1 (ko) * 2021-03-11 2024-02-22 김기창 데이터 아키텍쳐 관리 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337807A (ja) * 1993-05-28 1994-12-06 Internatl Business Mach Corp <Ibm> データベースにおける制約の実行の自動化のためのシステム及び方法
JPH08255102A (ja) * 1995-02-10 1996-10-01 Internatl Business Mach Corp <Ibm> データベースにおける制約違反の検査方法及びそのシステム
US6065017A (en) * 1997-12-31 2000-05-16 Novell, Inc. Apparatus and method for identifying and recovering from database errors
KR20000042104A (ko) * 1998-12-24 2000-07-15 이계철 전자교환기의 데이터베이스 관리방법
KR20010045662A (ko) * 1999-11-05 2001-06-05 서평원 교환기 데이터베이스 무결성 보장 시스템 및 방법
KR20040017321A (ko) * 2001-07-19 2004-02-26 컴퓨터 어소시에이츠 싱크, 인코포레이티드 데이터베이스의 테이블스페이스를 재편성하는 방법 및시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337807A (ja) * 1993-05-28 1994-12-06 Internatl Business Mach Corp <Ibm> データベースにおける制約の実行の自動化のためのシステム及び方法
JPH08255102A (ja) * 1995-02-10 1996-10-01 Internatl Business Mach Corp <Ibm> データベースにおける制約違反の検査方法及びそのシステム
US6065017A (en) * 1997-12-31 2000-05-16 Novell, Inc. Apparatus and method for identifying and recovering from database errors
KR20000042104A (ko) * 1998-12-24 2000-07-15 이계철 전자교환기의 데이터베이스 관리방법
KR20010045662A (ko) * 1999-11-05 2001-06-05 서평원 교환기 데이터베이스 무결성 보장 시스템 및 방법
KR20040017321A (ko) * 2001-07-19 2004-02-26 컴퓨터 어소시에이츠 싱크, 인코포레이티드 데이터베이스의 테이블스페이스를 재편성하는 방법 및시스템

Also Published As

Publication number Publication date
KR20040047439A (ko) 2004-06-05

Similar Documents

Publication Publication Date Title
US6708166B1 (en) Method and apparatus for storing data as objects, constructing customized data retrieval and data processing requests, and performing householding queries
US8886617B2 (en) Query-based searching using a virtual table
JP5306360B2 (ja) データ記録を一致させるシステムの分析のための方法およびシステム
US7092956B2 (en) Deduplication system
US6003039A (en) Data repository with user accessible and modifiable reuse criteria
US6834286B2 (en) Method and system for representing and accessing object-oriented data in a relational database system
JP5306359B2 (ja) 複数言語によるデータ記録を関連付ける方法およびシステム
US6925462B2 (en) Database management system, and query method and query execution program in the database management system
US6757670B1 (en) Method and system for query processing
US7117215B1 (en) Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface
US6598038B1 (en) Workload reduction mechanism for index tuning
US20040153469A1 (en) Database comparator
US20040078386A1 (en) System and method for classification of documents
US20070005619A1 (en) Method and system for detecting tables to be modified
JPH11504451A (ja) データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ
JPH04299459A (ja) データベースアクセスシステム
US5481703A (en) Database restructuring system for detecting functionally dependent relations and converting them into third normal form
US8756205B2 (en) System and method for rule-based data object matching
EP2019362A2 (en) Spatial data validation systems
US7707211B2 (en) Information management system and method
JP2000181759A (ja) 時系列データ検索システムと検索方法およびそのプログラムを記録した記録媒体
CN112905627B (zh) 数据处理方法、装置、计算机设备和存储介质
KR100532823B1 (ko) 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체
US20010025277A1 (en) Categorisation of data entities
CN113221528A (zh) 基于openEHR模型的临床数据质量评估规则的自动生成与执行方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120920

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140820

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150911

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 15