Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design

So far, the conceptual schema design procedure has focused on specifying the elementary fact types, both base and derived. The rest of the CSDP is concerned mostly with specifying constraints. Constraints apply to the database and are either static or dynamic. Static constraints apply to each individual state of the database and may usually be specified on a conceptual schema diagram, as discussed in CSDP steps 4 7. Examples include uniqueness, mandatory role, set comparison, value, subtyping, frequency, and ring constraints. Dynamic constraints restrict the possible transitions between states, are often expressed in other ways (e.g., statecharts), and are considered in step 7, along with other special constraints. In practice, we usually capture all the constraints relevant to the fact types being discussed before moving on to another part of the model.
This chapter discusses uniqueness constraints. These play a pivotal role when the conceptual schema is later mapped onto a relational schema. Once uniqueness constraints have been added to a fact type, some further checks are made to see whether the fact type is of the right arity or length. In particular, there is a simple check based on uniqueness that shows that certain kinds of fact types are not elementary and hence should be split.
Static constraints are often described as being constraints on the fact types . More accurately, static constraints apply to every possible...