CA2170235C

Method and apparatus for the modeling and query of database structures using natural language-like constructs

Abstract

Computerized tools for modeling database designs and specifying queries ofthe data contained therein. Once it is determined that an information system needsto be created, the Fact Compiler 100 of the present invention is invoked to createit. After creating the information system, the user creates a fact-tree, using the Fact_Tree_Specification Module 300, as a prelude to generating queries to thesystem. After creating the fact-tree, the user verifies that it is correct, using theTree Interpreter, invoked as Fact_Tree_to_Description Module 500, of the presentinvention. Once the fact tree has been verified, the Query Mapper of the presentinvention, invoked as Fact_Tree_to_SQL_Query Module 400, is used to generateinformation system queries.

CA2170235C, drawing sheet 1
Sheet 1 of 24

Term

Term ended

Expired 24 August 2014, 12.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

39 claims: 2 independent, 37 dependent

  1. 1
    CA 02170235 2004-07-09 The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:1. Apparatus including a general purpose programmable digital computer, said computer having central processing means, bus means, display means, data entry means, memory means, data storage means and graphical user interface, for specifying database designs, said apparatus further comprising;diagram means for producing a diagram on said display means;cursor control means, responsive to said data entry device, for controlling movement of a cursor over said diagram;repository means further comprising relational database means implemented on said computer;text input means for entering into an edit window, text using said data entry means, items of said text including data objects, facts about said data objects and constraints on said data objects;user-selectable text validation means for validating said text, said text validation means including: (a) first text combining means for combining said text from said edit window, (b) first parsing means, further responsive to said first text combining means, for parsing said text into said objects, facts and constraints, and (c) first error checking means, further responsive to said parsing means, for determining if an error exists in said objects, facts or constraints;user-selectable translation means for translating said text from said text input means into said diagram , said translation means including: (a) capture means, responsive to a first selector means of said data entry means, for capturing a text item from within said edit window, (b) item test means, responsive to said capture means, for testing whether the text item is an object, a fact or a constraint, (c) cursor change means, responsive to said item test means, for changing said cursor to reflect whether said text item is an object, a fact or a constraint, (d) cursor release means, further responsive to said first selector means of said data entry device, for dropping said text item onto said diagram, (e) text collection means for collecting said text item at said edit window. CA 02170235 2004-07-09 (f) second parsing means, responsive to said text collection means, for parsing said text item into objects, facts, and constraints, (g) first update means for updating said repository by copying said objects, facts and constraints into said repository as records, and (h) said diagram means, further responsive to said cursor control device, said capture means, said item test means, said cursor change means, said cursor release means, and said parsing means, for drawing said objects, facts and constraints on said diagram;and user-selectable first compilation means for compiling said text only into said repository means.
  2. 22
    Method for specifying database designs on a general purpose programmable digital computer, said computer having central processing means, bus means, display means, data entry means, memory means, data storage means, graphical user interface and repository means further comprising relational database means implemented on said computer; said method comprising the steps of:producing a diagram on said display means;moving a cursor over said diagram;entering, into an edit window, text from said data entry means, items of said text including data objects, facts about said data objects and constraints on said data objects;validating said text responsive to a user-selectable option translating said text from said text input means into said diagram a user-selectable option, including the steps of : (a) combining said text from said edit window into a text item;(b) parsing said text item into objects, facts, and constraints;and (c) responsive to said step of parsing said text, determining if an error exists in said objects, facts or constraints;translating said text from said text input means into said diagram responsive to a user-selectable option, including the steps of: CA 02170235 2004-07-09 (a) capturing a text item from within said edit window, responsive to a first selector of said data entry device;(b) responsive to said step of capturing said text item, testing whether said text item is an object, a fact or a constraint;(c) changing said cursor to reflect whether said text item is an object, a fact or a constraint;(d) dropping said text item onto said diagram;(e) collecting said text item at said edit window;(f) parsing said text item into objects, facts, and Constraint;(g) updating said repository by copying said objects, facts and constraints into said repository as records;and (h) further responsive to said cursor control device and said steps of capturing an item of said text, testing whether a text item is an object, a fact or a constraint, changing said cursor, dropping said text item, and parsing said text item into objects, facts, and constraints, drawing said objects, facts and constraints on said diagram;and compiling said text only into said repository means responsive to a user-selectable option.