Steps in Normalization

Peter Kitson

ISBN : -

Order a printed copy of this book from Amazon --UNAVAILABLE--


Cover Design - Steps in Normalization
 

For your free electronic copy of this book please verify the numbers below. 

(We need to do this to make sure you're a person and not a malicious script)

Numbers

 




Sample Chapter From Steps in Normalization
     Copyright © R. E. Wyllys



Section 3. Functional Dependency and Determinants

Before we develop the ideas of normalization further, it is important for you to have an understanding of 'functional dependency.' The essence of this idea is that if the existence of something, call it A, implies that B must exist and have a certain value, then we say that 'B is functionally dependent on A.' We also often express this idea by saying that 'A determines B,' or that 'B is a function of A,' or that 'A functionally governs B.' Often, the notions of functionality and functional dependency are expressed briefly by the statement, 'If A, then B.' It is important to note that the value B must be unique for a given value of A, i.e., any given value of A must imply just one and only one value of B, in order for the relationship to qualify for the name 'function.' (However, this does not necessarily prevent different values of A from implying the same value of B.)

For the terminology of relational databases, the word 'function' was borrowed from mathematics, where it is common to say things like 'y is a function of x' or 'y = f(x)'. (The latter expression is read 'y equals f of x'.) The determining value, x, is called the argument; the determined value, y or f(x), is called the result.

The expression 'y = f(x)' is a very general, and abstract, way of talking about functionality. Outside of mathematics--and, in particular, ordinarily in relational database management--we talk not abstractly but in terms of particular examples. (Indeed, the general idea of a 'function' is best understood when one has seen enough examples of specific functions to be able to start generalizing about the abstract, or general, properties that the specific functions share.)

Here are some examples of functions. An easy one is y = x2. This particular function says that if we are given a particular value for x, say 3, then we must say that y has the value 9. (We could also write y = f(x) = x2 or just f(x) = x2.) Another easy one is: y = x3. This particular function says that if we are given a particular value for x, say -2, then we must say that y has the value -8.

A common way of indicating functions is to place the determining and determined values side by side in a table. Thus we can place sample values of the function, y = x2, in a table like the one shown here.