Dr. Paul Dorsey
Dulcian, Inc.
Dulcian’s Business Rules Information Manager (BRIM®) tool can be used for the design and generation of data warehouse tables and views. Because of its UML class diagram-based method for articulation of structural business rules, it can effectively be used to design and build data warehouse tables and views in a way that is much more convenient than using ERDs.
BRIM® includes functionality that is relevant for data warehouse projects.
· BRIM™ explicitly supports any number of multi-level reference tables as domains. Derived attribute specifications are generated into the views.
· BRIM’s implementation of generalization which involves redundant storage of attribute values along the inheritance path is well suited to warehouse construction since it will decrease the number of joins necessary for warehouse queries.
In general, the entire BRIM design structure will create a warehouse more easily and with better performance than using traditional methods.
Population of the data warehouse can be accomplished using any standard Extraction Transfer Load (ETL) tool or other tools or techniques such as SQL Loader or hand-coded routines. A BRIM®-generated data warehouse includes no proprietary elements. It consists solely of standard Oracle constructs (tables, views, procedures, triggers) that require no explicit knowledge of BRIM® in order to interact with them.
BRIM™ does have an associated ETL tool that works exclusively within the Oracle environment. If the data warehouse population comes from Oracle sources only, or you are willing to move data through an Oracle staging area, BRIM’s ETL structure can be used. However, even if disparate data sources are involved, BRIM® can still be used as a complete metadata repository to store the various data sources and track the way in which the data maps into the data warehouse.
It is then a simple matter to modify the generators to support ETL functions from non-Oracle data sources.
One of the most interesting uses of BRIM® in a warehouse environment is rapid identification of objects and bulk processing against these elements. The idea is to couple BRIM’s specification of derived attributes capability with its process flow engine. This allows a routine to be specified in BRIM® which searches for all objects satisfying a large number of complex criteria and performs some type of operation on these objects.
BRIM’s state-based approach makes specification of very complex criteria simple and easy for users to maintain. For example, in the simplified BRIM® process flow for a medical system shown in Figure 1, individuals can be identified by gender and age. Females are additionally flagged as currently pregnant or not. BRIM® can execute processing not only on identified states, but also on transitions.

Figure 1: Sample BRIM® Process Flow
This simplified diagram would allow operations on any of the following groups:
All necessary code is generated directly from the BRIM® repository. No additional hand coding is necessary.