G.Mc
G.Mc

Reputation: 21

Database design by synthesis

What is Database Design by synthesis. Is it simply the process of generating the minimal cover set from a set of functional dependancies or is there more to it than that? Its a topic thats really confusing me and help would be appreciated. If you can provide an example please do.

Upvotes: 1

Views: 265

Answers (1)

James K. Lowden
James K. Lowden

Reputation: 7837

I suspect you'll have difficulty getting a good answer unless you read old papers or outdated textbooks on the subject.

In the 1980s, When relational theory was young and academically interesting, there was hope that database design could be automated through the use of a higher-level language to describe functional dependencies. Design by synthesis is an idea in that vicinity.

The thing is that it's a kind of snake-eating-its-tail problem: the difficulty in database design ("normalization") lies in discovering the functional dependencies, not in representing them in an E/R diagram or SQL. The problem is compounded by physical design considerations (performance, but also permissions) that would likely be inexpressible in such a language.

Any "normalization algorithm" presupposes as input something that never exists: a description of known functional dependencies. If such a description did exist, it could verify they were consistent and it could minimize them. But it doesn't, and anyone qualified to create one will naturally (almost unconsciously) verify and minimize them while expressing them in SQL.

Yes, if the FDs were completely and correctly described, the stumbling, iterative process of database design could be automated. Also, if pigs had wings.

Contradictions and redundant dependencies tend to emerge during the design process because nothing can discover them a priori. Any verification tool for them is thus subject to that oldest of computing truisms: garbage in, garbage out.

Upvotes: 3

Related Questions