  We present a new approach to the logical design of relational databases,
based on strategic port graph rewriting. We show how to model relational
schemata as attributed port graphs and provide port graph rewriting rules to
perform computations on functional dependencies. Using these rules we present a
strategic graph program to find the transitive closure of a set of functional
dependencies. This program is sound, complete and terminating, assuming that
there are no cyclical dependencies in the schema.
