KR100222386B1 - 도형 및 데이터 선택을 지원하는 색인 및 압축 방법 - Google Patents

도형 및 데이터 선택을 지원하는 색인 및 압축 방법 Download PDF

Info

Publication number
KR100222386B1
KR100222386B1 KR1019930012650A KR930012650A KR100222386B1 KR 100222386 B1 KR100222386 B1 KR 100222386B1 KR 1019930012650 A KR1019930012650 A KR 1019930012650A KR 930012650 A KR930012650 A KR 930012650A KR 100222386 B1 KR100222386 B1 KR 100222386B1
Authority
KR
South Korea
Prior art keywords
data
distribution
display
record
software
Prior art date
Application number
KR1019930012650A
Other languages
English (en)
Other versions
KR950004048A (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 KR1019930012650A priority Critical patent/KR100222386B1/ko
Publication of KR950004048A publication Critical patent/KR950004048A/ko
Application granted granted Critical
Publication of KR100222386B1 publication Critical patent/KR100222386B1/ko

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

선택된 데이터베이스 내의 모든 에이터 필드의 분포를 상호 선택하고 디스플레이하는 방법이 제공된다. 방법의 기본적인 기능은 사용자에게 선택된 데이터베이스 내에 포함된 데이터를 도형의 형태로 볼 수 있게 한다. 더욱이, 사용자는 보다 상세한 디스플레이에 대한 데이터의 특정 세트를 선택하는 것은 물론이고 선택된 데이터베이스를 구성하는 남아있는 데이터 필드 모드에 대한 선택의 효과를 판단할 수 있는 능력을 갖추게 된다. 프로세스의 제1단계는 호스트 시스템으로부터 특정 데이터베이스를 액세스하는 것이다. 한번 선택된 데이터베이스가 액세스되면, 선택된 데이터베이스 내의 각각의 필드에 대한 분배 매트릭스가 선택된 데이터베이스 내에 포함된 데이터로부터 구축된다. 분배 매트릭스는 이제 도형 디스플레이 유닛의 임의 형태로 도형 디스플레이된다. 이러한 초기의 도형 디스플레이에 대하여, 사용자는 상세한 도형 디스플레이에 대한 다양한 선택을 할 수 있으며 데이터 구조와 데이터베이스의 데이터 내용을 분석할 수 있다.

Description

도형 및 데이터 선택을 지원하는 색인 및 압축 방법
제1도는 본 발명의 선택된 데이터베이스 내의 모든 데이터 필드의 분배를 디스플레이하고 선택하는 방법을 구현하는데 필요한 소프트웨어를 나타내는 고수준의 흐름도.
제2도는 본 발명의 데이터베이스 액세스 소프트웨어를 나타내는 상세한 흐름도.
제3도는 본 발명의 분배 구성 소프트웨어를 나타내는 상세한 흐름도.
제4도는 데이터베이스 기록의 샘플과 이에 대응하는 필드 값을 나타내는 표.
제5도는 제4도에서 설명된 필드 값에 대한 빈(BIN) 범위를 나타내는 표.
제6도는 본 발명에서 사용된 샘플 필드 헤더 데이터 구조를 나타내는 개략도.
제7도는 본 발명의 매트릭스 작업 영역을 나타내는 블록 선도.
제8도는 레코드 수1에 대한 분배 매트릭스를 나타내는 개략도.
제9도는 레코드 수2에 대한 분배 매트릭스를 나타내는 개략도.
제10도는 레코드 수3에 대한 분배 매트릭스를 나타내는 개략도.
제11도는 레코드 수4에 대한 분배 매트릭스를 나타내는 개략도.
제12도는 레코드 수5에 대한 분배 매트릭스를 나타내는 개략도.
제13도는 레코드 수6에 대한 분배 매트릭스를 나타내는 개략도.
제14도는 레코드 수7에 대한 분배 매트릭스를 나타내는 개략도.
제15도는 레코드 수8에 대한 분배 매트릭스를 나타내는 개략도.
제16도는 레코드 수9에 대한 분배 매트릭스를 나타내는 개략도.
제17도는 레코드 수10에 대한 분배 매트릭스를 나타내는 개략도.
제18도는 레코드 수11에 대한 분배 매트릭스를 나타내는 개략도.
제19도는 빈 작업 영역의 최종 데이터 내용을 나타내는 표.
제20도는 빈 작업 영역의 압축된 최종 데이터 내용을 나타내는 표.
제21도는 본 발명의 파일 개방 소프트웨어를 나타내는 상세한 흐름도.
제22도는 본 발명의 데이터 확장 소프트웨어를 나타내는 상세한 흐름도.
제23도는 본 발명의 샘플 기본 도형 디스플레이 출력을 나타내는 도면.
제24도는 본 발명의 SAMPLE01 레코드 출력의 기본 도형 디스플레이도.
제25도는 본 발명의 2차디스플레이 소프트웨어를 나타내는 상세한 흐름도.
제26도는 본 발명의 샘플 2차도형 디스플레이 출력을 나타내는 도면.
제27도는 본 발명의 검사 디스플레이 소프트웨어를 나타내는 제1 상세한 흐름도.
제28도는 본 발명의 검사 디스플레이 소프트웨어를 나타내는 제2 상세한 흐름도.
제29도는 본 발명의 샘플 검사 도형 디스플레이와 목록 상자 출력을 나타내는 도면.
제30도는 본 발명의 선택 프로세스를 설명하는 샘플 도형 디스플레이 출력을 나타내는 도면.
제31도는 본 발명의 선택 해재 프로세스를 설명하는 샘플 도형 디스플레이 출력을 나타내는 도면.
제32도는 본 발명의 선택 해재 프로세스의 리플(ripple) 효과를 설명하는 샘플 도형 디스플레이 출력을 나타내는 도면.
제33도는 본 발명의 전체 도형 인터페이스 소프트웨어 루틴을 나타내는 흐름도.
본 발명은 일반적으로 도형 데이터 선택을 지원하는 색인(indexing) 및 압축 기법(scheme)에 관한 것으로, 특히 선택한 데이터베이스 내의 모든 데이터 필드의 분배(distribution)를 선택하고 디스플레이 하는 방법에 관한 것이다. 본 발명의 방법은 사용자가 특정 데이터베이스 내의 필드를 선정하고, 필드 내의 데이터를 분배하여, 데이터 구조를 그래픽으로 뷰(view)하며, 잔여 데이터 필드상에서 선택된 세트에 데이터를 더하거나 빼는 효과를 결정하도록 데이터의 특정 세트를 선택할 수 있게 한다.
지난 20여년 동안, 정보 저장과 검색에 관한 전산화 기술의 발전은 정보를 효율적으로 액세스할 수 있는 인간의 능력을 상당히 확장시켰다. 고성능 집적 회로 기술을 갖춘 오늘의 컴퓨터는 엄청난 양의 정보, 보다 정확히 말하면 데이터를 저장할 능력이 있다. 따라서, 시스템 개발과, 데이터를 관리하고, 데이터를 효율적으로 활용할 수 있는 처리 능력에 대한 요구가 계속 증가하고 있다. 전산화된 정보 저장과 검색 시스템의 효율성은 데이터베이스를 얼마나 효율적으로 탐색될 수 있고, 데이터베이스에서의 기록문이 얼마나 빨리 검색될 수 있는가에 직접적으로 관련되어 있다. 현재 사용되고 있는 수많은 시스템과 방법은 파일링 기법, 색인 기법 및, 데이터 조작의 효율성을 향상시키는 데이터 압축 기법을 다양하게 조합하여 활용한다. 그러나, 데이터의 효율적인 검색은 처리과정의 제 1단계일 뿐이다. 시스템 사용자에게 의미있는 방식으로 데이터를 디스플레이하는 것은 처리과정의 제2 및 필연적인 단계인데, 그 이유는 비록 데이터를 얼마나 빨리 액세스 할 수 있을 지라도, 검색된 데이터의 임의대로 스크린이나 모니터상에 디스플레이될 경우, 데이터는 사용자에게는 무의미한 것이기 때문이다. 의미잇는 방식으로 데이터를 디스플레이하는 것에 덧붙여, 시스템 사용자는 데이터 구조의 상세 양상(detailed aspects)을 선택적으로 디스플레이하고, 잔여 데이터 필드상에서 선택된 세트에 데이터를 더하거나 소거하는 효과를 결정하는 능력을 갖추어야 한다.
종래의 기술의 레퍼런스(reference)는 컴퓨터 내에서 데이터의 파일링, 색인, 압축, 검색 및 디스플레이 방법 및 그 시스템을 개별적으로 기재하고 있으나, 일 실시예에서 데이터의 파일링, 색인, 압축, 검색 및 디스플레이 방법 또는 시스템을 기재한 레퍼런스는 없으며, 여기서 시스템 사용자는 잔여 데이터 필드상의 대표적인 효과를 결정하는 데이터의 특정 세트를 선택하는 능력을 갖추어야 한다. 다음의 레퍼런스는 앞에서 나열한 기능의 전부가 아닌 일부를 수행하는 능력이 있는 종래의 시스템과 방법의 상태를 예로서 보여주는 것이다.
미합중국 특허 제 4,817,036호(발명자 밀레트 등)는 데이터베이스 색인 및 정보검색을 위한 컴퓨터 시스템 및 방법을 기재하고 있다. 수많은 키워드가 선택되고, 데이터베이스의 각 레코드는 각 키워드가 나타나는 어느 레코드내에서 결정하도록 탐색된다. 시스템의 중앙 처리 장치는 키워드가 나타나고 레코드 수를 정렬(sort)하는 데이터베이스의 각 레코드 수를 식별하는 각 키워드의 벡터를 생성시킨다. 다음의 특정 비트 프로세서는 각 벡터를 한 키워드에 의해 식별되는 비트 문자열로(string)로 변환한다. 이런 비트 문자열은 중앙 처리 장치로 복귀되고 데이터베이스에 대한 색인을 형성하도록 제2 저장부내에 저장된다. 정보를 검색하기 위해서는, 하난 또는 그 이상의 키워드가 중앙 처리 장치에 입력된다. 입력 키워드는 중앙 처리 장치에 의해 각 키워드에 대한 비트 문자열을 식별하는 데에 이용된다. 키워드는 "AND", "OR" 및 "NOT" 명령을 이용하여 논리적으로 결합될 수 있다. 색인으로부터 검색된 각 비트 문자열은 특정 목적의 비트 프로세서로 전송되는데, 이런 프로세서는 비트 문자열을 특정 명령에 따라 조합한다. 결과적인 비트 문자열은 비트 프로세서에 의해 벡터로 변환되며, 이런 벡터는 중앙 처리 장치로 복귀되어, 조합된 키워드를 포함하는 개별적인 레코드를 식별하는데 이용된다.
미합중국 특허 제 4,961,139호(발명자 홍 등)는 실시간 응용을 위한 데이터베이스 관리 시스템을 기재하고 있다. 실시간 데이터베이스는 온라인 응용에 요구되는 예측 가능한 고속 데이터 액세스를 제공하면서, 플렉시블 탐색 능력을 제공한다. 데이터 검색 루틴은 로크된(locked)데이터 표 내의 데이터를 액세스하는 "read-through-lock"에 대한 옵션, 투플(tuple) 식별기를 이용하여 데이터를 직접 액세스하는 능력과, 포맷되지 않은 데이터의 블록을 포함하는 입력 영역으로부터 포맷되지 않은 데이터를 직접 액세스하는 능력을 포함한다. 데이터 갱신 루틴은 데이터를 갱신할 시 색인 갱신을 생략하는 옵션과, 로크된 데이터 표 내의 데이터를 갱신하는 옵션을 포함한다. 다중 색인은 데이터 표를 위해 정의될 수 있다. 따라서, 고속 탐색이 다양한 데이터 필드에 기초하여 수행될 수 있다. 데이터 저장 및 검색 메카니즘은 독립적이며, 데이터 표에 다중 색인 키(key)를 연결하는 해시(hash)색인 표가 있다. 데이터 표 구조는 투플 식별기 문자열을 저장하기 위해 정의된 열(column)을 포함한다. 이러한 투플 식별기는 다른 데이터 표에 저장된 관련 데이터에 연쇄화(chaining)하는 포인터로서 이용될 수 있다. 데이터베이스는 비교적 작은 프로그램 가능한 메모리를 갖는다. 사용자 데이터 표, 색인 표 및 시스템 데이터 표에는 공통적인 구조가 있다. 데이터베이스는 다중 기능을 제공하는 어떤 루틴을 갖춘 가장 작은 수의 루틴을 포함한다.
미합중국 특허 제 4,232,375호(발명자: 포우그슈타트 등)는 데이터 압축 시스템 및 장치를 기재하고 있다. 시스템은 디지털 입력 장치에 의해 생성된 2진 데이터 메시지를 압축한다. 압축 프로세스는 중복의 정보를 소거하는 것에 기초를 두고 있다. 데이터 압축 장치는 중앙처리산 장치가 디스에이블 될 시에 수행된 머천다이징트랜잭션(merchandising transaction)의 결과로서 단말기에 의해 생성된 제1 데이터를 메시지부를 저장하는 수단, 각각의 데이터 메시지의 모든 중복 데이터 문자를 소거하는 카운터 수단, 각각 연속되는 데이터 메시지의 사전 선택된 데이터 문자를 단말기 내에 저장된 제1 데이터 메시지의 대응하는 데이터 문자와 비교하여, 비교될 시에 상기 데이터 문자를 소거하는 수단과, 처리되는 데이터 트랜잭션 형태를 나타내는 데이터 문자에 따라 레토드 문자의 개시를 선택하는 테이블 조사 수단을 포함하는데, 상기 레코드 문자의 개시는 압축된 데이터 레코드의 다른 부분 내에 데이터가 없는 트랜잭션 형태에 더하여 압축된 데이터 레코드의 개시를 나타낸다. 제1 레퍼런스는 데이터베이스 내의 데이터의 검색 및 색인을 위한 시스템 및 방법에 지향된 레퍼런스 그룹을 나타낸다. 제2 레퍼런스는 데이터베이스와 데이터베이스 관리 시스템의 작성에 지향된 레퍼런스 그룹을 나타낸다. 제3 레퍼런스는 메모리를 낭비(waste)하지 않고 데이터를 압축하는 방법 및 시스템에 지행된 레퍼런스 그룹을 나타낸다. 그러나, 데이터의 분배가 특정 데이터베이스 내에 포함된 데이터로부터 구축되어, 분배에 대한 데이터를 선택적으로 추가하거나 소거하는 능력과, 특정 데이터베이스 내에 포함된 데이터로부터 구축된 배부 내에서 남아있는 데이터필드상의 데이터의 추가 또는 소거의 효과를 결정하는 능력에 의해 도형으로 디스플레이되는 프로세서를 활용하는 시스템을 기재한 인용 특허는 없다.
본 발명은 선택된 데이터베이스 내의 모든 데이터 필드의 분배를 디스플레이하고 선택하는 방법에 직접 관련되어 있다. 본 발명의 디스플레이 및 선택 방법은 선택된 데이터베이스를 분석하여, 데이터 구조 및 내용을 도형 시각화하는 소정의 레코드내의 각 필드에 대한 분배 매트릭스를 구성한다. 본배의 기본적인 기능은 사용자가 데이터를 도형 포맷으로 뷰하게 할 수 있지만, 그 방법 역시 사용자에게 디스플레이되는 데이터의 특정 세트를 선택할 수 있는 능력과, 선택된 데이터베이스를 포함하는 남아있는 모든 데이터 필드에서의 선택의 효과를 결정할 수 있는 능력을 제공한다. 이런 프로세스의 제1 단계는 최소한 하나의 상주 데이터베이스를 갖는 호스트 시스템으로부터 특정 데이터베이스를 액세스하는 단계를 포함한다. 액세스될수 있는 데이터베이스는 벤더 포맷의 원시 데이터베이스이다. 데이터베이스는 데이터베이스 내의 데이터로부터 분배를 구축하기 위하여 액세스된다. 이러한 프로세스에서의 다음 단계는 데이터베이스 내에 포함된 데이터로부터 분배를 구성하는 것이다. 본배 또는 분배 매트릭스의 구성은 디스플레이와 선택을 위한 데이터베이스 내에 포함된 데이터를 나타낼 준비를 하는 여러 단계의 프로세스이다. 본배의 구성이 완성되면, 선택된 데이터베이스 내의 선택된 데이터 필드에 대한 분배의 디스플레이가 수행된다. 이때, 사용자는 "Waht if" 선택을 하여, 선택된 데이터베이스를 포함하고, 모든 데이터 필드상의 선택의 효과를 결정하는 데이터의 특정 세트를 선택하여, 특정 데이터를 선택하는 단계에 기초하여 데이터의 상세한 분배를 디스플레이한다.
본 발명의 방법은 이질성 데이터베이스 정보에 대한 분석과 액세스를 위한 도구(tool)를 제공한다. 이는 비싸고 비효율적인 데이터베이스 관리 시스템을 향상시키고, 데이터를 보다 시각적으로 나타낼 수 있는 강력한 도형 사용자 인터페이스를 제공하기 위한 것이다. 본 발명의 방법은 수많은 데이터베이스 내에 포함된 정보로 신속히 액세스하게 하고, 대형 컴퓨터용 아이디엠에스(IDMS) 또는 에스큐엘/디에스 (SQL/DS), 중간 컴퓨터용 오라클 (Oracle) 또는 시베이스 (Sybase)와, 마이크로 컴퓨터용 파라독스 (Paradox) 또는 디베이스 (Dbase)와 같은 주 데이터베이스 관리 시스템을 인터페이스하는 매우 효율적인 매트릭스 색인 기술을 포함한다. 분배 구성 스포세스는 범용성을 가진 본 발명을 제공하는 여러 데이터베이스 내에서 허용된 각 데이터형에 대해 변화하는 프로세스를 활용한다.
본 발명은 사용자에게 친숙하고 완전한 도형 및 메뉴(menu) 방식 소프트웨어 패키지를 제공하는데, 이런 패키지는 선택된 데이터베이스 내의 모든 데이터 필드의 분배를 디스플레이하고 선택하는 방법을 제공한다. 소프트웨어 패키지의 사용자는 데이터베이스 내용을 도형 포맷으로 뷰(view)할 수 있으며, 디스플레이된 데이터의 특정 세트를 선택하여, 상세한 선택과, 1차 선택과 관련된 잔여 데이터상의 효과를 뷰한다. 소프트웨어 패키지는 설치하기 간단하고, 약 250K의 메모리만이 필요하다. 소프트웨어 패키지는 현재 사용되는 질의 시스템보다 훨씬 빠른 차원의 것이며, 가장 많이 사용되는 표준 데이터베이스와 호환이 가능하다. 소프트웨어 패키지는 비표준 데이터베이스로 활용될 수도 있다. 비표준 데이터베이스의 경우, 엔트리 스크린은 응용 생성 레코드 구조를 정의하는데 사용된다. 에트리 스크린은 시스템 사용자가 응용을 정의할 수 있는 일련의 질문을 제공한다.
본 발명은 선택된 데이터베이스 내의 모든 데이터 필드의 분배를 선택하고 디스플레이하는 방법에 관련되어 있다. 데이터베이스는 데이터 파일이 완전히 통합되고, 이러한 파일들로부터 데이터의 온라인 액세스가 가능한 파일의 유기적인 배열이다. 주어진 데이터베이스 파일은 정보의 기록을 형성하도록 함께 그룹을 형성하는 수많은 필드를 포함한다. 각각의 레코드는 데이터베이스의 내용을 분석하는데 사용될 수 있는 완전한 정보 세트이다. 본 발명은 데이터베이스를 분석하여 데이터 구조와 그 내용을 도형으로 시각화할 수 있도록 선택된 데이터베이스 내에서 각 필드에 대한 분배 매트릭스를 생성시키는 데에 있다. 이런 필드를 처리하여, 필드 정보의 완전한 매트릭스 배열을 구축시킨다. 매트릭스 배열의 구조는 필드의 데이터 내용을 디스플레이하는 프로세스를 지원하여야 한다. 이러한 분배의 기본 기능은 사용자가 도형 포맷 내의 파일의 데이터 내용을 뷰 수 있도록 하는 것이다. 그러나, 본 발명은 사용자에게 도형으로 디스플레이되는 데이터의 특정 세트를 선택하고, 바람직하다면 특정 데이터베이스를 포함하는 남아 있는 모든 데이터 필드상에서 선택 효과를 결정할 수 있는 능력을 제공한다.
제1도를 참조하면, 선택된 데이터베이스 내의 모든 데이터 필드의 분배를 선택하고 디스플레이하는 방법을 구현하는데 필요한 소프트웨어를 나타내는 고수준의 흐름도가 도시되어 있다. 제1도의 흐름도는 데어터 필드의 분배를 선택하고 디스플레이하는 전체 프로세스를 설명하는 것으로, 흐름도 내의 각각의 효소 및 블록이 기술됨에 따라, 전체 프로세스에서 각 단계에 대한 상세 정보를 제공하고, 프로세 그 자체를 설명하도록 상세 흐름도 및 도형 도면에 대한 참조가 행해진다.
전체 소프트웨어 패키지는 dbEXPRESSTM으로 알려져 있다.
소프트웨어 루틴 내로의 엔트리 포인트는 흐름도에서 요소(10)으로 나타내었고, 이는 단순히 프로그램의 시작 또는 초기화 포인트이다. 요소(100)는 요소(10)바로 다음에 오는 요소로서, 특정 데이터베이스가 시스템에 저장되는 곳에서 특정 데이터베이스를 액세스하는 프로세스를 구현하는 소프트웨어를 나타낸다. 데이터베이스는 근거리 통신망 (Local Area Network : LAN)통신 포트 및 다른 다양한 영역으로부터 임포드(import)될 수 있다. 액세스될 수 있는 데이터베이스는 특정 시스템에 상주하는 벤더 포맷의 원시 데이터베이스 파일이다. 본 발명, 즉 dbEXPRESSTM은 마이크로 컴퓨터용 파라독스(Paradox) 및 오라클(Oracle)과, 중간 컴퓨터용 인그레스(ingres) 및 시베이스(Sybase)와, 대형 컴퓨터용 디비투(DB2) 및 아엠에스(IMS)와 같은 이질성 데이터베이스의 정보를 분석하고 액세스하는 소프트웨어 도구이지만 이에 제한되지 않는다. 요소(100)는 특정 데이터베이스 파일을 분배가 구성되는 dbEXPRESSTM운영, 스키마 및 데이터 파일도 변환시키는데 필요한 소프트웨어를 나타낸다.
제2도는 제1도에서 요소(100)로 설명된 데이터베이스 액세스 루틴의 상세한 흐름도이다. 요소(102)는 데이터베이스 액세스 루틴의 엔트리 포인트이다. 요소(104)는 요소(102)의 바로 뒤를 잇는 것으로, 특정 데이터베이스내의 특정 데이터 테이블과 특정 데이터베이스의 이름을 검색하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이름은 포함된 데이터를 액세스하도록 검색된다. 검색 프로세스는 DOS 내에서 활용될 시에 경로 이름이 특정 파일을 액세스시키는 방식을 제공한다는 점에서 경로 지시 프로세스와 유사하다. 요소(106)는 요소(104)의 바로 다음에 오는 것으로, 데이터 특정 데이터베이스로부터 dbEXPRESSTM으로 판독될 수 있도록 특정 데이터베이스를 개방하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 더욱이, 요소(106)는 데이터베이스로 부터의 데이터가 정확하고 효율적으로 dbEXPRESSTM으로 전송될 수 있도록 dbEXPRESSTM의 내부 셋업 또는 스키마를 개방하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(108)는 요소(106)의 바로 뒤에 오는 것으로서, 미가공(raw) 데이터만이 남도록 데이터베이스 스키마를 제거하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 소프트웨어는 데이터베이스 내의 특정 표 안에 있는 모든 파일에 대한 스키마 레코드를 소거하고, 데이터를 나타냄으로서, dbEXPRESSTM으로 판독될 수 있다. 요소(110)는 요소(108)의 바로 뒤에 오는 것으로서, 데이터베이스를 구성하는 표에 포함된 정보나 파라미터를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 정보는 데이터베이스의 파일 헤더 내에 포함되어 있으며, 프로세스를 따라 더 활용된다. 요소(112)는 요소(110)의 바로 뒤에 오는 것으로서, 데이터베이스의 파일 헤더 내에 지정한 각 필드에 대한 dbEXPRESSTM스키마 레코드를 작성하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 소프트웨어 루틴은 데이터베이스의 선택된 표 내에 포함된 특정 데이터로 행해지는 레이아웃(layout)을 작성한다. 레이아웃은 변환된 원시 데이터베이스 내에 저장된 데이터의 포맷 사이에 레퍼런스를 유지하는 방법을 제공한다. 레이아웃은 시스템 사용자가 dbEXPRESSTM포맷을 유지할 동안 dbEXPRESSTM파일을 데이터베이스내의 외부 파일로 익스포트(export)시키기를 원하기 때문에 유지된다. 데이터베이스 액세스 프로세스에서, 특정 데이터베이스내에 포함된 데이터가 개방됨으로써 dbEXPRESSTM메모리내로 판독될 수 있고, dbEXPRESSTM스키마는 파일 헤더 내에 포함된 정보에 기초하여 작성된다. 요소(114)는 요소(112) 바로 다음에 오는 것으로서, 익스포즈된(exposed) 또는 미가공 데이터로부터 dbEXPRESSTM의 할당된 메모리 영역으로 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(114)바로 다음에 오는 요소(116)는 데이터를 데이터베이스로부터 수신지 dbEXPRESSTM필드 레코드형으로 변환하는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 수집된 데이터의 형태가 부동 소수점 또는 영숫자이거나에 관계없이, 진수(眞數)데이터로 변환된다. 예를 들면, 데이터베이스 내의 데이터가 ASCII로 나타내는 날짜라면, 요소(116)에 의해 구현되는 프로세스는 날짜의 ASCII 표현을 날짜의 dbEXPRESSTM표현으로 변환한다. 이런 데이터가 프로그램 메모리 스페이스 내에 저장되거나, 데이터가 2진 데이터로 저장되는 컴퓨터 시스템 메모리에 저장되거나 위치되지 않는다는 것에 주목하는 것이 중요하다. 데이터는 진수 데이터로 변환되는데, 그 이유는 진수 데이터가 데이터의 다른 어떤 형태보다 빠른 속도로 조작될 수 있기 때문이다. 요소(118)는 요소(116)의 바로 뒤에 오는 것으로서, dbEXPRESSTM레코드를 dbEXPRESSTM데이터 파일에 기록하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 단계는 데이터를 편리하게 저장하는 단순한 재구성 및 압축 절차(procedure)이다. 요소(120)는 요소(118)의 바로 뒤에 오는 것으로서, 보다 많은 레코드 결정 루프를 구현하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 처리할 보다 많은 레코드가 있다면, 이 소프트웨어는 프로세싱을 요소(116)로 다시 전송하여, 데이터의 다음 세트가 수신지 dbEXPRESSTM필드 레코드 형태로 변환될 수 있다. 처리할 더 이상의 레코드가 없다면, 이 소프트웨어 루틴은 빠져 나가고, 요소(122)로 표시된 소프트웨어가 처리된다. 요소(122)는 액세스 데이터베이스 소프트웨어의 프로세싱을 종결하고 제1도에서 설명된 주 소프트웨어 루틴으로 제어 기능을 복귀시키기는 데에 필요한 소프트웨어를 나타낸다.
제1도에 도시된 전체 프로세서에서의 소프트웨어의 다음 블록은 특정 데이터베이스 내에서 선택한 각 표에 대한 분배 파일 또는 매트릭스를 구축하는 프로세스를 구현하는 소프트웨어를 나타내는 요소(200)이다. 요소(200)는 선택된 특정 데이터베이스에서 사용하는 각 데이터 형태에 대하여 변하는 다수의 분배 알고리즘으로 구성되는 소프트웨어의 블록을 나타낸다. 예를 들면, 두 개의 서로 다른 분배 절차는 정수 및 부동 소수점 데이터 형태에 대하여 사용될 수 있다. 그런, 전체 분배 구축 프로세스는 8개의 필수 단계로 이루어져 있으며 요약하면 다음과 같다.
(1) 특정 데이터베이스에 대하여 사용하는 빈(bin)의 수를 결정한다.
(2) 각 필드에 대한 최소값과 최대값을 발견한다.
(3) 델타빈값을 결정한다.
(4) 필드 헤더 값을 채운다.
(5) 매트릭스 작업 영역을 지정한다.
(6) 레코드를 처리하여 분배 매트릭스를 구축한다.
(7) 이 필드에 대한 매트릭스 압축한다.
(8) 현행 및 관련 데이터베이스 내에 포함된 레코드 내의 모든 필드를 처리한다. 앞에서 설명하였듯이, 이러한 분재의 기본 기능은 사용자가 파일의 데이터 내용을 도형 포맷으로 뷰할 수 있게 하는 것이다. 주어진 빈내의 레코드의 수를 액세스하고 디스플레이하며, 데이터베이스 레코드가 빈값과 관련되는 것을 발견하는 방법을 제공한다. 빈은 단순히 메모리의 할당 영역이다.
제3도는 요소(200)로서 제1도에서 설명된 분배 구성 루틴의 상세한 흐름도이다. 요소(202)는 분배 구성 루틴내로의 엔트리 포인트이다. 요소(204)는 요소(202) 바로 뒤에 오는 요소로서, 특정 데이터베이스의 이름과 특정 데이터베이스 내의 특정 데이터 표를 검색하는 프로세스를 구현하는 소프트웨어를 나타낸다. 앞에서 지적하였듯이, 특정 데이터베이스의 이름과 그 안에 포함된 표는 이러한 파일내에 포함된 데이터를 액세스하기 위하여 검색된다. 그러나, 단순히 이름을 검색하는 것으로서 이러한 프로세스를 설명하는 것은 다소 문제가 있다. 요소(204)로 표시된 소프트웨어는 단순히 이름만을 검색하기 보다는 오히려 특정 데이터베이스에 링크를 설정하는 데에 이용된다. 용소(206)는 요소(204)의 바로 뒤에 오는 요소로서, 데이터가 특정 데이터베이스로부터 dbEXPRESSTM으로 판독될 수 있도록 특정 데이터베이스를 개방하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 더욱이, 요소(206)는 데어타가 데이터베이스로부터 dbEXPRESSTM으로 정확히 전송될 수 있도록 dbEXPRESSTM의 내부 셋업 또는 스키마를 개방하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(208)는 요소(206) 바로 뒤에 요소이며, 데이터베이스의 파일 헤더 내에 지정된 각각의 필드에 대하여 작성된 dbEXPRESSTM스키마 레코드를 검색하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 스키마 레코드는 제2도의 흐름도에서 요소(112)로 표시된 소프트웨어에 의해 작성된다. 요소(210)는 요소(208) 바로 다음에 오는 요소로서, dbEXPRESSTM스키마 레코드 내에 포함된 어떤 정보를 구성하에 분배 매트릭스 대한 필드 헤더로 바로 복사하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 복사된 정보는 필드 이름과, 부동 소수점이나 영숫자와 같은 분배 형태를 포함한다. 전체 필드 헤더 구조는 헤더의 실제 레이아웃을 설명하는 도면을 참조하여 다음의 문단에서 설명된다. 요소(212)는 요소(210) 바로 뒤에 오는 요소로서, 이러한 표에 대한 많은 스키마 레코드가 있는가를 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 특정 표에 대하여 많은 스키마 레코드가 있다면, 이런 소프트웨어는 특정 표에 대한 다음 스키마 레코드가 검색될 수 있도록 프로세싱을 요소(208)로 다시 전송시킨다. 특정 표에 대한 더 이상 스키마 레코드가 없다면, 이 소프트웨어는 요소(214)로 표시한 소프트웨어를 프로세싱을 전송시킨다.
프로세싱에서의 이러한 점에서, 레코드 내에 포함된 데이터는 추가적인 프로세싱을 위해 준비된다. 데이터를 이용하는 여러 계산으로부터 얻은 정보와 데이터는 이제 주어진 표에 대한 분배표를 구성하는데 이용된다. 요소(214)는 요소(212)의 바로 뒤에 오는 요소로서, dbEXPRESSTM데이터 파일로부터 레코드 내에서 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. dbEXPRESSTM데이터 파일은 제2도에 도시한 요소(118)로 표시한 소프트웨어에 의해 dbEXPRESSTM레코드를 dbEXPRESSTM데이터 파일에 기록함으로써 생성된다. dbEXPRESSTM레코드의 판독은 결정 루프의 부분으로 특정 필드 내의 모든 레코드에 대하여 반복된다. 각 레코드가 판독됨에 따라, 특정 레코드로 구성되는 필드의 값은 최대 필드 값과 최소 필드 값을 결정하기 위하여 계산되는데, 레코드는 제각기 최소 및 최대 필드 값에 대응한다. 분배 구성 프로세스의 이러한 부분은 요소(216,218,220)에 의해 달성된다. 요소(216)는 요소(214) 바로 다음에 오는 요소로서, 각각의 레코드가 dbEXPRESSTM데이터 파일로부터 판독될 시에 최소 필드 값을 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어 프로세스는 필드 값이 이전의 필드 값보다 작을 경우 최소 필드 값으로서 필드 값을 저장하는 단순한 절차이다. 요소(218)는 요소(216) 바로 다음에 오는 요소로서, 각각의 레코드가 dbEXPRESSTM데이터 파일로부터 판독될 시에 최대 필드 값을 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어 프로세스는 필드 값이 이전 필드 값보다 클 경우 최대 필드 값으로서 필드 값을 저장하는 단순한 절차이다. 요소(220)는 요소(218) 바로 뒤에 오는 요소로서, 처리할 레코드가 많이 있는가를 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. dbEXPRESSTM데이터 파일 내에 보다 많은 레코드가 있다면, 이 소프트웨어는 프로세싱을 요소(214)로 재 전송하여, 다음 레코드를 검색할 수 있도록 한다. 더 이상의 레코드가 없다면, 이 소프트웨어는 요소(222)로 나타낸 소프트웨어로 프로세싱을 전송한다.
제4도는 11개의 레코드를 사용하는 일례의 표 또는 샘플을 설명하는 도면이다. 11개의 레코드에 대응하는 필드 값은 도면에 도시된 순서로 dbEXPRESSTM데이터 파일로부터 판독된다. 이러한 숫자는 어떻게 분배표가 구성되는가를 설명하는데 이용된다. 도면을 보면 쉽게 알 수 있듯이, 최소 필드 값 (MINV)은 7.9이고, 최대 필드 값(MAXV)은 23.2이다. 실제 최대 필드 값과 최소 필드 값은 앞에서 설명한 단순한 프로세스에 의해 결정되는 것이지 검사에 의해 결정되는 것은 아니다. 실제 데이터의 물리적인 레이아웃은 제4도에 도시한 바와 같지 않으나, 제4도는 분배 lrn성 프로세스를 설명하기 위한 편리한 포맷을 제공한다.
제3도를 다시 참조하면, 요소(222)는 요소(220) 바로 뒤에 오는 요소로서, 데이터베이스에서 사용되는 빈의수를 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어는 빈의수를 64, 128, 256, 512 또는 제공된 레코드의 수와 같은 수로 세트한다. 숫자(512)는 상한값으로 사용되지 않으며, 예를 들어, 증가된 디스플레이 해상도가 바람직하다면, 빈의수는 사용자의 요구에 따라 증가될 수 있다. 이러한 예에서, 빈의수는 11로 세트되는데, 이는 11개의 레코드가 있기 때문이다. 이 예는 dbEXPRESSTM의 가장 간단한 구현을 나타낸다. 그러나, 실제로는 빈의수가 앞에서 설명한 해상도의 바람직한 레벨에 따라 변할 수 있다. 요소(224)는 요소(222) 바로 뒤에 오는 요소로서, 빈의 지정되고, 빈의 범위를 지정하는 값인 DELTABIN 값을 계산하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 최소 데이터 값과 최대 데이터 값 및 DELTABIN 값은 필드 헤더 구조 내에 저장되는데, 이는 계속해서 설명된다. DELTABIN 값은 다음의 주어진 식을 이용하는 소프트웨어에 의해 계산된다.
소프트웨어는 빈의 수를 세트함은 물론이고 최소 값과 최대 값을 이미 결정하여, MAXV와 MINVDP 대한 값 및 빈의 #을 대입하면 DELTABIN은 다음과 같다.
DELTABIN 값이 (1)식을 이용하는 소프트웨어의 블록에 의해 계산되면, 빈의 범위는 DELTABIN 값을 증가 내의 값의 증가시 값 7.9 내지 23.2의 범위를 브레이크 업(break up)하여, 이를 순서대로 오름차순으로 빈에 저장함으로써 소프트웨어에 의해 결정되거나 지정된다. 빈의 수와 그 각각의 범위는 제5도에 도시하였다. 빈의 값의 범위 지정은 계산된 값이며 배열 요소로서 저장되지 않는다. 제5도는 단지 참고용이다. 이러한 빈의 범위를 사용하면 아주 단축될 것이다.
분배 구성 프로세스에서의 다음의 단계는 필드 헤더 값을 채우는 단계이다. 여러 가지 정보가 제3도에 도시된 프로세스 단계에 의해 결정되거나 계산될 시에, 이는 필드 헤더 데이터 구조 내에 궁극적으로 저장된다. 제6도는 기본적인 필드 헤더 구조를 설명하는 도면이다. 영역(201)은 필드의 이름으로서, 제3도의 요소(210)으로 나타낸 소프트웨어 프로세스 단계에 의해 채워진다. 이러한 특정한 예를 제시하기 위하여, 필드의 이름 SAMPLE01이 되도록 선택하였다. 영역(203)은 분배 형태 필드이며, 데이터 파일에 포함된 특정 형태의 데이터, 즉 부동 소수점 형태의 데이터를 나타내는 2개의 디지트 코드를 포함한다. 이런 예에서, 5의 분배 형태가 사용되었고, 필드 데이터가 부동 소수점 값이 되도록 표시하여야 한다. 영역(203)은 영역(201)과 마찬가지로 요소(210)로 나타낸 소프트웨어 프로세스 단계에 의해 채워진다. 영역(205)은 빈 필드의 수이고, 주어진 필드에 대하여 사용되는 실제 빈의 수를 포함한다. 빈의 수는 16진수로 나타냈으며, 이 경우는 11개의 빈이 있으므로 16진수 B는 영역(205)안에 놓았다. 빈의 수는 제3도의 요소(222)로 나타낸 소프트웨어 프로세스 단계에 의해 세트된다. 따라서, 이는 바로 필드 헤더 내로 직접 복사된다. 영역(207)은 최소 값 필드이며, 영역(209)은 최대 값 필드이다. 이러한 2개의 필드는 각각 MINV와 MAXV를 포함하는데, 이는 각각 요소(216, 218)로 나타낸 소프트웨어 프로세스 단계에 의해 결정된다. 따라서, 영역(207)은 7.90을 포함하고, 영역(209)은 23.20의 값을 포함하는데, 그의 값 모두는 부동 소수점수로 나타낸다. 영역(211)은 델타 값 필드로서, 제3도의 요소(224)로 나타낸 소프트웨어 프로세스 단계에 의해 계산된 DELTABIN값을 포함한다. 따라서, 수 1.39는 그곳에 놓이게 되고, 부동 소수점수로 나타낸다. 영역(213)은 빈 맵 워드(word) 필드의 수이며, 사용된 빈 맵 워드의 수를 포함한다. 빈의 수가 이 예에서는 11로 세트되었으므로, 단지 하나의 빈 맵 워드만이 필요하다. 이러한 엔트리 값은 결국 1이다. 영역(215)는 빈 맵 영역이며, 특정 빈이 활성화되는 것을 보여주기 위해 사용된다. 단지 11의 빈만이 있으므로, 단 하나의 16비트 워드는 활동 빈을 나타내는 데에 요구된다. 이러한 영역은 분배 구성 프로세스가 지속되는 동안 채워진다.
분배 구성 처리 내의 이러한 점에서, 데이터베이스용으로 사용하는 빈의 수는 결정 되었고, 필드의 최소값 및 최대값이 결정되었으며, DELTABIN 값이 계산되었고, 헤더 값이 각각의 영역에 채워졌다. 프로그램은 이제 분배 매트릭스 구축을 위한 작업 영역을 지정할 것이다. 매트릭스가 구축됨에 따라, 작업 영역 세그먼트는 필요한 기초(basis)위에 확장될 것이다. 분배 구성 위상의 완성과 동시에, 매트릭스는 동작 위상에 대비하여 압축될 것이다.
제3도를 다시 참조하면, 프로세스의 음 단계는 매트릭스 작업 영역을 지정하는 것이다. 요소(226)는 요소(224)바로 뒤에 오는 요소로서, 각각 지정된 빈에 대한 작업 공간의 블록을 할당하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 제7도는 어떻게 메모리가 각 빈에 대하여 분할되는가를 도형으로 설명하는 도면이다. 각각 지정된 빈에 대하여, 프로그램은 작업 공간의 128 바이트 블록을 할당한다. 이러한 특정한 예에 대하여, 제7도는 11개의 빈의 각각에 대한 작업 공간의 128 바이트를 설명한다. 아래에 주어진 표 1은 이러한 매트릭스 작업 영역의 구조로 구성된 항목이나 워드의 리스트를 포함한다. 표 1에 리스트된, 워드의 의미는 분배 구성 프로세스의 다음 단계가 설명될 시에 설명될 것이다.
분배 구성 프로세스의 다음 단계는 실제로 분배 매트릭스를 구축하는 수집된 레코드를 처리하는 것이다. 제3도의 요소(228)는 이러한 프로세스의 위상 내에서의 제1블록을 나타낸다. 요소(228)는 요소(226)의 바로 뒤에 오는 요소로서, dbEXPRESS 데이터 파일로부터 레코드를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 따라서, 소프트웨어는 제5도에서 표시된 바와 같이 각각의 빈에 대한 범위에 기초하여 갱신할 빈의 수를 결정한다. 요소(230)는 요소(228)의 바로 뒤에 오는 요소로서, 정확한 빈의 수를 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 블록으로 나타낸 소프트웨어는 다음의 준식을 이용한다.
여기서, 필드 값과 BIN MIN은 그 순간에 판독되는 특정 레코드에 대한 것이다. 더욱이, 식 (3)에 의한 결과치는 최대 정수로 반올림된다. 빈수에 대한 계산은 식에서 나타낸 바와 같이 절대값으로 세트되는 BIN 값으로 결정한다. 이는 음의 값이 발생하는 것으로 생각될 것이다. 요소(232)는 요소(230)의 바로 뒤에 오는 요소로서, 특정한 빈이 활동적임을 나타내도록 필드 헤더내의 빈 맵 영역, 즉 제6도의 영역(215)을 갱신하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(234)는 요소(232) 바로 뒤에 오는 요소로서, 특정 빈 작업 영역 내의 정보를 갱신하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 소프트웨어는 표 1에 나열한 워드의 값을 계산한다. 요소(236)는 요소(234) 바로 뒤에 오는 요소로서, 현행 빈 작업 영역이 128 바이트보다 클 경우 확장된 작업 영역을 할당하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(238)는 요소(236)의 바로 뒤에 오는 요소로서, 처리할 레코드가 많이 있는가를 결정하는 프로세스를 구현하는 소프트웨어를 나타낸다. 처리할 레코드가 많이 있다면, 소프트웨어는 프로세싱을 요소(228)로 다시 전송하여 다음의 레코드는 dbEXPRESSTM데이터 파일로부터 판독될 수 있게 된다. 더 이상의 레코드가 없다면, 소프트웨어는 프로세싱을 요소(240)로 나타낸 소프트웨어로 전송한다.
앞의 프로세스를 명확하게 하기 위하여, 절차는 사전에 주어진 예의 값을 사용하는 일련의 도면을 참조하여 설명된다. 제8도는 레코드의 수 1에 대한 프로세싱 절차를 도시한 것이다. 레코드는 제3도의 요소(228)로 표시된 소프트웨어에 의해 dbEXPRESSTM데이터 파일로부터 판독된다. 이러한 특정 레코드에 대하여, 요소(230)로 나타낸 소프트웨어 프로세스 단계는 식(3)을 사용하여 빈수를 결정한다.
식(3)에 적절한 값을 대입하면 다음 식에 의해 BIN 값이 결과로 나온다.
숫자가 최대 정수로 반올림되기 때문이다. 따라서, 빈 4에 대응하는 비트는 헤더내의 빈맵 워드 내에서 세트된다. 매트릭스 작업 영역 내의 워드(0)는 이전 매트리스 빈(RECBINFR)의 어드레스이며, 128 바이트 이상의 메모리 주어진 빈 대하여 요구될 경우에 사용된다. 이 예에서, 128 바이트는 충분하다. 매트릭스 작업 영역내의 워드(1)는 확장된 매트릭스 구축 영역(RECBINTO)의 어드레스이며, 추가적인 메모리가 필요할 때에만 사용된다. 따라서, 워드(0)와 워드(1)는 0의 초기값으로 남게 된다. 워드(2)는 이러한 빈(RECBINNO)에 포함된 레코드의 수이다. 이 예에서, 그리고 프로세싱하는 동안의 이점에서, 빈(4)은 12.7의 값을 갖는 하나의 레코드, 즉 레코드(1)를 포함한다. 워드(3)는 레코드 비트맵 워드 수(RECMAPNO)이다. 이 값은 5로서 초기화되고, 많은 워드가 사용될 시에 갱신된다. 워드(4)는 개시 레코드 수(RECSTRNO)이다. 이 워드는 현재 프로세스되고 있는 특정 레코드수를 지시하고 음의 수로 표시된다. 이 경우, 프로세스가 레코드(1)에 있으므로, RECSTRNO는 1로 세트된다. 워드(5)는 비트맵 워드(RECMAPWD)이다. 이 워드는 RECSTRNO 이후 다음의 15개의 레코드의 비트 맵핑을 허용한다. 이것의 사용에 대하여는 다음의 10개의 레코드를 설명할 때 설명하기로 한다.
제9도는 기록 수(2)에 대한 프로세싱 절차를 도시한 것이다. 제3도의 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 레코드가 다시 한번 판독된다. 요소(230)로 표시한 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 빈 5이다. 따라서, 빈(5)에 대응하는 비트는 헤더 내의 빈 맵 워드로 세트된다. 워드(0)과 워드(1)는 많은 메모리 공간을 필요로 하지 않으므로 이 곳에서의 0의 초기 값으로 남아있는다. 워드(2)는 이러한 빈에 포함된 레코드의 수이고, 빈(5)이 14.8의 값을 갖는 하나의 레코드, 즉 레코드 2를 포함하므로 워드(2)는 1의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수이며, 5의 초기 값으로 남는다. 워드(4)는 개시 레코드 수이고, 이 경우 프로세스가 레코드(2)에서 현재 작업되고 있으므로 RECSTRNO는 -2로 세트된다. 워드(5)는 프로세싱하는 동안의 이 지점에서 사용되지 않는다. 제10도는 제코드 수(3)에 대한 프로세싱 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시한 소프트웨어 프로세스 단계는 식(3)을 사용하여 정확한 빈 수를 결정하는 데, 이 경우에는 빈 8이다. 따라서, 빈 8에 대응하는 비트는 헤더 내의 빈 맵 워드로 세트된다. 워드(0)와 워드(1)는 0의 초기 값으로 남게 되는데, 더 이상의 메모리 공간이 필요하지 않기 때문이다. 워드(2)는 이러한 빈에 포함된 레코드의 수이며, 빈 8이 17.9의 값을 갖는 하나의 레코드, 레코드 3를 포함하므로 워드(2)는 1의 값으로 세트된다. 워드(3)는 기록 비트 맵 워드의 수로서 5의 초기 값으로 남이 있는다. 워드(4)는 개시 레코드 수로서, 이 경우 프로세스가 레코드(3)에 대하여 현재 작업중이므로 RECSTRNO는 -3으로 세트된다. 워드(5)는 프로세싱 중의 이 지점에서 사용되지 않는다.
제11도는 기록 수(4)에 대한 프로세싱 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 나타낸 소프트웨어 프로세스 단계는 식(3)을 사용하여 정확한 빈 수를 결정하는데, 이 경우에는 빈 11이다. 따라서, 빈 11에 대응하는 비트는 헤더 내에서 빈 맵 워드로 세트된다. 워드(0)와 워드(1)는 0의 초기값으로 남게 되는데, 이는 더 이상의 메모리 공간이 필요하지 않기 때문이다. 단어(2)는 이러한 빈의 포함된 레코드의 수이며, 빈 11이 22.4의 값을 갖는 하나의 레코드, 즉 레코드 4를 포함하므로 워드(2)는 1의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 5의 초기값으로 남는다. 워드(4)는 개시 레코드 수이며, 이 경우 프로세스가 레코드(4)에서 현재 작업중이므로, RECSTRNO는 -4로 세트된다. 워드(5)는 프로세싱 중에 이 지점에서 사용되지 않는다.
제12도는 레코드 수(5)에 대한 프로세싱 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한번 레코드가 판독된다. 요소(230)로 표시한 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 11이 된다. 빈 11에 대응하는 비트가 헤더 내의 빈맵 워드에서 이미 세트되었으므로, 다시 세트할 필요는 없다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요없으므로 0의 초기값으로 남는다. 워드(2)는 이러한 빈에 포함된 레코드 수인데, 이는 내의 22.4의 값을 갖는 빈 11의 제2 레코드, 즉 레코드 5 이므로, 워드(2)는 2의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 워드(5)가 이제 사용되고 있기 때문에 6의 값으로 세트된다. 워드(4)는 이러한 특정 빈에 대한 개시 레코드 수로서, 빈 11의 제1 레코드가 여전히 레코드(4)이므로 레코드(4)를 처리할 시와 동일하게 남는다. 워드(5)는 0001의 값으로 세트된다. 앞에서 설명하였듯이, 이러한 수는 RECSTRNO 이후의 다음의 15개의 레코드의 비트 맵핑을 허용한다. 따라서, 0001의 값은 0001이 RECSTRNO의 값으로 지시된 레코드(4) 이후의 제1 위치에 있기 때문에 레코드(5)를 지시하는데 사용된다. 워드 (0 내지 5)에 대한 앞의 값은 도면에 도시하였다. 그러나 더 이상의 레코드가 없을 경우에는 제2 열만이 저장된다.
제13도는 레코드 수(6)에 대한 프로세스 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 4가 된다. 빈 4에 대응하는 비트는 이미 헤더 내의 빈맵 워드에서 세트되었으므로 다시 이를 세트할 필요는 없다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수인데, 이는 12.7의 값을 갖는 빈 4의 제2 레코드, 즉, 레코드 6이므로, 워드(2)는 2의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 워드(5)가 이제 사용되기 때문에 6의 값으로 세트된다. 워드(4)는 이러한 특정 빈에 대한 개시 레코드 수로서, 빈 4 내의 제1 레코드가 여전히 레코드(1)이기 때문에 레코드(1)을 처리할 시에 동일하게 남는다. 워드(5)는 0010의 값으로 세트된다. 0010의 값은 RECSTRNO의 값으로 지시된 레코드(1) 이후의 제5 위치에 있으므로 레코드(6)를 지시하는 데에 사용된다. 다시 한 번, 워드 (0 내지 5)에 대한 이전의 값은 도면에 도시되었다. 그러나 더 이상의 레코드가 없다면 제2 열만이 저장된다.
제14도는 레코드 수(7)에 대한 프로세싱 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 4가 된다.
빈 4에 대응하는 비트는 이미 헤더 내의 빈맵 워드에서 세트되었으므로 다시 이를 세트할 필요는 없다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수인데, 이는 12.7의 값을 갖는 빈 4의 제3 레코드, 즉, 레코드 7 이므로 워드(2)는 3의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 워드(5)가 이제 사용되기 때문에 6의 값으로 세트된다. 워드 (4)는 이러한 특정 빈에 대한 개시 기록 수로서, 빈 4내의 제1 레코드가 여전히 레코드(1)이기 때문에 레코드(1)을 처리할 시와 동일하게 남는다. 워드(5)는 0030의 값으로 세트된다. 0030의 값은 RECSTRNO의 값으로 지시된 레코드(7) 이후의 제6 위치에 있으므로 레코드(7)을 지시하는 데에 사용된다. 다시 한 번, 워드 (0 내지 5)에 대한 이전의 값은 도면에 도시되었다. 그러나 더 이상의 레코드가 없다면 제 3열만이 저장된다.
제15도는 레코드 수(8)에 대한 처리 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 5가 된다. 빈 5에 대응하는 비트는 이미 헤더 내의 빈맵 워드에 세트되었으므로 다시 이를 세트할 필요는 없다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수인데, 이는 14.8의 값을 갖는 빈 5의 제조 2 레코드, 즉 레코드(8)이므로 워드(2)는 2의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 워드(5)가 이제 사용되기 때문에 6의 값으로 세트된다. 워드(4)는 이러한 특정 빈에 대한 개시 레코드 수로서, 빈 5 내의 제1 레코드가 여전히 레코드(2)이기 때문에 레코드(2)를 처리할 시와 동일하게 남는다. 워드(5)는 0020의 값으로 세트된다. 0020의 값은 RECSTRNO의 값으로 지시된 레코드(2) 이후의 제 6 위치에 있으므로 레코드(8)을 지시하는 데에 사용된다. 다시 한 번, 워드 (0 내지 5)에 대한 이전의 값은 도면에 도시되었다. 그러나 더 이상의 레코드가 없다면 제 2 열만이 저장된다.
제16도는 레코드 수(9)에 대한 처리 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 9가 된다. 따라서, 빈 9에 대응하는 비트는 헤더 내의 빈 맵 워드에 세트된다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수이며, 빈 9가 레코드, 즉 레코드 9를 포함하므로, 워드(2)는 1의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 5의 초기 값으로 세트된다. 워드(4)는 이러한 개시 레코드 수인데 이런 경우에는 프로세스가 레코드(9)에서 현재 작업중이므로 RECSTRNO는 -9로 세트된다. 워드(5)는 프로세싱에 이러한 지점에서 사용되지 않는다.
제17도는 레코드 수(10)에 대한 처리 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 빈 1이 된다. 따라서, 빈 1에 대응하는 비트는 헤더 내의 빈 맵 워드에 세트된다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수이며, 빈 1이 레코드, 즉 레코드 10를 포함하므로, 워드(2)는 1의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 5의 초기값으로 남는다. 워드(4)는 개시 레코드수이며, 이 경우, 프로세스가 레코드(10)에서 현재 작업중이므로, RECSTRNO는 -10으로 세트된다. 워드(5)는 프로세시에 이러한 지점에서 사용되지 않는다.
제18도는 레코드 수(11)에 대한 처리 절차를 도시한 것이다. 제3도에서 요소(228)로 표시한 소프트웨어 프로세스 단계에 의해 dbEXPRESSTM데이터 파일로부터 다시 한 번 레코드가 판독된다. 요소(230)로 표시된 소프트웨어 프로세스 단계는 식(3)을 이용하여 정확한 빈 수를 결정하는데, 이 경우에는 다시 빈 1이 된다. 빈 1에 대응하는 비트는 이미 헤더 내의 빈맵 워드 세트되었으므로 다시 이를 세트할 필요는 없다. 워드(0)와 워드(1)는 더 이상의 메모리 공간이 필요하지 않으므로 0의 초기 값으로 남게 된다. 워드(2)는 이러한 빈에 포함된 레코드의 수로서, 이는 8.6의 값을 갖는 빈 1의 제2 레코드, 즉 레코드(11)이므로 워드(2)는 2의 값으로 세트된다. 워드(3)는 레코드 비트맵 워드의 수로서, 워드(5)가 이제 사용되기 때문에 6의 값으로 세트된다. 워드(4)는 이러한 특정 빈에 대한 개시 레코드 수로서, 빈 1 내의 제1 레코드가 여전히 레코드(10)이기 때문에 레코드(10)를 처리할 시와 동일하게 남는다. 워드(5)는 0011의 값으로 세트된다. 0011의 값은 RECSTRNO의 값으로 지시된 레코드(10) 이후의 제1 위치에 있으므로 기록(11)을 지시하는 데에 사용된다. 다시 한 번, 워드 (0 내지 5)에 대한 이전의 값은 도면에 도시되었다. 그러나 더 이상의 레코드가 없다면 제 2 열만이 저장된다.
분배 구축 프로세서에서의 다음 단계는 필드 헤더 정보와 모든 필드에 대한 정보를 압축하는 것이다. 앞에서 설명하였듯이, 메모리의 원 할당은 128 바이트 블록에 있다. 이러한 단계의 목적은 분배 매트릭스로부터 사용하지 않는 공간을 제거하는 것이다. 제3도를 다시 참조하면, 요소(240)는 요소(238) 바로 뒤에 오는 요소로서, 데이터를 압축하는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 이런 소프트웨어는 기본적으로 사용하지 않는 메모리 공간을 바로 제거한다. 제19도는 제8도 내지 제18도에서 볼 수 있듯이, 마지막 값, 즉 값의 마지막 열에서 만들어진 빈 작업 영역의 마지막 데이터 내용을 나타낸다. 압축 프로세서는 빈 매트릭스내의 워드의 수인 RECMPNO를 조절함으로써 레코드 링크 워드 (RECBINFR, RECBINTO)를 제거한다. 그 다음, 이제 데이터는 제20도에 도시한 것처럼 메모리의 연속된 블록 안으로 압축된다. 요소(242)는 요소(240) 바로 뒤에 오는 요소로서, 제23도에서 막대 그래프로 설명된 것처럼 디스플레이를 위해 사용될 수 있는 분배 파일에 압축된 분배 레코드를 기록하는 프로세서 단계를 구현하는 소프트웨어를 나타낸 것으로서, 이는 이어지는 문단에서 설명될 것이다. 전체 디스플레이 절차는 뒤에서 설명된다. 요소(244)는 요소(242) 바로 뒤에 오는 요소로서, 매트릭스 분배를 구축하는데 이용된 메모리를 할당 해제한믄 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 분배 구축 프로세서의 최종 단계는 현재 관련된 데이터베이스에 포함된 레코드 내의 모든 필드를 처리하는 것이다. 이는 전체 프로세서가 모든 필드를 처리할 때까지 반복된다는 것을 의미한다. 요소(246)는 요소(244) 바로 뒤에 오는 요소로서, 분배 구축 프로세서를 종결하고, 프로세싱 제어를 제1도의 요소(300)를 복귀시키는 프로세서단계를 구현하는 소프트웨어를 나타낸다.
제1도에 도시한 전체적인 프로세서에서의 소프트웨어의 다음 블록은 분배 매트릭스가 구축된 선택된 필드를 도형으로 디스플레이하는 프로세서를 구현하는 소프트웨어를 나타내느 요소(300)이다. 이 소프트웨어는 선택된 필드에 대한 레코드를 기본적으로 디스플레이하기 위한 것이다. 도형 디스플레이는 막대 그래프와, 선도, 산포도(scatter reprsentations), 파이 차트 및 나이키스트 곡선을 포함하는 다양한 도형 디스플레이 포맷을 이용하여 달성된다. 소프트웨어은 기본적으로 2개의 단계를 포함한다. 프로세서의 제1 단계는 디스플레이를 위해 특정한 dbEXPRESSTM파일을 개방하는 것이며, 제1도에서 요소(302)로 표시되어 있다. 프로세서의 제2단계는 특정 dbEXPRESSTM데이터 파일 내에 포함된 압축 데이터를 확장하여 디스플레이될 수 있게 하는 것으로 제1도에서 요소(316)으로 표시되어 있다. 요소(302)로 표시된 소프트웨어 프로세서는 제21도에 도시된 흐름도를 참조하여 추가적으로 설명되며, 요소(316)로 표시된 소프트웨어 프로세서 제22도의 흐름도를 참조하여 설명된다. 더욱이, 기본적인 디스플레이의 형태를 설명하는 도면 역시 설명된다.
이제 제21도를 보면, dbEXPRESSTM파일 개방 소프트웨어를 구현하는 소프트웨어 프로세서를 나타내는 상세한 흐름도가 도시되어 있다. 요소(304)는 dbEXPRESSTM파일 개방 루틴으로의 엔트리 포인트이다. 요소(306)는 요소(304) 바로 뒤에 오는 요소로서, 특정 파일이 액세스될 수 있도록 지정된 분배 및 데이터 파일을 개방하는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 요소(308)는 요소(306) 바로 뒤에 오는 요소로서, 분배 파일 헤더 레코드 구조를 할당하는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어는 그 안에 포함된 데이터의 크기나 양이 알려져 있지 않기 때문에 디스플레이될 필요한 정보에 대한 메모리 블록을 간단히 예약(reserve)한다. 요소(310)는 요소(308) 바로 뒤에 오는 요소로서, 분배 파일 헤더 레코드에 저장된 정보를 판독하는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 파일 헤더가 필드 이름과 분배 형태 및 사용된 빈의 수와 같은 정보를 포함한다. 요소(312)는 요소(310)의 바로 뒤에 오는 요소로서, 분배 핸들(handle)를 복귀시키는 프로세서 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어는 포인터를 준비된 위치로 이동시킴으로써 다음의 디스플레이가 달성될 수 있다. 데이터 표 액세스에 대한 연결 분배 핸들 또는 포인터이다. 요소(314)는 요소(312)의 바로 뒤에 오는 요소로서, 개방 루틴 처리를 프로세서 단계를 구현하는 소프트웨어를 나타내며, 이는 프로세싱 제어부를 다시 제1도의 요소(300)로 표시한 디스플레이 소프트웨어로 통과시킨다.
이제 제22도를 보면, 압축된 데이터 소프트웨어의 확장을 구현하는 소프트웨어 프로세서를 나타내는 상세한 흐름도가 도시되어 있다. 요소(318)는 확장 소프트웨어로 내의 엔트리 포인트이다. 요소(320)는 요소(318) 바로 뒤에 오는 요소로서, 특정 또는 선택된 필드에 대한 압축된 분배 레코드에 포함된 데이터를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 메모리 공간은 제21도에 도시된 요소(308)로 표시된 소프트웨어에 의해 앞서 할당되었다. 요소(322)는 요소(320) 바로 뒤에 오는 요소로서, 압축된 레코드로부터 분배 레코드를 구축하고 확장하여 제1도에 도시된 요소(300)으로 표시된 도형 소프트웨어 프로세스데 의해 적절하게 디스플레이될 수 있는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(324)는 요소(322) 바로 뒤에 오는 요소로서, 확장 루틴의 처리를 종결하는 프로세스 단계를 구현하는 소프트웨어를 나타내고, 제1도에 도시된 요소(300)로 표시된 디스플레이 소프트웨어로 제어부를 다시 통과시킨다.
제23도는 가공의 고객 기록을 막대 그래프 디스플레이 포맷을 이용하여 도형으로 제시한 것을 설명하는 도면으로서, 이는 사용자가 이러한 방법을 이용할 수 있는 분배의 도형 디스플레이의 예를 제공한다. 이 도면의 막대 그래프는 고객 레코드의 모든 선택된 필드에 대한 분배의 기본적인 디스플레이를 나타낸다. 기본적인 디스플레이에서, 배경색은 회색이며, 레코드의 수를 보여주는 막대 그래프는 빨간색이다. 가로 좌표는 여러 가지 다양한 고객 이름의 첫글자를 의미하고, 세로 좌표는 고객의 수 또는 고객 레코드의 수를 나타낸다. 따라서, 막대 그래프에서의 제1막대는 데이터베이스 안의 문자 (A, B, 또는 C)로 시작하는 70개의 고객의 이름이 있음을 보여주는 것이고, 제2 막대는 문자 (D 내지 F)로 시작하는 30개의 고객의 이름이 있음을 뜻하며, 제 3막대는 문자 (G 내지 I)로 시작되는 고객의 이름이 10이며, 제 4 막대는 문자 (J 내지 L)로 시작되는 고객의 이름이 40개가 있음을 듯하고, 제5 막대는 문자 (P 내지 R)로 시작되는 20개의 고객의 이름이 있으며, 제6 막대는 문자 (S 내지 U)로 시작하는 100개의 고객의 이름이 있고, 제 7 막대는 문자 (V 내지 X)로 시작되는 10개의 고객의 이름이 있으며, 제 8 막대는 문자 ( Y 및 Z)로 시작되는 20개의 고객의 이름이 있음을 보여준다.
제23도는 가공의 고객 레코드의 기본적인 도형 디스플레이를 설명하며, 상세한 선택 및 디스플레이 프로세스에 대해 더 설명한 것이다. 제26도, 제29도 내지 제32도에 도시된 상세한 선택 및 디스플레이 프로세스를 설명하기 전에, 기본 도형 디스플레이와, 생성된 분배 매트릭스 사이의 기능적인 관계가 제20도와 제24도를 통하여 설명될 것이다.
제24도는 제20도에 나타낸 압축된 분배 매트릭스로부터 생성된 기본적인 도형 디스플레이를 설명한다. 빈 1에서, RECBINNO는 특정 빈에 포함된 레코드의 수이며 2와 같고, 따라서 제24도의 제1 막대는 2개의 레코드가 있음을 보여준다. 제5도를 다시보면, 빈(1)은 7.90 내지 9.29의 값의 기록 데이터의 범위를 표시하거나 포함하여, 결국 제24도의 디스플레이의 세로 좌표는 액세스된 특정 데이터베이스 내의 7.90 및 9.29 사이의 범위에 있는 것을 갖는 2개의 레코드를 보여준다. 빈(4), 제20도에서 볼 수 있듯이, RECBINNO는 3과 같고, 따라서 제24도의 제2 막대는 특정 범위에 있는 3개의 레코드를 보여준다. 이러한 특정 빈 내의 레코드 데이터의 범위는 제5도에서 도시된 바와 같이 12.09 및 13.48 사이에 있다. 빈(5)에서, RECBINNO는 2와 같고, 따라서 제24도의 제3 막대는 특정 범위 내에 2개의 레코드가 있음을 보여준다. 이러한 특정 빈 내의 기록 데이터의 범위는 제5도에서 볼 수 있듯이, 13.49 및 14.88 사이에 있다. 빈(8)에서, RECBINNO는 1과 같고, 따라서, 제24도의 제4 막대는 특정 범위 내에 1개의 레코드가 있음을 보여준다. 이러한 특정 빈(1)내의 레코드 데이터의 범위는 제5도에 볼 수 있듯이, 17.69 및 19.08 사이에 있다. 빈(9)에서, RECBINNO는 1과 같고, 따라서 제24도의 제5 막대는 특정 범위 내에 1개의 레코드가 있음을 보여준다. 이러한 특정 빈 내의 레코드 데이터의 범위는 19.09 내지 20.48이다. 빈(11)에서, RECBINNO는 2와 같고, 따라서 제24도의 제 6 막대는 특정 범위 내에 2개의 레코드가 있음을 보여준다. 이러한 특정 빈 내의 데이터의 범위는 제5도에 볼 수 있듯이 21.89 및 23.28 사이에 있다. 제25도 내지 제32도에 관해 도시되었고 설명된 도형 디스플레이를 생성시키는데 사용된 프로그램 또는 소프트웨어 루틴의 각각의 압축된 분배 매트릭스를 사용하여 제20도에서 설명된 압축 매트릭스로부터 제24도에 도시된 도형 디스플레이를 생성시키는 프로그램과 유사한 방식으로 디스플레이를 위한 데이터를 획득한다.
선택된 데이터베이스에 실제로 포함된 데이터는 기본적인 도형 디스플레이를 위하여는 필요가 없다. 기본적인 도형 디스플레이는 물론 2차적인 도형 디스플레이는 실제 데이터가 부과되지 않은 상태로 데이터의 전체적인 분배를 뷰(view)하거나, 연구하는 유용한 정보 제공 방법을 제공한다. 제24도에서 볼 수 있었듯이, 실제 값이 아닌 특정 범위에 대한 데이터 레코드의 수만이 설명되었다. 실제 데이터가 필요할 경우 시스템 사용자는 상세한 디스플레이를 요구하는데, 이는 이어지는 문단에서 설명될 것이며, 기본적인 도형 디스플레이 내의 데이터 레코드로 표시된 실제 데이터는 목록 상자 내에 디스플레이된다. 실제 데이터는 시스템 메모리나 확장 시스템 메모리에 저장되며, 상세한 도형 디스플레이 절차의 설명세서 설명된 것처럼 쉽게 액세스된다.
다시 제23도의 상세한 설명으로 돌아가면, 사용자는 상세한 선택에 대한 어떤 막대를 선택할 수 있다. 상세한 선택은 데이터의 2차 디스플레이를 나타낸다. 요소(400)는 제1도의 요소(300) 바로 다음에 오는 요소로서, 선택 프로세스를 구현하는 소프트웨어를 나타낸다. 소프트웨어는 사용자가 선택한 빈에 대한 레코드 수를 제공한다. 요소(500)는 요소(400) 바로 뒤에 오는 요소로서, 2차 디스플레이를 디스플레이하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 제25도는 2차 디스플레이를 수행하는 소프트웨어 프로세스를 나타낸 상세 흐름도이다. 요소(502)는 2차 디스플레이 루틴의 엔트리 포인트이다. 요소(504)는 요소(502) 바로 뒤에 오는 요소로서, 특정 기본 필드에 대한 압축된 분배 레코드를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이러한 소프트웨어는 제23도에서 설명된 것처럼 이미 디스플레이된 필드 내의 특정 레코드에 대한 분배를 판독한다. 요소(506)는 요소(504) 바로 뒤에 오는 요소로서, 특정 2차 필드에 대한 압축된 분배 레코드를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 기본적으로, 이러한 소프트웨어 프로세스는 그 필드 내의 특정 레코드에 대한 분배를 위치하게 할 수 있다. 이런 레코드는 사용자에 의해 선택되었고, 제1도의 요소(400, 500)로 표시된 소프트웨어 프로세스에 의해 구현되었다. 요소(508)는 요소(506) 바로 뒤에 오는 요소로서, 압축된 레코드로부터의 2차 분배 레코드를 구축하고 확장하는 프로세스 단계를 수행하여 제1도의 요소(400, 500)으로 표시된 도형 소프트웨어 프로세스에 의해 적절하게 디스플레이될 수 있는 소프트웨어를 나타낸다. 요소(510)는 요소(508) 바로 뒤에 오는 요소로서, 2차 디스플레이 루틴의 처리를 종결하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다.
제26도를 보면, 제23도의 막대 그래프의 제1 막대의 2차 디스플레이가 도시되어 있다. 이미 설명하였듯이, 2차 디스플레이는 사용자에 의해 실행된 선택의 결과이다. 디스플레이의 배경색은 여전히 회색이며, 주 막대 그래프도 여전히 빨간색이다. 그러나, 선택 막대는 REC대신에 X로 표시한 것으로서, 선택이 되면 파란색이 된다. 더욱이, 선택 막대의 상세한 것을 나타내는 새로운 그래프는 파란색으로 디스플레이 화면의 아래에 놓인다. 디스플레이의 바닥에 위치한 상세한 그래프는 사용자에 의해 선택된 원래의 막대를 깨뜨려서 상세한 도형 디스플레이로 바꾼다. 예를 들면, 4개의 고객 회사와 이름이 기재된 회사 각각에 대한 레코드가 얼마나 많은가를 설명하는 반면 원래의 막대 그래프는 단지 문자 (A, B 및/또는 C)로 시작하는 회사에 대한 70개의 전체 레코드가 있다는 것만을 설명한다.
사용자는 이제 상세한 그래프로부터 단일 막대 또는 여러개의 막대를 선택할 수 있다. 상세한 그래프로부터 선택하면, 3차 디스플레이가 된다. 3차 디스플레이에서, 사용자는 추가적으로 선택할 수 있는 능력을 갖춘 목록 상자로서 선택된 데이터가 제공되기를 또한 요구할 수 있을 것이다. 제1도를 다시 보면, 요소(600)는 요소(500) 바로 뒤에 오는 요소로서, 3차 디스플레이로서 선택된 레코드를 디스플레이하고, 필요하다면 목록 상자를 제공하는 소프트웨어 프로세스를 나타낸다. 제27도와 제28도는 상세한 흐름도로서, 선택을 위한 목록 상자를 제공하고 선택된 3차 디스플레이를 디스플레이하는 소프트웨어 프로세스를 나타낸다. 제27도 및 제28도는 동일한 코드 또는 소프트웨어를 나타낸지만, 제27도에 도시된 흐름도에 의해 표시된 코드는 2차 레코드를 위한 것이고, 반면에 제28도에 도시된 흐름도에 의해 표시된 코드는 3차 레코드를 위한 것이다. 제28도의 흐름도에 있는 요소는 프라임(primes)을 가한 것을 제외하고는 제27도의 흐름도에 있는 것과 부호가 동일하다. 코드상의 차이가 지시된다. 요소(602)는 3차 디스플레이 루틴의 엔트리 포인트이다. 요소(604)는 요소(602) 바로 뒤에 오는 요소로서, 특정 필드용 2차 디스플레이에서 사용된 압축된 분배 레코드를 판독하는 프로세스 단계를 수행하는 소프트웨어를 나타낸다. 제28도에서, 요소(604)는 특정 필드용 3차 디스플레이에 사용된 압축된 분배 레코드를 판독하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(606)는 요소(604) 바로 뒤에 오는 요소로서, 데이터가 디스플레이 될 수 있도록 특정 레코드수와 특정 빈에 대한 필드 값을 결정하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(608)는 요소(606) 바로 뒤에 오는 요소로서, 선택 목록 상자를 생성시키는데에 이용하는 필드 값과 레코드 수를 정렬(sort)시키는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 이 소프트웨어는 필드값이 오름차순에 있을 시의 필드값과 레코드 수를 정렬하는 기본적인 정렬 루틴이거나 유틸리티이다. 필드를 나열하면, 3차 디스플레이의 설명이 명확해진다. 요소(610)는 요소(608) 바로 뒤에 오는 요소로서, 이러한 루틴의 처리를 종결하는 프로세스 단계를 구현하는 소프트웨어를 나타내고, 제28도에 도시된 흐름도로 표시된 소프트웨어로 프로세싱 제어를 통과시킨다.
제29도는 3차 디스플레이의 예를 제공한다. 배경색은 여전히 회색이며, 주 막대 그래프도 여전히 빨간색이다. 그러나 파란색은 상세한 막대로부터 선택된 레코드를 디스플레이하기 위하여 사용되었다. 이 경우, 제1 막대에서의 최초 30개의 엔트리가 이미 선택되어 파란색으로 디스플레이상에 나타나고, REC의 반대편에 있는 X로 나타난다. 더욱이, 선택된 회사(ARTLER, BUTLER)는 X로 지시되고 파란색으로 나타난 상세한 그래프에 있는 레코드를 가지며, 반면에 다른 2개의 회사는 REC로 지시되어 빨간색으로 나타난다. 또한, 회사의 목록과 이들 각각과 관련된 레코드수의 수를 제공하는 목록 상자는 2색으로 제공된다. 즉, 선택된 회사 파란색으로, 그리고 다른 회사는 빨간색으로 나타난다. 어떤 레벨이 디스플레이의 실행에서의 유일한 제한 인자는 빈 내의 레코드의 수이다. 기본적으로 이것이 의미하는 것은 상세한 디스플레이가 빈 또는 필드 내의 마지막 레코드로 메이크 업(make up)될 수 있다는 것이다.
제30도는 분배 색인 방법의 다른 양상을 설명하는 도면이다. 제30도는 어떤 판매원에 의해 행해진 판매량을 포함하는 레코드의 수를 설명한다. 도면에서 X로 지시된 하이라이트 또는 파란색의 레코드는 제26도에 도시된 선택된 회사, 즉 문자 (A, B 및/또는 C)로 시작되는 이름을 갖는 회사와 판매량을 일치시키는 것이다. 기본적으로, 이 도면은 제26도에서 만들어진 선택 프로세스의 효과를 설명하는 것이다. 제26도에서 행한 선택이 없다면, 모든 외판원 레코드는 빨간색(REC)이나 비 하이라이트로 나타날 것이다. 따라서, 이 도면에서 설명하였듯이, 하나의 디스플레이상의 특정 회사의 선택은 이 경우 다른 디스플레이 안에 있는 판매원과 같은 다른 항의 디스플레이상에 나타나게 한다. 시스템 사용자는 주어진 판매원을 제거할 수 있다. 제31도는 판매원 1(S1)이 제거된 후의 디스플레이를 설명한다. 따라서, 전체 판매량의 수는 2로 줄어들었고, 이는 제31도에서 표시된 것처럼 외판원(1)이 책임질 수 있는 판매량의 수이다. 외판원(1)을 제거하거나 해제할 수 있도록 선택한 효과는 제22도에 도시한 것처럼 고객 레코드 디스플레이에서 볼 수 있다. 이 도면에서 볼 수 있는 것처럼, 고객 레코드는 판매원(1)의 손실로 인해 줄어들었다. 그래서, 양방향에서 선택 프로세스가 작업하는 것을 볼 수 있다. 선택 또는 해제 효과는 관련된 분배를 변경하게 되어 다른 모든 관련된 디스플레이 내의 결과에 영향을 미친다.
이러한 분배 색인 방법을 사용하면, 여러 가지 선택과 해제의 효과가 주어진 데이터베이스를 포함하는 다른 모든 데이터 필드에 아주 강력하게 반영된다. 이러한 방법은 또한 동작의 "what if" 모드와 "commit" 모드를 포함한다. 예를 들면, 실제 특정한 선택하는 대신에, 시스템 사용자가 실제로 변경시키지 않고 어떤 선택 효과를 찾고 싶을 경우에는 "what if" 모드를 선택한다. "what if"선택이 행해질 경우, "what if"선택 데이터는 노란색으로 디스플레이될 것이고, 사용자는 이것이 자신이 원하는 것인가를 결정할 수 있다. 사용자가 원하는 것이라면, 사용자는 "commit" 명령을 내리고 선택이 되며, 이전처럼 파란색으로 디스플레이된다. 그러나 만일 사용자가 원하는 바가 아니라면, 다른 "what if"이 실행되거나 다른 것이 선택될 수 있다.
제33도를 참조하면, 앞의 문단에서 상세하게 설명된 dbEXPRESSTM도형 인터페이스 절차를 나타내는 고수준의 흐름도가 도시된다. dbEXPRESSTM도형 인터페이스를 모니터하는 소프트웨어는 기본적으로 사건(event)중심으로 구동된다. 어떤 사건, 예를 들어 버턴 선택하는 등의 사건이 발생하면, dbEXPRESSTM은 그 사건에 반응한다.
dbEXPRESSTM에 의해 실행된 액션은 dbEXPRESSTM의 작동 모드가 현재 처리되고 있는가에 의존된다. dbEXPRESSTM소프트웨어는 3개의 모드 중의 1개를 작동할 수 있다. 제1 작동 모드는 기본적인 도형 디스플레이 모드이고, 제2 작동 모드는 상세한 도형 디스플레이 모드이며 제3 작동 모드는 목록 상자 디플레이 모드이다.
dbEXPRESSTM의 제1 모드는 제1도에 도시된 요소(300)로 나타낸 소프트웨어에 의해 구현되는 것이며, 시스템 사용자는 선택목록 상자로부터 필드를 선택하거나 디스플레이 버턴을 선택하여 임의 필드 분배 도형을 뷰할 수 있다.
이러한 사건 발생 할 시, 소프트웨어는 이미 디스플레이된 것이 있다면 현행 필드 분배 도형으로 제거하여 선택된 필드의 기본적인 분배 도형으로 대체하는 프로세스를 구현한다. 제33도의 요소(802, 804, 806, 808)는 제1 모드 절차를 구현하는 소프트웨어 프로세스를 나타낸다. 요소(802)는 시스템 사용자가 선택 목록 상자로부터 하나의 필드 또는 여러개의 필드를 선택하여 이를 디스플레이할 수 있도록 하는 소프트웨어 프로세스를 나타낸다. 요소(804)는 요소(802) 바로 뒤에 오는 요소로서, 선택된 분배표를 개방하고, 바람직한 분배를 검색하여 이를 디스플레이하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(806)는 요소(804) 바로 뒤에 오는 요소로서, 선택된 필드의 기본적인 도형을 디스플레이하는데 필요한 소프트웨어를 나타낸다. 요소(808)는 요소(806) 바로 뒤에 오는 요소로서, 선택 목록 상자에서 선택되지 않은 필드를 디스플레이하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 선택 목록 상자에 디스플레이된 잔여 필드가 디스플레이되어 시스템 사용자는 기본적인 도형 디스플레이를 위한 추가적인 선택을 할 수 있다. 기본적인 도형 디스플레이에 대한 각각의 선택은 위에서 지적한 것처럼 새로운 도형을 생기게 한다. 요소(802, 804, 806, 808)는 제1도의 요소(300)에 의해 구현되는 프로세스에 대한 일반적인 설명과, 이것과 관련된 제21도와 제22도의 상세한 흐름도에 대한 설명을 제공한다.
제33도의 나머지 요소는 3개의 작동 모드 모두에 대한 프로세싱을 구현하는데 필요한 소프트웨어를 나타낸다. 요소(810)는 요소(808) 바로 뒤에 오는 요소로서, 모드 카운트(count)를 초기화하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(812)는 요소(810) 바로 뒤에 오는 요소로서, 어느 작동 모드가 입력되는가를 결정하도록 도형 사용자 인터페이스를 모니터하는 프로세스 단계를 구현하는 소프트웨어를 나타낸다. 요소(814)는 요소(812) 바로 뒤에 오는 요소로서, dbEXPRESSTM의 제1 작동 모드에서 발생되는 사건의 프로세싱을 구현하는 소프트웨어를 나타낸다. 제1 작동 모드에 대한 사건은 앞에서 이미 설명하였다. 요소(816)는 요소(814) 바로 뒤에 오는 요로서, dbEXPRESSTM의 제2 작동 모드에서 발생되는 사건의 프로세스를 구현하는 소프트웨어를 나타낸다. 요소(818)는 요소(816) 바로 뒤에 오는 요소로서, dbEXPRESSTM의 제3 작동 모드에서 발생되는 사건의 처리를 수행하는 소프트웨어를 나타낸다. 디비익스프레스의 제2 작동 모드와 제3 작동 모드에 대한 사건 처리의 상세한 것은 다음 문단에 기재되어 있으며 앞에서 이미 설명된 상세한 흐름도와 관련되어 있다.
제2 작동 모드에서, 시스템 사용자는 막대 그래프가 디스플레이용으로 사용되었을 때 주어진 막대에 대한 데이터 디스플레이를 확장하고, 디스플레이된 어떤 막대에 대한 레코드 모두를 선택하여 해제하는 능력을 갖는다. 이러한 프로세싱은 제1도의 요소(400)와 요소(500)로 표시된 소프트웨어 프로세서에 의해 구현된다. 막대를 선택 및 해제하는 프로세싱은 마우스를 막대로 이동시켜 마우스의 오른쪽 버턴을 클릭하거나 누름으로써 실행된다. 그러나, 마우스는 절차를 설명하는 데에만 사용된다는 것을 알아야 한다. 실제로는, 그 선택은 키보드조작, 터치 스크린 버턴 또는 라이트 펜 조작을 통해 행해질 수 있다. 실제 선택이 행해지는 방법과는 관계없이, 소프트웨어는 빈 선택 카운트를 검색할 것이다. 카운트가 0보다 크다면, 선택 카운트는 0으로 세트되고, 특정 막대는 빨간색이 되어 선택된 것이 없음을 가리킨다. 한편, 카운트가 0과 같으면, 선택 카운트는 전체 카운트로 세트되고 막대는 파란색이 되어 선택되었음을 알린다. 이리하여, 소프트웨어 프로세스는 각 필드마다 빈 레코드 선택 카운트를 갱신할 것이다. 이러한 프로세싱을 위한 소프트웨어는 제25도의 상세한 흐름도로 표시하였다. 제25도에서 흐름도로 표시한 소프트웨어 프로세에는 기본적인 필드를 지시하는 각 필드에 대하여 선택 빈 기록 카운트와 선택된 레코드의 전체 수가 호출된다.
앞에서 설명한 것과 같은 데이터의 확장에 대한 기술은 다음에 설명하는 것에 의해 달성된다. 기본적인 막대 그래프 각각에 대하여, 그래프 내의 각각의 막대에 대하여 빈 수의 범위, 마우스의 배치를 위한 막대의 핫(hot) 영역이 되는 막대의 좌표, 선택된 레코드, 즉 "what if" 레코드의 수와 막대에 의해 표시되는 또는 그 안의 레코드의 전체 수가 존재한다. 시스템 사용자가 막대를 선택할 시에 사건이 일어난다. 막대는 마우스를 막대의 앗 스폿(hot spot) 영역에 놓고 마우스의 왼쪽 버턴을 클릭하거나 누름으로써 선택된다. 왼쪽 버턴이 클릭될 시, dbEXPRESSTM모드는 제1 모드에서 제2 모드로 바뀌어 기본적인 디스플레이 도형이 제거된다. 제2 모드 소프트웨어는 선택된 막대 빈 범위를 검색하고 상세한 도형을 구축하여 도형을 디스플레이한다. 제2 모드에서, 소프트웨어는 3개의 특정 모드의 사건을 모니터한다.
이러한 소프트웨어 프로세스 단계는 제32도의 요소(816)로 표시하였다. 제2 모드의 사건(1)은 단순히 기본적인 디스플레이 도형으로 되돌아간다. 이러한 사건은 마우스가 그래프 영역의 어느 곳에 위치되고, 마우스의 왼쪽 버턴이 클릭되거나 눌려질 시에 발생한다. 소프트웨어는 현재의 작동 모드에서 제1 모드로 다시 변경하고, 현재 디스플레이된 도형을 제거하며, 기본적인 도형을 다시 디스플레이할 것이다. 제2 모드의 사건(2)은 그래프 안의 주어지거나 선택된 막대에 대한 선택/해제 옵션이다. 이러한 사건은 마우스의 오른쪽 버턴이 클릭되고 마우스 커서 위치가 특정 막대의 핫 영역에 있을 때 발생한다. 선택과 해제의 실제적인 프로세스는 앞의 문단에서 이미 설명되었다. 제2 모드의 사건(3)은 디스플레이 선택된 막대의 레코드 옵션이다. 이러한 사건은 시스템 사용자가 선택 디스플레이 막대 값 버턴과 특정 막대를 선택할 때 발생한다. 이는 디스플레이 버턴에 마우스를 놓고 클릭하고, 마우스를 특정한 막대의 핫 영역에 놓으며 오늘쪽 버턴을 누름으로써 행하여진다. 이러한 사건이 발생하였을 때, 소프트웨어 프로세스는 상세한 디스플레이 상자를 제거하고 모드를 제3 모드로 세트한다.
제3모드가 초기화될 시, 제27도의 흐름도로 표시된 소프트웨어 프로세스는 선택된 막대에 대한 레코드를 검색하고 목록 상자 내의 레코드를 디스플레이할 것이다. 제27도의 흐름도로 표시한 검색 소프트웨어가 데이터를 검색하도록 호출될 시에, 필요한 정보는 막대의 빈 범위, 필드 분배 레코드 및 선택 레코드 데이터 검색 모드(선택된 레코드 선택되지 않은 레코드)이다. 검색 소프트웨어는 선택된 막대에 대한 빈 범위 내에 포함된 레코드 색인 값을 검색할 것이다. 레코드의 값 또는 레코드에 대응하는 값은 목록 상자 안에 디스플레이될 것이다. 분배 표가 생성되고, 각 필드에 대한 분배 레코드가 판독될 시에 발생하는 유일한 입력/출력 작동을 처리하는 점에서 중요하다.
제3 모드가 진행되는 동한 모니터되는 2개의 사건이 있다. 소프트웨어는 시스템 사용자가 마우스 커서를 레코드상에 위치시켜, 왼쪽 버턴을 누름으로써 목록 상자에 있는 어떤 레코드상를 선택하거나 해제할 수 있게 해준다. 기록이 선택되거나 해제될 때, 선택이 행해졌음을 나타낼 시는 파란색으로 변하며, 선택된 것이 없을 때에는 빨간색이 된다. 시스템 사용자는 이때 2개의 사건을 수행할 수 있다. 즉, 취소 버턴을 선택하거나 완료(commit) 버턴을 선택할 수 있다. 취소 사건이 발생하면, 목록 상자와 버턴은 제거될 것이며, 모드는 제2 모드로 세트되고, 상세한 그래프는 제2 모드로부터 다시 나타나게 될 것이다. 완료 사건은 목록 상자의 세팅을 조사하고, 선택된 막대 빈 카운트를 갱신한다. 막대에 대한 선택 코드가 갱신된 후, 목록 상자는 제거될 것이며, 상세한 그래프는 다시 나타나고, 모드는 제2 모드로 세트될 것이다. 사건 프로세싱은 요소(818)로 표시된 소프트웨어 프로세스 단계에 의해 달성된다.
다시 제1도로 돌아가서, 남아있는 요소를 설명한다. 요소(700)는 요소(600) 바로 뒤에 오는 요소로서, 도형 디스플레이에 대한 다양한 사용자 선택 출력 모드를 사용자에게 제공하는 소프트웨어 프로세스를 나타낸다. 디스플레이에 대한 출력 모드는 테뷸러 포맷 출력, 2차원 도형 출력, 및 3차원 도형 출력이 될 수 있다. 소프트웨어는 또한 데이터의 출력을 제공한다. 데이터는 디스크(702), 프린터(704), CRT(706) 또는 근거리 통신망 또는 모뎀(708)등으로 출력될 수 있다. 사용자는 이들 중에서 선택하여 출력할 수 있다.
본 발명이 적절한 실시예에 관하여 도시하고 설명되었지만, 이는 본 발명이 속한 기술 분야에서 통상의 기술을 가진 자가 앞에서 설명한 것과 형태상의 다른 변형 및 상세한 것의 변형이 본 발명의 범위를 벗어나지 않는 상태에서 실시될 수 있음을 쉽게 이해할 것이며, 첨부된 특허청구의 범위에 의해서만이 제한될 수 있음을 그들은 잘 알 것이다.

Claims (11)

  1. 선택된 데이터 구조의 데이터 분배(distribution)의 선택 및 디스플레이 방법으로서, 상기 선택된 데이터 구조는 그와 관련된 특정 파일 구조를 가지며, 다수의 데이터 레코드 및, 그의 데이터를 가진 다수의 데이터 필드를 포함하는 데이터 분배의 선택 및 디스플레이 방법에 있어서, (1) 호스트 시스템에 상주하는 상기 선택된 데이터 구조를 액세스하여, 상기 데이터의 분배의 선택된 파라미터를 결정하도록 데이터를 판독하는 단계, (2) 각 매트릭스가 필드 헤더와, 데이터 빈 및 이의 관련된 데이터 요약의 배열을 가지는 다수의 분배 매트릭스를 상기 선택된 데이터 구조 내에 포함된 데이터 요약의 배열을 가지는 다수의 분배 매트릭스를 상기 선택된 데이터 구조 내에 포함된 데이터로부터 구축하는 단계 및, (3) 상기 선택된 데이터 구조 내에 포함된 데이터의 분배를 도형으로 나타내도록 상기 선택된 데이터 구조에 대한 다수의 분배 매트릭스로부터 디스플레이를 생성시키는 단계로 이루어지는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  2. 제1항에 있어서, 상기 구축 단계는 상기 다수의 분배 매트릭스 내에 포함된 모든 정보를 주 분배 매트릭스로 압축하는 단계를 더 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  3. 제2항에 있어서, 상기 선택된 데이터 구조에 대한 상기 다수의 분배 매트릭스로부터 디스플레이를 생성시키는 단계는 상기 주 분배 매트릭스 내에 포함된 압축된 정보를 확장하는 단계를 더 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레일 방법.
  4. 제2항에 있어서, 상기 디스플레이가 각각의 선택된 필드에 대한 데이터 값의 범위를 제공하는 제1 디스플레이인 상기 디스플레이 생성 단계는 상기 제1 디스플레이 내의 선택된 데이터 필드에 대한 데이터 값의 특정 범위를 수정하여, 주 분배 매트릭스상에서 상기 수정의 효과를 결정하는 제2 디스플레이를 생성시키는 단계를 더 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  5. 제4항에 있어서, 상기 주 분배 매트릭스의 선택된 범위 내에 포함된 데이터의 상세한 도형 표현을 제공되도록 상기 주 분배 매트릭스의 선택된 범위에 대한 상세한 분배의 제3 디스플레이를 생성시키는 단계를 더 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  6. 제1항 또는 제5항에 있어서, 상기 선택된 데이터 구조를 호출하는 상기 액세스하는 상기 단계는, (1) 상기 선택된 데이터 구조 내의 상기 다수의 데이터 레코드의 각각을 검색하는 단계, (2) 상기 다수의 데이터 레코드 중의 하난 안의 각각의 데이터 필드를 판독하고, 상기 데이터 필드 내의 데이터를 분배 데이터 파일로 변환하는 및, (3) 상기 선택된 데이터 구조에 대한 주 분배 데이터 파일을 형성하도록 상기 다수의 데이터 레코드의 각각에 대해 상기 단계(2)를 반복하는 단계를 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  7. 제6항에 있어서, 다수의 분배 매트릭스를 구축하는 상기 구축 단계는, (1) 상기 선택된 데이터 구조 내의 모든 데이터에 이용하도록 빈의 수를 계산하는 단계, (2) 상기 선택된 데이터 구조 내의 상기 다수의 데이터 레코드에 대한 최소 및 최대 필드 데이터 값을 계산하는 단계, (3) 상기 선택된 데이터 구조 내의 상기 다수의 데이터 필드 중의 하나에 대한 델타빈 값을 계산하고, 상기 델타빈 값에 기초한 결정된 빈의 수에 대한 빈 범위를 지정하는 단계, (4) 상기 주 분배 데이터 파일 및 최소한 상기 (1) 내지 (3) 단계의 결과로부터 상기 다수의 데이터 필드 중의 하나에 대한 필드 헤더를 생성시키는 단계, (5) 상기 필드 헤더와 상기 주 분배 데이터 파일로부터 상기 주 분배 매트릭스를 구축하도록 상기 주 분배 데이터 파일 내에 포함된 모든 데이터를 처리하는 단계 및, (6) 상기 (3) 내지 (5) 단계를 반복함으로써 상기 선택된 데이터 구조 내에 포함된 상기 다수의 데이터 필드의 각각을 처리하는 단계를 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  8. 제7항에 있어서, 상기 선택된 데이터 구조에 대한 상기 주 분배 매트릭스로부터 제1 디스플레이를 생성시키는 상기 단계는, (1) 디스플레이될 상기 주 분배 매트릭스를 개방하는 단계 및, (2) 상기 구성된 분배 매트릭스 내에 포함되어 데이터의 분배의 일부를 도형 포맷으로 디스플레이하는 단계를 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  9. 제5항에 있어서, 상기 제1 디스플레이 내의 선택된 데이터 필드에 대한 특정 범위를 수정하는 상기 단계가 제2 주 분배 매트릭스를 생성시키는 단계를 더 포함하는데, 상기 주 분배 매트릭스를 상기 제2 주 분배 매트릭스를 형성하도록 데이터 값의 상기 특정 범위의 상기 수정으로 변경되는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  10. 제5항에 있어서, 제3 디스플레이를 생성시키는 단계는, (1) 상기 수정된 범위 내에 있는 필드 값을 갖는 주 분배 데이터 파일 내의 데이터 레코드를 식별하는 단계, (2) 상기 제3 디스플레이 내의 목록 상자를 분할하는 단계 및, (3) 상기 목록상자 내에서 상기 (1) 단계에서 식별된 레코드의 필드 값을 디스플레이하는 단계를 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
  11. 제9항에 있어서, 상기 제3 디스플레이를 생성시키는 단계는, (1) 상기 수정된 범위 내의 필드 값에 대응하는 상기 제2 주 분배 매트릭스 내에 포함된 데이터의 분배를 식별하는 단계, (2) 상기 수정된 범위 내의 필드 값을 갖는 주 분배 데이터 파일 내의 데이터 레코드를 식별하는 단계, (3) 상기 제3 디스플레이를 갖는 목록 상자를 분할하는 단계 및, (4) 상기 목록상자 내에서 상기 (2) 단계에서 식별되는 레코드의 필드 값을 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 데이터 분배의 선택 및 디스플레이 방법.
KR1019930012650A 1993-07-06 1993-07-06 도형 및 데이터 선택을 지원하는 색인 및 압축 방법 KR100222386B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930012650A KR100222386B1 (ko) 1993-07-06 1993-07-06 도형 및 데이터 선택을 지원하는 색인 및 압축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930012650A KR100222386B1 (ko) 1993-07-06 1993-07-06 도형 및 데이터 선택을 지원하는 색인 및 압축 방법

Publications (2)

Publication Number Publication Date
KR950004048A KR950004048A (ko) 1995-02-17
KR100222386B1 true KR100222386B1 (ko) 1999-10-01

Family

ID=19358805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930012650A KR100222386B1 (ko) 1993-07-06 1993-07-06 도형 및 데이터 선택을 지원하는 색인 및 압축 방법

Country Status (1)

Country Link
KR (1) KR100222386B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019997A (ko) * 2000-09-06 2002-03-14 민성기 매트릭스를 이용한 스프레드 시트상의 데이터 분류 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020019997A (ko) * 2000-09-06 2002-03-14 민성기 매트릭스를 이용한 스프레드 시트상의 데이터 분류 방법

Also Published As

Publication number Publication date
KR950004048A (ko) 1995-02-17

Similar Documents

Publication Publication Date Title
US5713020A (en) Method and system for generating database queries containing multiple levels of aggregation
US5301315A (en) Indexing/compression scheme for supporting graphics and data selection
EP0616289B1 (en) System and method for interactively formulating queries
US5257365A (en) Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US6944619B2 (en) System and method for organizing data
US7058621B1 (en) Method for extracting information from a database
US7805465B2 (en) Metadata management for a data abstraction model
US6831668B2 (en) Analytical reporting on top of multidimensional data model
US5481704A (en) Indexing/compression scheme for supporting graphics and data selection
Stockinger et al. Query-driven visualization of large data sets
US6233583B1 (en) Report generator for use within a lotus notes database system
US7899832B2 (en) Apparatus and method for assessing relevant categories and measures for use in data analyses
US5960435A (en) Method, system, and computer program product for computing histogram aggregations
US5499368A (en) Scaled depiction of information from a database
US7197517B2 (en) Systems, methods, and computer program products to display and select hierarchical database segments and fields
JP4609995B2 (ja) オンライン分析処理(olap)のための方法およびシステム
US20040133581A1 (en) Database management system, data structure generating method for database management system, and storage medium therefor
US20030167278A1 (en) Interactive generation of graphical visualizations of large data structures
US20030182300A1 (en) Method of splitting a multi-dimensional cube between a multi-dimensional and a relational database
US6430565B1 (en) Path compression for records of multidimensional database
RU2009130955A (ru) Оболочка файловой системы
JP2006503357A5 (ko)
EP3047399A1 (en) Densely grouping dimensional data
EP3232342B1 (en) Methods and systems for bidirectional indexing summary
KR100222386B1 (ko) 도형 및 데이터 선택을 지원하는 색인 및 압축 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee