Patent ID: 8214402

Claim:
A computer-implemented method to allow a user to interactively explore a physical database design, the method comprising: accessing a database management system (DBMS) including a database engine; storing and executing, in an execution environment separate from the DBMS, an object model comprised of objects that model a database configuration session, the objects including database objects that represent databases available via the DBMS, query objects that represent queries to the represented databases, and configuration objects specifying physical configurations of the represented databases; allowing a user to interactively input commands in arbitrary order, the commands operating on and referencing the objects in the object model, the commands including: specification commands specifying a database of the DBMS and instantiating a corresponding database object representing the specified database in the hierarchy of objects, wherein the database object can be invoked to obtain information from the DBMS about the specified database; specification commands specifying one or more queries associated with the database and instantiating corresponding query objects representing the one or more queries; specification commands specifying one or more physical configurations of the database and instantiating corresponding configuration objects associated with the database object, a specified physical configuration object identifying at least a set of indices of tables of the database; object commands that get and set values of the objects in the object model; and execution commands obtaining performance and/or optimization information from the DBMS according to the objects in the object model, the performance and/or optimization information generated by an API (application programming interface) of the DBMS that provides access to what-if functions of the DBMS that analyze query execution without fully executing queries, wherein the execution commands and object can be piped to and from each other and to and from text processing commands of the execution environment.