A method and
system for modeling of object-oriented
database structures, translation to
relational database structures, and dynamic searches thereon. The user may create, edit and manipulate a user's object
database (dynamically translated into a set of
relational database structures), to create, edit and manipulate objects for that object
database (dynamically translated into data for those
relational database structures), and to create, edit and manipulate queries to be applied to that object database (dynamically translated into queries to be applied to those relational database structures). A meta-model of the user's object database, which is itself an object database, and which has itself been translated into a set of relational database structures for manipulation by a relational
database engine. The meta-model comprises a set of classes, objects, and relationships between classes which model the classes and relationships between classes of the
system. Each of these classes may comprise a set of searchable properties, and each of these relationships may comprise an inheritance relationship (between a
base class and a derived class) or a data-model relationship (such as a one-to-one, one-to-many, or many-to-many relationship). The
data model of the user's object database is modeled by actual objects in the meta-model, and editing or manipulating the user's object database is modeled by creating, modifying, or deleting objects in the meta-model. The meta-model also models itself, in the same manner as it models the user's object database, and may be manipulated in the same manner as the user's object database.