The Minibase GUI front-end allows users to invoke almost all database functions, and is described below. It can be run using the command minibaseview. There is also a text-based interface to Minibase, which is useful for running the system tests. The Catalog and Query Optimizer modes provide a powerful tool for creating synthetic catalogs and visualizing the plans generated when optimizing queries using information in these catalogs.
The proper versions of the Tk/Tcl toolkit and extensions are necessary to run the GUI---these toolkits are part of the Minibase distribution and need to be installed as appropriate.
Global and context-sensitive help is available for most parts of the GUI; it is also simple and easy enough to use that the user can figure out most of the functionality by experimenting with the tool.
The only functional part of the GUI is the Catalog Editor. The Catalog Editor provides a syntax directed, forms-based interface to creating and editing Minibase catalogs (without the user having to understand the underlying catalog format).
Minibase catalogs created and edited via the Catalog Editor are stored as files i.e. they are not automatically associated with the Minibase backend or with any databases.
In the Query Optimizer mode, the user can type SQL queries against the "opened" catalog (henceforth, "current catalog"), have the query optimized (i.e. have various query plans generated by the Minibase backend and the best plans selected). The selected query plans are then displayed in the main window of the GUI. These plans can then be examined in detail. The user can also make various refinements to the plans via "toggles" available in the GUI menus and observe the effects of changes in query optimization strategy on the selection of different plans by the optimizer.
Examples exercises and catalogs are included in the directory programs/opttool/catalogs. The catalogs and exercises test various parts of the optimizer and demonstrate the effects of indexes, availability of access methods, query selectivity, joins, sorting, data clustering, and so on.
In the Query Optimization mode, no query plan is actually evaluated against any data since the current catalog is not associated with any actual database.
Every valid Minibase database has an internal catalog---when users create new databases, they need to associate a catalog with each database. Existing catalogs may also be modified (however, the GUI cannot be used for modifying catalogs bound to databases---the Minibase C++ interface should be used for making changes to the bound catalogs).
Users can invoke database operations: inserting and deleting tuples into relations, and updating them. Data can also be read in from, and printed out to files/printers. In addition to these database functions, users can also perform all the functions available in the Query Optimization mode and execute query plans against the relations/tuples in the database.
The Database mode remains active until the user "opens" a catalog---when the GUI switches to the Query Optimizer mode.
Back to the List of Components
Back to the Minibase Home Page