[ACCEPTED]-Functional dependency and normalization-functional-dependencies
A functional dependency defines a functional 27 relationship between attributes. For example:
PersonId functionally 26 determines
BirthDate (normally written as
PersonId -> BirthDate). Another 25 way of saying this is: There is exactly 24 one Birth Date for any given instance of 23 a person. Note that the converse may or 22 may not be true. Many people may have been 21 born on the same day. Given a
BirthDate we may find 20 many
PersonId sharing that date.
Sets of functional 19 dependencies may be used to synthesize relations 18 (tables). The definition of the first 3 17 normal forms, including Boyce Codd Normal 16 Form (BCNF) is stated in terms of how a 15 given set of relations represent functional 14 dependencies. Fourth and fifth normal forms 13 involve Multi-Valued dependencies (another 12 kettle of fish).
Here are a few free resources 11 about Functional Dependencies, Normalization 10 and database design. Be prepared to exercise 9 your brain and math skills when studying 8 this material.
The following are "slide 7 shows" from various academic sites...
- Functional Dependencies
- Functional Dependencies and Normalization for Relational Databases
- The Relational Data Model: Functional-Dependency Theory
The 6 following are academic papers. Heavier reading 5 but well worth the effort.
- The Application of Functional Dependency Theory to Relational Databases
- A Simple Guide to Five Normal Forms in Relational Database
- Simple Conditions for Guaranteeing Higher Normal Forms in Relational Databases
If you are seriously 4 interested in this subject I suggest you 3 put out the cash for a good book on the 2 subject of Relational Database Design. For 1 example: An Introduction to Database Systems by C.J. Date
A functional dependency is a constraint 18 between columns of your table. For example 17 in the table person:
SSN | Name | Date of birth | Address | Phone number ------------------------------------------------------------------------ 123-98-1234 | Cindy Cry | 15-05-1983 | Los Angeles | 123-456-7891 121-45-6145 | John O'Neill | 30-01-1980 | Paris | 568-974-2562 658-78-2369 | John Lannoy | 30-01-1980 | Dallas | 963-258-7413
Here, the value in the 16 column SSN (Social Security Number) determines 15 the values in columns name, date of birth, address 14 and phone number. This means that if we 13 had two rows with the same value in the SSN column, then values in columns name, date 12 of birth, address and phone number would be equal. A person 11 with SSN 123-98-1234 is always called Cindy 10 Cry, is born on 15-05-1983, and so on. A 9 situation like this is called functional dependency.
The notion 8 of functional dependencies is used to define 7 second, and third normal form, and the Boyce-Codd 6 normal form (BCNF).
To read more about functional 5 dependencies and normalization you can go 4 to then well-known academic books like Introduction 3 to Databases by C.J. Date, or any of the 2 books by the H. Garcia-Molina, J.Ullman, J.Widom trio.
If you want a less formal approach, we're 1 starting a series of posts on data normalization on our company blog.
We can understand functional dependency 14 in a way that assume we have two attribute 13 and one attribute in totally dependent on 12 the other is called functional dependency.
Say 11 take a real life example. We know that 10 everybody has a social security number against 9 the name of the person . Say Frank is a 8 person and we want to know the social security 7 number of this person but database will 6 be unable to help out with this information 5 because there may be many persons named 4 frank but we can determine name of person 3 against social security number so name of 2 the person is totally functional dependent 1 on Social security number.
What is Functional Dependency?
Functional 13 Dependencies are fundamental to the process 12 of Normalization Functional Dependency describes 11 the relationship between attributes(columns) in 10 a table. In other words, a dependency FD: X 9 → Y means that the values of Y are determined 8 by the values of X. Two tuples sharing the 7 same values of X will necessarily have the 6 same values of Y.
What is Database Normalization?
Database 5 Normalization is a step wise formal process 4 that allows us to decompose Database Tables 3 in such a way that both Data Redundancy 2 and Update Anomalies(see above for more 1 info on update anomalies) are minimized.
A functional dependency isn't in any normal 5 form. Normal Form is a property of a relation 4 that satisfies some given set of FDs.
Don't 3 rely on Wikipedia or Google. There is too 2 much misinformation and rubbish from online 1 sources. Try:
Functional dependency can be defined as 14 relationship that exits between attributes 13 in relation. Functional dependencies are 12 used to create relation in Boyce Codd Normal 11 Form abbreviated as BCNF. If C and D are 10 the attributes of relation R and attribute 9 C functionally determines attributes D then 8 the functional dependency between both attribute 7 can be expressed as C->D.
Example : Below 6 the person schema
person(national_id, name, address);
Here 5 national_id functionally determines the 4 person_name. So functional dependency is 3 national_id -> name;
Functional dependency 2 is important in relational database design 1 for the purpose of eliminating redundancy.
More Related questions