May 13, 1997 - Inventors: Carolyn Marie Yeager; Jerry Lynn. Udy, both of Colorado ... DESCRIBE the SELECT LIST into a SELECT DESCRIPTOR i. Data Type.
US005950190A
United States Patent
[19]
[11]
Yeager et al.
[45]
Patent Number: Date of Patent:
5,950,190 Sep. 7, 1999
[54] DYNAMIC, SELF-MODIFYING GRAPHICAL
OTHER PUBLICATIONS
USER INTERFACE FOR RELATIONAL DATABASE APPLICATIONS
Chapter 12, “Implementing Dynamic SQL Method 4”, from
Inventors: Carolyn Marie Yeager; Jerry Lynn
No. A21020—2.
Oracle Programmers Guide, Release 2.1; Mar. 1995; Part Udy, both of Colorado Springs, Colo.
Primary Examiner—Wayne Amsbury
Assignee: Aptek, Inc., Colorado Springs, Colo.
Attorney, Agent, or Firm—John R. Ley
Appl. No.: 08/854,928 Filed: May 13, 1997
[57]
ABSTRACT
07/3; 707/511; 707/103
A dynamic database interface for relational and object oriented databases includes a dynamic, self-modifying graphical user interface de?ning a plurality of graphical Windows for searching and editing the contents of the
Field of Search .................................................. .. 707/4
relational database, as Well as modifying the structure of the
Int. Cl.6 .................................................... .. G06F 17/30
US. Cl. ................ ..
database tables. The graphical user interface recognizes References Cited
modi?cations to the structure of the database tables and
U.S. PATENT DOCUMENTS
regenerates the graphical Windows to accommodate such modi?cations. The graphical Windows also depict schematic
5,428,737 5,428,776 5,555,403 5,732,274
6/1995 6/1995 9/1996 3/1998
5,745,896
4/1998 Vijaykumar ..
707/100
5,749,079
5/1998 Yong et al.
707/100
5,832,481
11/1998
Li et al. .................................... .. 707/4 Roth?eld .... .. 707/4 Cambot et a1. ........................... .. 707/4 O’Neill ................................. .. 395/705
Shef?eld
......
. . . . . . ..
representations of physical locations of objects stored Within the tables of the relational database. In addition to using the graphical Windows to edit the contents and modify the structure of the relational database, batches of data may be imported to both edit the contents of the relational database and modify the structure of the relational database tables.
707/4
5,893,125
4/1999 Shostak
707/511
5,899,997
5/1999 Ellacott
.. 707/103
26 Claims, 19 Drawing Sheets
154 180 For Each Table Selected in Step 170
182
Generate SELECT Statement Selecting all Columns in the Table. (SELECT * from DataTNames[Tablelndex]. TableName)
\J
i PREPARE the SQL Statement for Parsing A
184
i DECLARE a CURSOR for the PREPAREd SQL Statement
OPEN the CURSOR
186
188
DESCRIBE the SELECT LIST into a SELECT DESCRIPTOR
i
190
Process the SELECT DESCRIPTOR to get the Column Attributes:
Data Type Precision/Scale Width
192
i Build an Internal Data Structure
Data Dictionary Interface Containing the Column Characteristics for Each Table
w
194
U.S. Patent
Sep.7,1999
Sheet 2 0f 19
Fig. 5 1:
5,950,190
60
Choices for Description:
1/4" Hex Driver Set
%
1/4" Std Deepwell Socket Set (11 1/4" Std Socket Set (1pc) 1/4" Std Socket Set W/Ratchet (19 10" Flat Panel Display 1553 Network Tester 1553 Netwprk Tester Remote Unit 3/8 Std Socket Set W/ Ratchet (23
3/8"Deepwe|l Socket Set (15pc) 3/8" Metric Socket & Hex Driver 8 35mm Camera 35mm Camera Flash
4-Channel Audio Mixer
KM
Cancel I
I
Clear
2
l>|
OK
I
U.S. Patent
Sep.7,1999
Sheet 5 0f 19
5,950,190
.GEm
Ec£Bbu23k9m581.0
u6w>L250E63mz0
U.S. Patent
Sep.7,1999
mm.
Sheet 6 0f 19
mm mm
5,950,190
mm
I
.mt k \ mvtmE m \
tg$25ou.né5m:s0?
wBS\m
_ octm
2/8m /
cozq wo
U.S. Patent
Sep.7,1999
Sheet 7 0f 19
5,950,190
mm
mm
9253 2 m
gm:
960
.mt m
QmK m6C25O90E://5B2Q0 E:EgQmsQ
U.S. Patent
S
Sep.7,1999
Sheet 8 0f 19
SSIMS - Lave/1 SPACESTATION
Database
Resize
Control
110
Pallets
El Help
/
Fig. 9
5,950,190
_
U.S. Patent
S
Sep.7,1999
5,950,190
SSIMS - Leve/2 HAB1
Database
112
Sheet 9 0f 19
Resize
Control
a
Pallets
/
)
5gp
(122 O1
O2
O3
O4
O5
06
S1
S2
S3
S4
S5
S6
D1
D2
D3
D4
D5
D6
P1
P2
P3
P4
P5
P6
Fig. 10
U.S. Patent
I:
Sep.7,1999
Sheet 10 0f 19
SSIMS - LeVeI3SSRACKO3
Database
Resize Control
Pallets
D
EFGHJKLM
mHm Fig. 1 1
5,950,190
U.S. Patent
Sep.7,1999
Sheet 11 0f 19
I: Trak-Vu - Level2 Catalog 1
5,950,190 m
E
?le Eesize Control kocation Control ?elp
124
m9
120
EHIEH Fig. 12
U.S. Patent
Sep.7,1999 150 '
Sheet 12 0f 19
5,950,190
Get Table Name(s)1/—\ 752
\
l
Get Column Names and/“154 Attributes for Each Table
l Get Column Constraints,/\ 156 for Each Table FOR EACH TABLE
l
l
Build Search Window
Build Edit Window
160 j
k 162
158
1
Build Design Window
K 164
Fig. 13
170 \ Determine the Table Names from the Data Dictionary
(SELECT TABLE_NAME from USER_TABLES) 7
(For Each Table Selecteh 172 l Build the Internal Data Structure DataTNames which contains:
152
Table Name and
Table lD (ColumnPrefix)
Fig. 14
/_\ 174
176
U.S. Patent
Sep.7,1999
5,950,190
Sheet 13 0f 19
154
180
(For Each Table Selected in Step 17M 7
182
Generate SELECT Statement Selecting all Columns in the Table. (SELECT * from DataTNames[Tablelndex]. TableName)
g
l PREPARE the SQL Statement for Parsing A
DECLARE a CURSOR for the PREPAREd SQL Statement
184
186
l OPEN theYCURSOR
A
188
l DESCRIBE the SELECT LIST into a SELECT DESCRIPTOR 1
190
Process the SELECT DESCRIPTOR to get the Column Attributes:
Data Type Precision/Scale
192
Width
l Build an Internal Data Structure
Data Dictionary Interface Containing the Column Characteristics for Each Table
Step 156
Fig. 15
196
194
U.S. Patent
Sep.7,1999
Sheet 14 0f 19
5,950,190
156 /
\
200
Gor Each Table ('tablename') Selected in Step 179 202
Determine the Primary Constraint Name of the Primary Key Constraint
(SELECT CONSTRAiNT_NAME from DBA_CONSTRAINTS WHERE CONSTRAINT_TYPE='P' and TABLENAME='tab/ename')
204 r
Determine which Column has the Primary Key Constraint
(SELECT COLUMN_NAME from DBA_CONS_COLUMNS WHERE CONSTRAiNT_NAME='Primary Constraint Name‘) 206
v
/
Determine the Referentia/ Constraint Name of the Referentiai integrity Constraint
(SELECT CONSTRAiNT_NAME from DBA_CONSTRAINTS WHERE CONSTRAiNT_TYPE =‘R' and TABLENAME = 'tablename')
208
ii
Determine which Column has the Referential Integrity Constraint (SELECT COLUMN_NAME from DBA_CONS_CONLUMNS WHERE CONSTRAiNT_NAME = 'Referential Constraint Name‘) v
Attach the Primary Key Constriant and the Referential Integrity Constraint to the Correct Column of the Data Dictionary Interface Data Structure
Step 158
210 212
Fig. 16
/
\ i
U.S. Patent
Sep.7,1999
Sheet 15 0f 19
5,950,190
160
220
C For Each Column in the Table)___/ l Build Parameter (Column Name) r‘ 222 Button
l Build the Choices Window (see Fig. 20) /‘ 224
l Attach Choices Window to the
/—\ 225
Parameter (Column Name) Button
l Build CPERATOR Pull Down List /" 228
l Build Edit Field adjacent the
/\ 230
Parameter (Column Name) Button
l Attach the Dynamically Generated /\ 232 Search Window to the Main Window
Fig. 17
U.S. Patent
Sep.7,1999
240
Sheet 16 0f 19
5,950,190
(For Each Column in the Table