All classes have the prefix Qb.
- The base class is Item, which corresponds to a single value.
This value can be a string, an integer, or a boolean.
- Each Item type is represented by an object of the class
This class is as close to being a metaclass as is possible in
C++, which means it also works as am object factory.
- There is a special Item type, called Oid, which contains the
object identifier for the entity it belongs to.
This object identifier should be more or less unique among all
objects in the database, and hopefully even globally so.
- A collection, possibly empty, of Items, can be joined into an
- The description of each Entity type, along with information
about which Items it contains, are stored in an object of the
This class also works as a metaclass, being responsible for
creating the corresponding Entity objects.
- Each Entity type can additionally have any number of
relationships to other Entity types.
The relationships are represented by items of the type Oid,
making the relationships unique.
- When stored in a relational database, an Entity type corresponds
to a table, and an Item corresponds to a column.
This gives a straightforward mapping between the entity objects
and the database, making it easy to store the data, as well as
reading it back again.
- We need an XML parser and generator, to be able to easily import
and export the database.
Note that there yet doesn't exist such a tool for ODBC
databases, that allows the columns to change places.
Unfortunately I have no access to an UML tool right now.
Sponsorship in the form of a license to Object Domain or Rational
Rose is more than welcome.
Last update: 1999-11-09, by