The Relational Data Model

Why the Closure Algorithm Works

In this section, we shall show why the closure algorithm correctly decides whether or not a FD A1A2 . . . An → B follows from a given set of FDs S. There are two parts to the proof:

The Transitive Rule

The transitive rule lets us cascade two FD's. ● If A1A2 . . . An → B1B2 . . . Bm and B1B2 . . . Bm → C1C2 . . . Ck hold in relation R, then A1A2 . . . An → C1C2 . . . Ck also holds in R.

Closing Sets of Functional Dependencies

As we have seen, given a set of FD's, we can sometimes infer some other FD's, including both trivial and nontrivial FD's. We shall, in later sections, want to differentiate between given FD's that are stated initially for a relation and derived FD's that are inferred using one of the

Projecting Functional Dependencies

When we learn design of relation schemas, we shall also have need to answer the following question about FD's. Assume we have a relation R with some FD's F, and we "project" R by removing certain attributes from the schema. Consider S is the relation that results from R if we

Design of Relational Database Schemas / Anomalies

Careless selection of a relational database schema can lead to problems. For instance, Example (b) of "Combining Relations" showed what happens if we try to combine the relation for a many-many relationship with the relation for one of its entity sets. The major problem we

Decomposing Relations

The accepted way to remove these anomalies is to decompose relations. Decomposition of R involves splitting the attributes of R to make schemas of two new relations. Our decomposition rule also includes a way of populating those relations with tuples by "projecting" the tuples

Boyce-Codd Normal Form

The objective of decomposition is to replace a relation by several that do not exhibit anomalies. There is, it turns out, a simple condition under which the anomalies discussed above can be guaranteed not to exist. This condition is called Boyce-Codd

Decomposition into BCNF

By frequently selecting appropriate decompositions, we can break any relation schema into a collection of subsets of its attributes with the following important properties:

Recovering Information from a Decomposition

Let us now turn our attention to the question of why the decomposition algorithm of "Decomposition into BCNF" preserves the information that was included in the original relation. The idea is that if we follow this algorithm, then the projections of the original tuples can be "joined"

Third Normal Form

Sometimes, one encounters a relation schema and its FD's that are not in BCNF but that one doesn't want to decompose further. The following example is typical.

Page 3 of 4 Previous 1 2 3 4 Next