||Much effort has been expended by software developers attempting to builddatabases suitable for use by those working within the construction industry.Various models from the original RATAS relational database modelthrough to sophisticated process models have been proposed, developed andevaluated. It is probably fair to say that these research efforts have onlyrecently begun to effect the practices of professional construction engineers.This, in part, is due to the need for more sophisticated systems. This paperdescribes a database that is usable throughout the design and constructionprocesses in the construction industry. The method uses the well-establishedidea of generic components that can be combined to create a large scaleartefact. The novelty of the approach described herein allows thecomponents to embody facts and rules that allow design knowledge to bemodelled, captured and retrieved. The facts and rules encapsulate not onlythe interactions of the various products but also the processes involved intheir use. In effect, the atomic primitive elements (both components andrules) can be combined to create complex elements which are semanticallyrich. The basic ideas and fundamental philosophy of this approach havebeen described elsewhere. This paper is devoted to describing the detailedimplementation of this approach. The content is technical and thorough; itdescribes how a passive relational database management system, Oracle, hasbeen used to create a new metadata structure for the creation, control andmanagement of the components - both simple and complex. In effect, therelational database becomes active. Thus, the database reacts to designdecisions by firing rules which then govern the interaction of thecomponents. The paper presents a detailed description of the underlyingarchitecture and the data model which has been developed. The paper isinteresting not only to construction engineers but also to software designersin that it shows how existing database models can be extended by usingtheir predefined data types to create new, and more complex, ones. Whilethis is an old, well-established trick, this application to a real-world problemis a good test of its viability. Finally, a brief review puts this particularapproach into the context of the other myriad attempts to create product andprocess reference models with an evaluation of its strengths andweaknesses.