It is very important that building a business rules engine not make it easier to
create these problems. If a new business rule calculates some information that needs
to be stored in a new database column, then a new column should be created for this
data. Admittedly, this will not prevent users from trying to use existing columns to
store something different. However, as we shall see, it is possible to a large extent to
design a rules engine that can detect the reuse of columns for different business rules
and prevent it from happening. Perhaps more important is implementing a design
that encourages the development of a mindset among users of the application that
database columns are specific items of information. Everything should be done to dis- ...