High-level database management system
AssigneeThe Board of Trustees of the University of Illinois
InventorsKalev Leetaru, Alan Craig
Life of this patent
Estimating the term…
Abstract
A method and system for allowing end users to create a database and a user interface to interact with database data are provided. The database management system provides a database abstraction layer that hides the complexities of a database and vendor-specific implementation details from the end user, while still allowing the end user to perform powerful database tasks. The database management system allows an end user with little or no knowledge about databases to create, edit, and maintain a database without understanding the details behind the database. The database management system also provides a facility for the easy creation of web pages to access the database to provide features such as searching, data entry, and browsing data stored in the database.
Claims23
A system for creating a database comprising:
- a database system having native data types and a native naming syntax;
- a database abstraction component for creating a database having a field with a data type that is not a native data type and a name that does not comply with the native naming syntax;
- a user interface component for creating database tables through the indirection component;
- and
- a web page creation component for generating browse, update, and search pages that use the indirection component to view and manipulate data of a created database using a data type that is not a native data type and a name that does not comply with the native naming syntax.
A method of providing new data types for a database system, the method comprising:
- specifying a display data type that will be displayed to a user of the database system;
- specifying a native data type of the database system;
- specifying a write function to be called when an instance of the data type is to be written;
- specifying a read function to be called when an instance of the data type is to be read;
- specifying a user interface function to be called when a user interface is being generated for a component containing an instance of the display data type;
- and
- storing the specified display data type, native data type, write function, read function, and user interface function so that when a user specifies to add a field of the display data type to a database, a field of the native type is added to the database, and when the database is accessed using the display data type, the specified functions are used to access the field of the native data type.
A method of automatically generating a web page to access a database, comprising:
- receiving a web page type from a user;
- displaying a list of fields present in a database for including in the web page;
- selecting fields to display on the web page;
- receiving access control criteria for the web page;
- and
- creating a web page of the received type that displays the selected fields and is accessible by users that satisfy the access control criteria.
A computer-readable medium containing instructions for controlling a computer system to access a database, by a method comprising:
- receiving a field to access in a database having a name created by a user that is not supported by an underlying database;
- converting the field name to a native name;
- accessing the field in the database using the native name;
- and
- sending a response containing the field data.
A system for creating a virtual database that provides uniform functionality irrespective of the type of an underlying database system, comprising:
- a database abstraction component that:
- exposes a common set of virtual operations to a user, the operations for creating a database,
- translates the virtual operations to native operations supported by the underlying database system, and
- creates an underlying database using an underlying database system,
- wherein virtual databases can be created using different types of underlying database systems.
Dependencies are inferred from the claim text.