throbber
Unified Patents Inc. v. Vilox Technologies LLC
`Ex. 1006 / Page 1 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 1 of 12
`
`5,701,453
`
`WOISAHd
`
`NAaxHoS
`
`LHOd34
`
`YOLVHANAD
`
`VWSHOS
`
`NaaY0s&
`
`0%NASYOS
`
`
`
`YOLVYANSSVW3SHOS
`
`
`
`LYOd4uWOISAHd
`
`WOIDOT
`
`VWSAHOS
`
`QNaA
`
`Y3SN
`
`¢Old
`
`Ex. 1006 / Page 2 of 24
`
`GNA
`
`YWasn
`
`t J
`
`d
`
`Ex. 1006 / Page 2 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 2 of 12
`
`5,701,453
`
`LEVELS
`TABLES
`28
`32
`—TTFFa
`129
`
`MASTER
`
`CUSTOMER
`
`
`
`CUSTOMER
`
`
`
`132 \ MASTER
`
`LEVEL 133(TABLELEVEL STORE
`
`29
`30
`
`1ST DETAIL
`LEVEL
`34
`
`2ND DETAIL
`LEVEL
`35
`
`SALESHEADER 136
`
`
`135
`SALES ITEMS|
`LEVEL
`
`
`
`|
`
`SALES_ITEMS
`PARTS
`
`137
`138
`
`DETAIL
`TABLES
`36
`
`
`
`42
`
`LOGICAL
`
`SCHEMA
`
`TABLES
`
`DATABASE
`
`LS
`
`=
`
`ee
`
`USER
`TABLES
`38
`
`CATAL
`
`SYSTEM
`TABLES
`
`FIG._4A
`
`Ex. 1006 / Page 3 of 24
`
`Ex. 1006 / Page 3 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 3 of 12
`
`5,701,453
`
`Parts
`
`139
`
`200
`
`Logical Schema Name
`
`{Invoice
`
`Available Tables
`limx.Cost
`Ifmx.Customer
`Ifmx.employee
`Himx.inventory
`lfmx.mfg
`limx.Sales_header
`
`=
`e
`
`>
`
`Selected Tables
`
`Customer
`Store
`Sales_Header
`Sales_Items
`
`FIG._4B
`
`198197
`
`202
`
`132
`
`133
`136
`
`
`lowner char (32
`
`
`
`
`
`
`svwname
`char(32)
`
`
`
`
`
`
`
`
`
`remarks
`
`
`
`Logical Schemaidentifier
`
`
`Logical Schema owner
`
`
`Short nameof Logical Schema
`
`
`name: unique within
`
`syssuperviews.svwname
`Logical Schema description
`char (72)
`(narrative)
`[Columns
`Type
`iswidsid
`
`
`
`
`FIG._5
`
`
`Type
`
`
`
`
`
`Ex. 1006 / Page 4 of 24
`
`Ex. 1006 / Page 4 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 4 of 12
`
`5,701,453
`
`
`
`
`
`
`
`
`
`
`
`
`tableseq
`
`masteralias
`
`cardinality
`
`levelname
`
`
`
`int
`
`char(32)
`char (32)
`char (32)
`
`char(1)
`
`char(1)
`char(32)
`char(32)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(narrative)
`
`
`Type[CoumnsSSCS
`
`
`unique
`
`unique
`
`
`
`
`
`Logical Schemaidentifier
`table instance identifier unique
`within svwid
`reference to ownerin systables
`reference to tabnamein systables
`tabalias of table that is "master"
`of this table.
`
`
`numberof rows per master row.
`1=always 1; O=0 or 1; n=0 or
`
`more; N=1 or more: M=master.
`
`There should only be one master
`per Logical Schema. For master,
`the masteralias is NULL.
`(L) ookup only, (U) pdate
`alias name,defaults to table name
`grouping nameforall columns
`joined at this level.
`
`
`
`
`
`FIG._6
`
`Ex. 1006 / Page 5 of 24
`
`Ex. 1006 / Page 5 of 24
`
`

`

`US. Patent
`
`Dec. 23, 1997
`
`Sheet 5 of 12
`
`5,701,453
`
`
`
`
`
`
`
`
`
`
`|svwidintLogicalSchemaidentifier
`
`
`ovefeeeager
`
`
`svwid, tabalias
`
`joinoperator
`
`
`
`
`join operation between columns:
`
`
`
`(=), (!=), (<>), (>), (>=), (s), (<=),
`
`
`Index Name
`
`
`
`
`[svwioinst[unique_[svwid,tablalias, jcolseq
`FIG._7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[svwid,colseqSSS
`
`
`svwaliases
`dup
`
`FIG._8
`
`svwid
`tabalias
`colseq
`coiname
`
`colalias
`
`title
`
`index Name
`
`svwaliases1
`
`svwaliases?
`
`i
`
`nt
`
`char (3
`(
`2
`char(32
`
`char (32)
`char (32)
`small
`
`Type
`
`Logical schemaidentifier
`joins to syssvwtables.tablalias
`orders columns
`
`reference to syscolumns.colname
`Logical Schema alias for the
`table/column
`labelfor the alias (left of field)
`title for the alias (abovefield)
`
`Ex. 1006 / Page 6 of 24
`
`
`int
`char (
`
`32
`
`) ) )
`
`Ex. 1006 / Page 6 of 24
`
`

`

`US. Patent
`
`Dec. 23, 1997
`
`Sheet 6 of 12
`
`5,701,453
`
`
`
`
`
`[svwidint[LogicalSchema_——=«sidentifier
`
`
`
`seqno|smallint[linenumberoftheorderbytext__|
`
`
`
`
`(A) sending or (D) escending
`
`
`
`[indexName[Type[ColumnsSS~*d
`
`
`
`unique
`FIG._9
`
`username
`
`svauth
`
`
` svwid
`
`
`
`
`int
`
`char(32)
`
`char(8)
`
`Logical Schemaidentifier, 0 forall
`Logical Schemas
`user login identifier, public for
`all users
`Authorization type
`
`Logical Schema
`readlimit a
`readsperrowiimit
`
`elapsedtimelimit
`
`
`
`
`Types: (1) Logical Schemarecord
`smallint
`isolationmode
`
`
`stability, (2) committed read,
`
`(3) query stability
`
`
`IndexName
`[Type[columns
`
`
`
`
`sysvwauthindex|unique|svwid,username
`FIG._10
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex. 1006 / Page 7 of 24
`
`Ex. 1006 / Page 7 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 7 of 12
`
`5,701,453
`
`EEL
`
`GEL
`
`ZE1
`
`SJBW9)
`SyIBWIdy=|BWIEUAS
`
`uinujsno=winuysnoyour]
`Wuelo}s=WUEIOISc3ury
`
`BOlOAU|xU}]
`SdIHSNOLLV1acet
`J2UMQ:
`KL“Sls
`
`pimas
`SWUELISAD| ousgjes=ousejes9oul
`
`JewojysngJ@woysngTINN3101S8101STINN
`
`
`
`
`
`TINNSUa}]Sa|egSWS}Sales
`
`TINNojuysayesJapeayysayes
`
`
`swoySeesSHONHO<«——_®Japeeysajes|geur]
`
`
`
`
`
`epee}seesFHOWHO|«+——»Jewojsngo1~|eur
`
`
`
`
`seljeqe,adAjosnAyjeutpseo seijeso}sew
`
`a1ojS|<«———»Jawojsny||eurq
`
`
`aweuge]12uMQbasajqe}
`
`PIMAS
`
`—
`
`bl‘“Sld
`
`
`
`Vel“Old
`
`Ex. 1006 / Page 8 of 24
`
`Ex. 1006 / Page 8 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 8 of 12
`
`5,701,453
`
`
`
`
`
`
`
`
`
`
`
`CustomerTable 132
`Iname
`fname
`address
`phone
`city
`state
`storenm
`cusitnum
`
`Store Table 733
`
`storenm
`storeid
`storaddr
`
`Sales_Header Table 736
`
`storeid
`salesdate
`salesprsn
`salesno
`custnum
`
`
`
`
`
`
`
`
`
`
`
`Sales_Items Table 137
`
`itemnm
`
`FIG._12B
`
`Ex. 1006 / Page 9 of 24
`
`Ex. 1006 / Page 9 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 9 of 12
`
`5,701,453
`
`
`
`
`
`
` svwid tabalias
`
`colname label_titlecolalias
`
`
`flag
`colseq
`
`1
`Customer
`0
`Iname
`Iname
`Iname
`Iname
`0
`1
`Customer
`0
`fname
`fname
`fname
`fname
`0
`1
`Customer
`0
`address
`address
`address
`address
`0
`1
`Customer
`0
`phone
`phone
`phone
`phone
`0
`1
`Customer
`0
`city
`city
`city
`city
`0
`1
`Customer
`0
`state
`state
`state
`state
`0
`1
`Customer
`0
`storenm
`storenm
`storenm storenm
`0
`1
`Customer
`0
`custnum
`custnum
`custnum custnum
`0
`Store
`0
`storenm_
`storenm_
`storenm_ storenm_
`0
`Store
`0
`storeid
`storeid
`storeid
`storeid
`0
`Store
`0
`storaddr
`storaddr
`storaddr
`storaddr
`0
`
`
`
`
`
`
`0
`_storeid_
`storeid_
`storeid_
`storeid_
`0
`Sales_Info
`0
`salesdate salesdate
`salesdate
`salesdate
`0
`Sales_Info
`
`0
`_salesprsn salesprsn
`_salesprsn
`salesprsn
`0
`Sales_Info
`
`
`
`
`
`
`Sales_Info salesno_salesno0 salesno salesno 0
`Sales_Info
`0
`custnum_
` custnum_
` custnum_ custnum_
`0
`
`
`
`
`
`
`
`Sales_Items itemnm—itemnm0 itemnm itemnm 0
`Sales_Items
`0
`salesno_
`salesno_
`salesno_ salesno_
`0
`
`SalesItems
`0
`itemno
`itemno
`itemno
`itemno
`0
`
`Sales_Items
`0
`price
`price
`price
`price
`0
`
`Sales_Items
`0
`qty
`qty
`qty
`qty
`0
`0
`SalesItems dscrptn_—_dscrptn0 dserptn dserptn
`
`
`
`
`FIG._13
`
`Ex. 1006 / Page 10 of 24
`
`Ex. 1006 / Page 10 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 10 of 12
`
`5,701,453
`
`seiesejsew
`§seijeqe)
`JQWO}SNDJewoysny7AWTINNB10]SxyZl---JguwojsnyB10}S1LJawojsny4JOWO}SND=xXuU{|LL xw}|©L---
`
`
`
`
`
`
`
`
`
`
`
`sejegseesojulsejes7NJOWOISNDJepeeyHSal]SajeS=slay]SBeS=SwaySajesvL---ojuysayjes1Nojul
`
`SYJBWAlSUWIPUISAd|seyeqeyadAjasnAyjeuipseo
`
`
`
`
`
`Jojeradoulof§=zjooyejeap=joojiejeap=joouaysewbasjoof
`
`
`
`
`TINN“ousajesousgjesLswaysaes9L~"k)]|=f
`
`
`TINN~ouysnooujsnoLojupsayes
`TINN~WUSIO}SLUUaJ01S|8101S
`
`
`PIMAS
`edAyios§=selejoo=oubas
`WIULLeHZt‘Sl
`
`
`SweUuge]18UMObesajqe}
`
`
`
`eueU|
`
`St“Old
`
`Ex. 1006 / Page 11 of 24
`
`Ex. 1006 / Page 11 of 24
`
`
`
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 11 of 12
`
`5,701,453
`
`Fields & Expressions
`
`[> Customer
`
`Master
`Level
`29
`
`Logical
`Schema
`Levels
`28
`
`
`
`Detail
`Level
`35
`
`address
`
`phone
`
`custnum
`
`storeid
`
`storaddr
`
`> Sales_Info
`
`storeid
`
`salesdate
`
`salesprsn
`salesno
`
`custnum__
`
`> Sales_Items
`itemnm
`
`salesno
`
`price
`qty
`
`description
`
`Customer
`Level
`129
`
`Fields
`44
`
`Sales
`Level
`134
`
`items
`Level
`135
`
`
`
`FIG._18
`
`Ex. 1006 / Page 12 of 24
`
`Ex. 1006 / Page 12 of 24
`
`

`

`U.S. Patent
`
`Dec. 23, 1997
`
`Sheet 12 of 12
`
`5,701,453
`
`Labels——4
`49S
`
`Last Name:
`Phone #:
`Store Name:
`
`Iname
`phone
`storenm
`
`Store number: storeid
`
`Master
`Level
`Data
`Sales date:
`Sales Person:
`Fields
`salesdate
`salesprsn
`46
`:
`&
`
`Detail ‘itemname_|Part number Price Quantit
`
`Level
`itemno
`price
`ty
`Data
`Data
`Fields
`Fields
`
`
`
`
`
`
`Detail Level
`
`Scroling Table
`
`FIG._19
`
`
`
`Master
`tevel
`ee.
`
`LastName: Smith
`First Name:
`John
`Phone #: 898-3341
`Store Name: X Co.
`
`Store number: G8&392
`
`soe
`Sohema
`“54.
`54
`
`Sales Person:
`Sales date:
`ZI
`Johnson
`5\23\93
`__ Detail
`
`Detail Price_Quantity)/}ScrollingItem name Part number
`
`
`.
`Level
`Level
`1
`Widget
`1
`34851
`Records
`3.90
`1
`pe
`Table
`Widget 2
`786123
`58
`00
`13
`|
`52
`1
`61.001
`Widget 3
`1278
`Widget 4
`52348
`9.43
`41
`
`
`
`Peg
`
`FIG._20
`
`Ex. 1006 / Page 13 of 24
`
`Ex. 1006 / Page 13 of 24
`
`

`

`5,701,453
`
`1
`LOGICAL SCHEMA TO ALLOW ACCESS TO
`A RELATIONAL DATABASE WITHOUT
`USING KNOWLEDGEOF THE DATABASE
`STRUCTURE
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`2
`Despite the improvement over command line interfaces,
`GUIs suffer a drawbackin that end usersarestill required to
`have knowledge ofthe physical structure of the database. In
`other words, the end user must know the names of, and
`relations between database tables and columns before being
`able to access data in the database.
`the
`i.e..
`The way in which a database is structured,
`relationships between tables and columns, is known as the
`physical schema of the database. The physical schema
`should be designed so that all user applications, which
`retrieve and manipulate data, may do so in a convenient
`manner. The convenience provided by such a database
`design, however, diminishes over time as the database
`matures, since as tables and columnsare added, deleted and
`modified, the original physical schema may no longer pro-
`vide efficient access to information. The data maystill be
`obtained, but the user may have to retrieve the data by
`joining,
`ie.. jumping from table to table. This joining
`process requires additional steps due to the fact that the
`database schema wasnotinitially designed to manipulate the
`new relations among the tables. Thus, schema navigation
`becomes more difficult as the system matures and more
`applications are added.
`The physical database schema cannot be restructured
`from year to year in order to solve this problem. This is
`especially true ofa real-time production databases support-
`ing day-to-day operations, as companies are generally reluc-
`tant to halt a production database and replace it with a new
`application that may contain bugs. As a result, the database
`schema becomes more and more complicated over time, and
`eventually only a few system programmersin the company
`may have the necessary knowledge to perform database
`operations. End users must therefore send database queries
`to these programmers,and as they become busier, a backlog
`of requests may be accumulated.
`GUIs thatdisplay a list of table and column namesfor the
`end user do not solve this problem. Most end users are not
`sophisticated database users and need to view data in
`familiar formats. For example, an end user may prefer to
`look at information in a format such as an invoice or
`purchaser order. The numberof tables in a relational data-
`base and the relationships between those tables may seem
`arbitrary and confusing to end users. The challenge is then
`to provide an end user access to the data he wants without
`having to understandthe physical database schema.
`Accordingly, an object of the present invention is to
`provide improved accessto relational databases.
`A further object of the invention is to provide improved
`access for an end user withoutthat user understanding the
`physical database schema.
`Other objects, features and advantages of the present
`invention will become apparent from the following descrip-
`tion when taken in conjunction with the accompanying
`drawings.
`
`BACKGROUND OF THE INVENTION
`This invention relates to computerized databases, and
`more particularly to a system and method ofretrieving data
`in a relational database using a graphical user interface.
`A database system is a computerized system whose over-
`all purpose is to maintain information and to make that
`information available on demand. Many of the database
`products developed today are based on what is called the
`relational approach. In a conventional relational system the
`data is perceived by theuser as tables. A table is comprised.
`of a row of column headings, and zero or more rows of data
`values. The rowsof the table may be referred to as records.
`while each column represents a field of those records.
`All access to the database is handled by a database
`management system (DBMS). Using the DBMS, users of
`application programs perform operations on the database
`such as storing, editing. updating, inserting, deleting, and
`retrieving data by issuing requests or commands called
`queries. The database language known as SQL(structured
`query language)is the standard languagefor interacting with
`database systems, and is utilized by most commercial data-
`base systems.
`From a highlevel point of view, database systems have a
`twopart structure consisting of the DBMSandtheinterface
`to the DBMS.Interfacesare various applications that enable
`users to control the DBMS.
`Database products are used by a wide variety of entities;
`large companies, for instance, store large amounts ofinfor-
`mation in corporate databases. In general, there are two
`types of employees that may use the corporate database.
`A person known as a database administrator (DBA) or
`system programmer is required to create, maintain and
`implementthe database. Forlarge entities, the DBA function
`may be performed by a team of individuals. However, for
`simplicity the DBA is considered to be a single individual in
`the following description.
`Besides the DBA,the secondtype ofuserto interact with
`the database system is the end user. End users can access the
`database via a separate application program, or through an
`interface provided as part of the database system software.
`For more backgroundon relational databases and the SQL
`language. see Date C.J., An introduction to Database Sys-
`tems; The Systems Programming Series, vol. 1, 5th Ed..
`Addison-Wesley Publishing Company, 1990, which is
`herein incorporated by reference.
`Several problems havebeen associated with conventional
`relational database management systems. In some prior
`approaches, end users mainly access data in the database
`through the use of a database query language, such as SQL.
`The problem with these commanddriven interfacesis that
`they require a certain amount of data processing expertise on
`the part of the end user.
`Other types of relational databases, or applications,
`include a graphical user interface (GUD that allow users to
`interact with items that appear on the computer screen,
`rather than requiring users to memorize the names of com-
`mands. Using a GUL, endusers interact with the database by
`choosing an item from a menu,filling in information on a
`form,or interacting with a dialog box. A dialog box is a type
`of window, invoked by a command,that accepts responses
`needed to carry out a particular command.
`
`45
`
`50
`
`35
`
`SUMMARYOF THE INVENTION
`Thepresent invention is a method for providing access to
`a relational database having data stored as physical database
`records in physical database tables. Pairs of tables which
`will comprise a logical schema are selected from the rela-
`tional database and the logical relationships between the
`pairs of tables are defined. The tables in each pair oftables
`are joined by selecting a field common to both tables. Once
`a join operator is selected for each join field, the logical
`relationship between the pairs of tables is stored in a
`relational database thereby creating a logical schema.
`
`Ex. 1006 / Page 14 of 24
`
`65
`
`Ex. 1006 / Page 14 of 24
`
`

`

`5,701,453
`
`3
`invention provides access to a relational
`The present
`database where an end user queries the database without
`knowledge or understanding of the physical database
`schema. A logical schema is created and displayed to an end
`user as a set of fields grouped by levels that denote logical
`relationships between the information.
`An end user selects from a display those fields for which
`he wishes to see information. The database tables and
`columnscorrespondingto fields selected by the end user are
`then queried. The relationships between the data defined in
`the logical schema controls the order in which data is
`returned and presented to the end user.
`Becauseactual table and column namesare not used in the
`logical schema, the present invention masks the complexity
`of the physical database schema from the end user.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated in
`and form a part of this specification, schematically an
`illustrate embodimentofthe invention and, together with the
`general description given above and the detailed description
`given below, serve to explain the principles of the invention:
`FIG. 1 is a block diagram ofa prior art database approach.
`FIG. 2 is a block diagram illustrating the present inven-
`tion.
`FIG.3 provides a graphical representation ofthe structure
`of logical schema in accordance with the principles of the
`present invention.
`FIG. 4A is a block diagram representing how a logical
`schema is stored.
`FIG. 4B depicts the “Available Tables” list and the
`“Selected Tables” list for a sample customer invoice data-
`base.
`FIGS. 5-10 depict logical schema catalog tables.
`FIG. 11 depicts a row of information inserted into the
`SYSSUPERVIEWStable for the “invoice” logical schema.
`FIG. 12A depicts the SYSSVWTABLES table after rows
`of data have been inserted.
`FIG. 12B depicts the tables and columns in a sample
`database.
`FIG. 13 shows the SYSSVWALIASES tableafter being
`updated with table information.
`FIG. 14 depicts the relationship definition for an
`“invoice” logical schema.
`FIG. 15 shows the SYSVWTABLES table after being
`updated with relationship information.
`FIG. 16 depicts the SYSSVWIJOINStable after being
`inserted with join information from the a sample schema.
`FIG. 17 shows the SYSSVWORDER tableafter a sort
`order has been defined for an “invoice” logical schema.
`FIG. 18 depicts a sample dialog box for a logical schema.
`FIG. 19 is a form produced from a sample Customer
`logical schema.
`FIG. 20 depicts a sample form after records have been
`retrieved from the database.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`35
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`Reference will now be made in detail to a preferred
`embodiment of the invention. While the invention will be
`described in conjunction with a preferred embodiment,it
`will be understood that this description is not intended to
`limit the invention to that embodiment. On the contrary, the
`
`65
`
`4
`invention is intended to cover alternatives, modifications
`and equivalents, which may be included within the spirit and
`scope of the invention.
`Overview
`Aconventional database is shown in FIG. 1. This database
`requires an end user to know the physical database schema,
`ie.,
`table and column names and relationships. before
`retrieving and viewing data contained in the database. An
`end user, denoted generally by reference numeral 8, is a
`person who queries the database to obtain specific informa-
`tion. In order to perform the query. he mustfirst know a
`physical schema 14 of the database. A database management
`system (DBMS) 16 executesthe user's query to the database
`(not shown) and sendsthe results to a report generator 18.
`Report generator 18 is an application program capable of
`building forms and reports. A form provides end user 8 with
`a window to the database, while a report is a document that
`allows enduser 8 to format and print data retrieved from the
`database. Forms are usually sent to a computer screen 20
`while reports are usually sent to a printer 22.
`Each end user 8, of course, may desire to see different
`views of the data. The different ways an end user 8 may view
`the data is depicted in FIG. 1 as a set of boxes 10 between
`end user 8 and physical schema 14, each box 10 representing
`a different view.
`Different end user views 10 can be illustrated by exam-
`ining a hypothetical sound recording company. Assume the
`database administrator for the company produces a monthly
`report that displays sales of the company’s compact discs
`grouped byartist. Assume further that a sales manager in the
`company needs to see the sales of only two artists over a
`six-month period. Although the sales manager’s report que-
`ries the same tables, the DBA must generate a separate
`report to retrieve the specific information required by the
`sales manager. The two reports produced by the DBA
`represent separate end user views of the data stored in the
`company’s database. The person who generates the reports
`must know the physical schema ofthe database to issue the
`query.
`The operations and features of the present invention are
`illustrated by FIG. 2. As shown, end user 8 queries the
`database within the DBMs16 through a logical schema 12.
`The logical schema 12 eliminates the requirement that end
`user 8 know the physical schema 14 before accessing data.
`Logical schema 12is a set of instructions that defines the
`relationships between selected tables and column data in a
`relational database. In other words, logical schema 12 pro-
`vides a set of rules to control how data is returned from the
`database.
`Thepresent invention is a method for providing access to
`a relational database which has data stored as physical
`database records in physical database tables. Pairs of tables
`comprising a logical schema are selected from the relational
`database and the logical relationships between the pairs of
`tables are defined. Each pair of tables is joined by selecting
`a field common to both tables. Once a join operator is
`selected for each join field, the logical relationship between
`the pairs of tables is stored in a relational database, creating
`a logical schema.
`For example, a logical schema might model a purchase
`order or a sales invoice by specifying the invoice relation-
`ships between customers, orders, and sales items in the
`database.
`Using the present invention, end user 8 can use a graphi-
`cal user interface (GUT) to logical schema 12 to design
`custom forms and reports without knowledge of the database
`structure or actual table and column names. The end user 8
`

`
`Ex. 1006 / Page 15 of 24
`
`Ex. 1006 / Page 15 of 24
`
`

`

`5,701,453
`
`5
`begins by specifying the database and logical schema 12 on
`which a documentis to be based. End user 8 then selects the
`fields or columns he wants from a dialog box (not shown)
`that displays all the columns that are available in logical
`schema 12.
`The dialog box groups columns according to a logical
`schema level, as explained in more detail below. In this
`approach, end user 8 does not need to know which table
`holds a specific item of data. He only needs to know which
`logical schemalevel contains the desired information. For
`example, to place customer information on a form, end user
`8 simply selects displayed fields grouped under a heading
`named customer_info.
`Instead of dealing with rows in individual tables, an end
`user deals with a logical schema record. A logical schema
`record consists of one master-level row and a number of
`dependent detail rows.Forinstance, a logical schema record
`could includeall the sales for one customer andall the items
`for each of those sales. This may encompass many rowsin
`several tables, but is presented to end user 8 as a single and
`simple logical schema record.
`Before end user 8 can makeuseof logical schema 12, the
`schema must first be created. A person with knowledge of
`the physical schema,including a person who later becomes
`end user 8, can create a logical schema 12. Since in most
`large companies the task of creating logical schema 12
`would be the responsibility of the DBA, the person who
`creates the logical schema 12 will, for the sake of conve-
`nience and not by the wayof limitation, may hereinafter be
`referred to as the DBA.
`When designing logical schema 12. the first task is to
`choosethe tables an end user 8 needs to access. It must then
`be determined how the data in one table relates to data in
`another table by establishingtherelationships between those
`tables. When the end user 8 sends queries to the database, the
`relationships established in logical schema 12 control the
`master-detail order of the data returned in response to those
`queries. This allows logical schema 12 to portray data
`having different levels of detail.
`Before explaining what is meant by a master-detail order,
`it is necessary to first describe the relationships between
`database tables. In a database designed to follow the rela-
`tional model, each row of data in a table has a number of
`potential relationships to the other rows of data. In other
`words, in addition to the individual entities recorded in the
`database. there are also relationships linking those entities
`together.
`For example, a given database might hold information as
`to which customers ordered what sale items from which
`stores. A relationship exists between customers andstores:
`each store has customersthat placed orders, and conversely,
`a customer may have placed orders in more than onestore.
`Similarly, a sales item may be stocked in several stores, and
`conversely, a store may stock several sales items. These
`relationships may betraversed in either direction.
`Relationships between entities, or fields, of a database are
`a part of the databasejust as the basic data entities are part
`the database. A relationship can be regarded as an entity of
`its own. For example.
`the relationship “sales item X is
`stocked in store Y” is an entity for which one may wish to
`record data, ie. the corresponding quantity.
`A logical schema is a named set of these types of
`relationships and provides a set of rules to control how data
`is returned from the database. The types of relationships
`between tables that can be defined in a logical schema are:
`One-to-One, One-to-Zero-or-One, One-to-Zero-or-More,
`and One-to-One-or-More.
`
`40
`
`45
`
`50
`
`35
`
`60
`
`65
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`6
`A One-to-One relationship means that for every row in
`onetable, there is only one row of related data in a second
`table. For example. a part may have only have one manu-
`facturer.
`A One-to-Zero-or-Onerelationship means that for every
`row of data in onetable. there is no more than one row of
`related data in a secondtable or there may not be any related
`rowsin the second table. For example, some but not all of
`the items in a catalog may have a correspondingpicture.
`A One-to-Zero-or-Morerelationship meansthat for every
`row of data in one table. there may or may not be multiple
`rowsof related data in a second table. For example, some
`customers may have placed many orders, but there may be
`customers who have never placed orders.
`A One-to-One-or-Morerelationship meansthat for every
`row ofdata in one tabie. there is one or more rowsofrelated
`data in a second table. For example, every order must have
`at least one item onit, and an order can have manyitems.
`The relationship between tables can vary depending on
`the purpose of the logical schema. For example.if a logical
`schema is created that looks at all customers and their
`orders, then the table holding the customer information has
`a One-to-Zero-or-Morerelationship to the table holding the
`order information. However, if a logical schema looks atall
`the orders a companyfills and the customersthat placed the
`orders, the order table has a One-to-Onerelationship to the
`customer table.
`After data has been modeled in the database by defining
`logical schema 12, end user 8 can use that model to create
`any form, report, or query that looks at the data in the same
`logical way. In the sound recording company example given
`above, a logical schema could be created that displays the
`monthly sales of compact discs grouped by artist. Although
`the sales manager may needa specialized view ofthe data,
`the logical schema would enable the sales manager to
`personally choose information he needs without the help of
`a DBA,for instance, and his specialized knowledgeof the
`physical database schema.
`The number of logical schemas to be created for a
`database is determined by the requirements of the end user.
`For example, only one logical schema for each department
`in a company maysuffice, but if end users within the same
`departmentrequire different types of information, then addi-
`tional logical schemascan be created to satisfy those needs.
`Logical Schema Structure
`As shownin FIG.3, a sample logical schema may include
`five tables denoted collectively by reference numerical 32: a
`customer table 132, a store table 133, a sales_header table
`136, a sale_items table 137, and a parts table 138,
`In relational databases, tables are joined by one or more
`columns that contain the same values. For example, cus-
`tomer table 132 and sales_header table 136 can be joined by
`a column named cust_no. The value of this column in both
`tables must match to relate the rows from the two tables.
`The table joins are specified in a logical schema of the
`present invention whenthe relationships amongthe tables is
`defined. Since the joins may be previously defined, all end
`users 8 need to understand when building forms or reports
`is the logical levels 28 into which the data is organized. For
`example, they must know that for every customer there may
`be 0 or moresales, and each sale consists of 1 or more items.
`Thefirst level in a logical schema is known as the master
`level 29. Master level 29 contains a logical schema master
`table 30. All other tables 32 in the logical schema join
`directly or indirectly to the master table 30. In the example,
`the logical schema organizes all the data according to its
`relationships to rows in customer table 132. Therefore,
`customer table 132 is the logical schema master table 30.
`
`Ex. 1006 / Page 16 of 24
`
`Ex. 1006 / Page 16 of 24
`
`

`

`5,701,453
`
`7
`A new logical schema level is created each time a One-
`to-Zero-or-More or One-to-One-or-More relationship
`between tables is established. Any new logical schema level
`under master level 29 is called a detail level. The levels are
`ordered according to how the tables in the level are joined
`to master table 30.
`In the example of FIG. 3, two detail levels exists. a first
`detail level 34 and a second detail level 35. Each row in the
`customer table. 132 may have zero or more corresponding
`rowsin sales_header table 136. If a customer has not made
`any purchases then that customer would not have any rows
`in the sales_header table 132. Therefore, this One-to-Zero-
`or-Morerelationship between tables 132 and 136 spawns a
`first detail level 34. Likewise. each row in sales_header
`table 136 may have one or more corresponding rows in
`sales_items table 137 (a One-to-One-or-Morerelationship),
`so it spawns a second detail level 35.
`Tables joined on a One-to-One or One-to-Zero-or-One
`relationship appear on the same logical schema level. In
`FIG. 3. one row in customer table 132 relates to one row in
`store table 133.
`i.c.. a One-to-One relationship exists
`between tables 132 and 133. Therefore, store table 133
`belongs in the same level as customer table 132. Likewise,
`parts table 138 has a One-to-Onerelationship to sales items
`table 137 so it belongs in the same level as sales items table
`137.
`In a preferred embodiment. logical schema levels are
`automatically named by default. Each level may be given the
`nameofthe first detail table 36 assigned to that level. The
`exception to this is master level 29 of the logical schema
`which assumes the name of master table 30. In a preferred
`embodiment, logical schema levels 28 may be renamed to
`make them more meaningful to the end users. In FIG. 3,
`customer table 132 is the first table assigned to the logical
`schema master level 29, so the name of the master level of
`the logical schema is “customer level” 129. The sales header
`table 136 is the first, and only, table assigned to thefirst
`detail level 34. so the nameofthefirst detail level 34 of the
`logical schema is “sales header level” 134. The Sales__items
`table 137is the first table assigned to the seconddetail level
`35, so the name of the second detail level 35 of the logical
`schema is “sales items level” 135.
`Logical Schema Creation
`To create a logical schema, the structure and contents of
`the database must be known. In a preferred embodimentof
`this invention, each of the following tasks must be per-
`formed when building a logical schema:
`1) openthe database for which the logical schema is to be
`built.
`2) name the logical schema,
`3) select the tables to be included in the logical schema,
`4) specify the relationships between the rows of data in
`the various tables that comprise the logical schema, and
`5) specify the joins between the columnsofthe selected
`tables.
`The following tasks are optional when creating a logical
`schema and may be performed in any order:
`1) select columns to be included in the logical schema
`from the set of chosen tables,
`2) arrange how the columns are to appear to end users
`when building forms and reports,
`3) create aliases for tables or columns,
`4) establish a default sort order for the data retrieved into
`the forms or reports based on the logical schema, and
`5) determine which users will be able to use the logical
`schema.
`
`8
`In the preferred embodiment, each stage in the creation
`process is accomplished by entering information in, or
`makingselections from, a series of dialog boxes displayed
`by a GUI.
`Logical Schema Storage
`Once a logical schema

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket