The physical meta model is fairly
large, with many objects and many
relation-ships, which makes the
architecture somewhat complex.
Object-Oriented Design
As popular as E-R designs may be for meta data repository databases, OO designs
are more efficient. Since they are more abstract, they result in fewer tables, run
queries more efficiently, and are much easier to expand. Using the same example as
above, the OO model would contain only three objects, but these objects would be
more generic, as shown in Figure 10.6.
Figure 10.6. Example of Object-Oriented Design. (Short
vertical lines indicate "one," and the crow's feet indicate
"many.")
This type of database structure is not easy to understand, and business people will
probably not be able to write their own ad hoc SQL queries against it. It is not
intuitively obvious that the object named Object contains the instances (rows) for all
meta data objects, such as database instances, table instances, column instances,
attribute instances, and so on. It is also not obvious that the object named Object
Type differentiates the various meta data object instances by assigning the
appropriate label of Database, Table, Column, Attribute, and so on. And the
untrained eye would have an even more difficult time discerning that all relationships
between these object instances are reflected in the third object named Object
Relationship. However, it is easy to see that expanding this type of generic design is
as simple as adding new instances (rows) to these three objects (tables).
Table 10.6 lists the advantages and disadvantages of OO designs.