Conceptual Schema Optimisation – Database Optimisation before sliding down the Waterfall
In this article we discuss an approach to database optimisation in which a conceptual schema is optimised by applying a sequence of transformations. By performing these optimisations on the conceptual schema, a large part of the database optimisation can be done before actually sliding down the software development waterfall. When optimising schemas, one would like to preserve some level of equivalence between the schemas before and after a transformation. We distinguish between two classes of equivalence, one based on the mathematical semantics of the conceptual schemas, and one on conceptual preference by humans. As a medium for the schema transformations we use the universe of all (correct) conceptual schemas. A schema transformation process can then be seen as a journey (a schema-time worm) within this universe. The underlying theory is conveyed intuitively with sample transformations, and formalised within the framework of Object-Role Modelling. A metalanguage is introduced for the specification of transformations, and more importantly their semantics. While the discussion focusses on the data perspective, the approach has a high level of generality and is extensible to process and behaviour perspectives.
READ FULL TEXT