04.06.2015 Views

Database Modeling and Design

Database Modeling and Design

Database Modeling and Design

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.3 Normalization of C<strong>and</strong>idate Tables Derived from ER Diagrams 119<br />

Table 6.1<br />

Primary FDs Derivable from ER Relationship Constructs<br />

Degree Connectivity Primary FD<br />

Binary or one-to-one 2 ways: key(one side) -> key(one side)<br />

Binary one-to-many key(many side) -> key(one side)<br />

Recursive many-to-many none (composite key from both sides)<br />

Ternary one-to-one-to-one 3 ways: key(one), key(one) -> key(one)<br />

one-to-one-to-many 2 ways: key(one), key(many) -><br />

key(one)<br />

one-to-many-to-many 1 way: key(many), key(many) -><br />

key(one)<br />

many-to-many-to-many<br />

none (composite key from all 3 sides)<br />

Generalization none none (secondary FD only)<br />

not include nonkey attributes used in secondary FDs, the data requirements<br />

specification or data dictionary must be consulted. Table 6.1 shows<br />

the types of primary FDs derivable from each type of ER construct.<br />

Each c<strong>and</strong>idate table will typically have several primary <strong>and</strong> secondary<br />

FDs uniquely associated with it that determine the current degree of<br />

normalization of the table. Any of the well-known techniques for<br />

increasing the degree of normalization can be applied to each table to<br />

the desired degree stated in the requirements specification. Integrity is<br />

maintained by requiring the normalized table schema to include all data<br />

dependencies existing in the c<strong>and</strong>idate table schema.<br />

Any table B that is subsumed by another table A can potentially be<br />

eliminated. Table B is subsumed by another table A when all the<br />

attributes in B are also contained in A, <strong>and</strong> all data dependencies in B<br />

also occur in A. As a trivial case, any table containing only a composite<br />

key <strong>and</strong> no nonkey attributes is automatically subsumed by any other<br />

table containing the same key attributes, because the composite key is<br />

the weakest form of data dependency. If, however, tables A <strong>and</strong> B represent<br />

the supertype <strong>and</strong> subtype cases, respectively, of entities defined by<br />

the generalization abstraction, <strong>and</strong> A subsumes B because B has no<br />

additional specific attributes, the designer must collect <strong>and</strong> analyze additional<br />

information to decide whether or not to eliminate B.<br />

A table can also be subsumed by the construction of a join of two<br />

other tables (a “join” table). When this occurs, the elimination of a sub-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!