Download presentation

Presentation is loading. Please wait.

Published byRosamond Parrish Modified over 6 years ago

1
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Basics of Functional Dependencies and Normalization for Relational Databases

2
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Introduction Levels at which we can discuss goodness of relation schemas Logical (or conceptual) level how users interpret the relation schemas and the meaning of their attributes Having good relation schemas at this level enables users to understand clearly the meaning of the data in the relations, and hence to formulate their queries correctly. Implementation (or physical storage) level how the tuples in a base relation are stored and updated Approaches to database design: Bottom-up: considers the basic relationships among individual attributes as the starting point and uses those to construct relation schemas. or top-down: starts with a number of groupings of attributes into relations that exist together naturally

3
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Informal Design Guidelines for Relation Schemas The implicit goals of the design activity are information preservation and minimum redundancy. Measures to determine the quality of relation schema design: Making sure attribute semantics are clear Reducing redundant information in tuples Reducing NULL values in tuples Disallowing possibility of generating spurious tuples

4
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Imparting Clear Semantics to Attributes in Relations Attributes belonging to one relation have certain real-world meaning and a proper interpretation associated with them. Semantics of a relation refers to its meaning resulting from interpretation of attribute values in a tuple Easier to explain semantics of relation Indicates better schema design

5
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

6
Continues…

7
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

8
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Guideline 1 Design relation schema so that it is easy to explain its meaning Do not combine attributes from multiple entity types and relationship types into a single relation Example of violating Guideline 1: Figure 15.3

9
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Redundant Information in Tuples and Update Anomalies One goal of schema design is to minimize the storage space used by the base relations Grouping attributes into relation schemas Significant effect on storage space Storing natural joins of base relations leads to update anomalies Types of update anomalies: Insertion Deletion Modification

10
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

11
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Guideline 2 Design base relation schemas so that no update anomalies are present in the relations If any anomalies are present: Note them clearly Make sure that the programs that update the database will operate correctly

12
Copyright © 2011 Ramez Elmasri and Shamkant Navathe NULL Values in Tuples May group many attributes together into a “fat” relation Can end up with many NULLs Problems with NULLs Wasted storage space Problems understanding meaning

13
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Guideline 3 Avoid placing attributes in a base relation whose values may frequently be NULL If NULLs are unavoidable: Make sure that they apply in exceptional cases only, not to a majority of tuples

14
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Generation of Spurious Tuples NATURAL JOIN: Result produces many more tuples than the original set of tuples Called spurious tuples Represent spurious information that is not valid

15
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Generation of Spurious Tuples

16
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

17
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Guideline 4 Design relation schemas to be joined with equality conditions on attributes that are appropriately related (primary key, foreign key) pairs in a way that guarantees that no spurious tuples are generated. Avoid relations that contain matching attributes that are not (foreign key, primary key) combinations

18
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Summary and Discussion of Design Guidelines Anomalies cause redundant work to be done during insertion into and modification of a relation, and that may cause accidental loss of information during a deletion from a relation Waste of storage space due to NULLs Difficulty of performing operations and joins due to NULL values Generation of invalid and spurious data during joins on base relations with matched attributes that may not represent a proper (foreign key, primary key) relationship

19
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Functional Dependencies Formal tool for analysis of relational schemas Enables us to detect and describe some of the above-mentioned problems in precise terms Theory of functional dependency

20
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Definition of Functional Dependency Let X and Y be two sets of attributes from the database Definition. A functional dependency, denoted by X → Y, between two sets of attributes X and Y that are subsets of relation schema R specifies a constraint on the possible tuples that can form a relation state r of relation schema R. The constraint is that, for any two tuples t1 and t2 in r that have t1[X] = t2[X], they must also have t1[Y] = t2[Y]. This means that the values of the Y component of a tuple in r depend on, or are determined by, the values of the X component; alternatively, the values of the X component of a tuple uniquely (or functionally) determine the values of the Y component. It is also say that there is a functional dependency from X to Y, or that Y is functionally dependent on X. The abbreviation for functional dependency is FD or f.d. The set of attributes X is called the left-hand side of the FD, and Y is called the right-hand side. A functional dependency is a property of semantics or meaning of the attributes Legal relation states The dependency as a constraint. Satisfy the functional dependency constraints

21
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Definition of Functional Dependency (cont’d.) A functional dependency is a property of the relation schema R, not of a particular legal relation state r of R. Given a populated relation Cannot determine which FDs hold and which do not unless meaning of and relationships among attributes known Can state that FD does not hold if there are tuples that show violation of such an FD

22
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Definition of Functional Dependency (cont’d.) A diagrammatic notation for displaying FDs: Each FD is displayed as a horizontal line. The left-hand-side attributes of the FD are connected by vertical lines to the line representing the FD, while the right-hand-side attributes are connected by the lines with arrows pointing toward the attributes.

23
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Normal Forms Based on Primary Keys Approaches for relational schema design Perform a conceptual schema design using a conceptual model then map conceptual design into a set of relations Design relations based on external knowledge derived from existing implementation of files or forms or reports

24
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Normalization of Relations Definition. The normal form of a relation refers to the highest normal form condition that it meets, and hence indicates the degree to which it has been normalized. The first, second, third normal forms are based on a single analytical tool: the functional dependencies among the attributes of a relation. The fourth normal form (4NF) and a fifth normal form (5NF) were proposed, based on the concepts of multivalued dependencies and join dependencies, respectively. Normalization process: Takes a relation schema through a series of tests Certify whether it satisfies a certain normal form Proceeds in a top-down fashion Normalization of data can be considered a process of analyzing the given relation schemas based on their FDs and primary keys to achieve the desirable properties of (1) minimizing redundancy and (2) minimizing the insertion, deletion, and update anomalies

25
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Normalization of Relations (cont’d.) The normalization procedure provides database designers with the following: A formal framework for analyzing relation schemas based on their keys and on the functional dependencies among their attributes A series of normal form tests that can be carried out on individual relation schemas so that the relational database can be normalized to any desired degree. Unsatisfactory relation schemas fail the normal form tests are decomposed into smaller relation schemas that meet the tests and hence possess the desirable properties. The process of normalization through decomposition should have: Nonadditive join property, which guarantees that the spurious tuple generation problem does not occur with respect to the relation schemas created after decomposition Extremely critical Dependency preservation property, which ensures that each functional dependency is represented in some individual relation resulting after decomposition. Desirable but sometimes sacrificed for other factors

26
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Practical Use of Normal Forms Normalization carried out in practice Resulting designs are of high quality and meet the desirable properties stated previously Pays particular attention to normalization only up to 3NF, BCNF, or at most 4NF Do not need to normalize to the highest possible normal form Definition. Denormalization is the process of storing the join of higher normal form relations as a base relation, which is in a lower normal form.

27
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Definitions of Keys and Attributes Participating in Keys Definition of superkey and key Definition. A superkey of a relation schema R = {A1, A2,..., An} is a set of attributes S ⊆ R with the property that no two tuples t1 and t2 in any legal relation state r of R will have t1[S] = t2[S]. A key K is a superkey with the additional property that removal of any attribute from K will cause K not to be a superkey any more. Candidate key If more than one key in a relation schema One is primary key Others are secondary keys Definition. An attribute of relation schema R is called a prime attribute of R if it is a member of some candidate key of R. An attribute is called nonprime if it is not a prime attribute—that is, if it is not a member of any candidate key.

28
Copyright © 2011 Ramez Elmasri and Shamkant Navathe First Normal Form First normal form (1NF): the domain of an attribute must include only atomic (simple, indivisible) values and that the value of any attribute in a tuple must be a single value from the domain of that attribute. Part of the formal definition of a relation in the basic (flat) relational model Techniques to achieve first normal form Remove attribute and place in separate relation Expand the key Use several atomic attributes If a maximum number of values is known for the attribute

29
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

30
First Normal Form (cont’d.) First normal form also disallows multivalued attributes that are themselves composite. nested relations: Each tuple can have a relation within it To change to 1NF: Remove nested relation attributes into a new relation Propagate the primary key into it Unnest relation into a set of 1NF relations

31
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

32
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Second Normal Form Second normal form (2NF) is based on concept of full functional dependency A functional dependency X → Y is a full functional dependency if removal of any attribute A from X means that the dependency does not hold any more; that is, for any attribute A ε X, (X – {A}) does not functionally determine Y. A functional dependency X → Y is a partial dependency if some attribute A ε X can be removed from X and the dependency still holds; that is, for some A ε X, (X – {A}) → Y. Definition. A relation schema R is in 2NF if every nonprime attribute A in R is fully functionally dependent on the primary key of R. The test for 2NF involves testing for functional dependencies whose left-hand side attributes are part of the primary key. If the primary key contains a single attribute, the test need not be applied at all. Second normalize into a number of 2NF relations in which nonprime attributes are associated only with primary key on which they are fully functionally dependent

33
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

34
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Third Normal Form Third normal form (3NF) is based on concept of transitive dependency A functional dependency X → Y in a relation schema R is a transitive dependency if there exists a set of attributes Z in R that is neither a candidate key nor a subset of any key of R, and both X → Z and Z → Y hold. Definition. According to Codd’s original definition, a relation schema R is in 3NF if it satisfies 2NF and no nonprime attribute of R is transitively dependent on the primary key. Problematic FD Left-hand side is part of primary key Left-hand side is a nonkey attribute 2NF and 3NF normalization remove these problem FDs by decomposing the original relation into new relations.

35
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

36
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

37
General Definitions of Second and Third Normal Forms Prime attribute Part of any candidate key will be considered as prime Consider partial, full functional, and transitive dependencies with respect to all candidate keys of a relation

38
Copyright © 2011 Ramez Elmasri and Shamkant Navathe General Definition of Second Normal Form Definition. A relation schema R is in second normal form (2NF) if every non-prime attribute A in R is not partially dependent on any key of R. The test for 2NF involves testing for functional dependencies whose left-hand side attributes are part of the primary key.

39
Copyright © 2011 Ramez Elmasri and Shamkant Navathe General Definition of Second Normal Form

40
Copyright © 2011 Ramez Elmasri and Shamkant Navathe General Definition of Third Normal Form Definition. A relation schema R is in third normal form (3NF) if, whenever a nontrivial functional dependency X → A holds in R, either (a) X is a superkey of R, or (b) A is a prime attribute of R. A functional dependency X → Y is trivial if Y, the right hand side of the fd, is a subset of X. This can occur due to two types of problematic functional dependencies: A nonprime attribute determines another nonprime attribute. Here we typically have a transitive dependency that violates 3NF. A proper subset of a key of R functionally determines a nonprime attribute. Here we have a partial dependency that violates 3NF (and also 2NF). Alternative Definition. A relation schema R is in 3NF if every nonprime attribute of R meets both of the following conditions: It is fully functionally dependent on every key of R. It is nontransitively dependent on every key of R.

41
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

42
Boyce-Codd Normal Form Definition. A relation schema R is in BCNF if whenever a nontrivial functional dependency X → A holds in R, then X is a superkey of R. Every relation in BCNF is also in 3NF Relation in 3NF is not necessarily in BCNF Difference: Condition which allows A to be prime is absent from BCNF Most relation schemas that are in 3NF are also in BCNF

43
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

45
Multivalued Dependency and Fourth Normal Form Multivalued dependency (MVD) Consequence of first normal form (1NF) Definition. A multivalued dependency X →→ Y specified on relation schema R, where X and Y are both subsets of R, specifies the following constraint on any relation state r of R: If two tuples t1 and t2 exist in r such that t1[X] = t2[X], then two tuples t3 and t4 should also exist in r with the following properties, where we use Z to denote (R – (X ∪ Y)): t3[X] = t4[X] = t1[X] = t2[X]. t3[Y] = t1[Y] and t4[Y] = t2[Y]. t3[Z] = t2[Z] and t4[Z] = t1[Z]. Whenever X →→ Y holds, we say that X multidetermines Y. Because of the symmetry in the definition, whenever X →→ Y holds in R, so does X →→ Z. An MVD X →→ Y in R is called a trivial MVD if(a) Y is a subset of X, or (b) X ∪ Y = R. Otherwise, it is called a nontrivial MVD

46
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Multivalued Dependency and Fourth Normal Form (cont’d.) Relations containing nontrivial MVDs tend to be all-key relations— that is, their key is all their attributes taken together. Definition. A relation schema R is in 4NF with respect to a set of dependencies F (that includes functional dependencies and multivalued dependencies) if, for every nontrivial multivalued dependency X →→ Y in F +. X is a superkey for R. F + refers to all dependencies that are implied by F Fourth normal form (4NF) violated when a relation has undesirable multivalued dependencies An all-key relation is always in BCNF since it has no FDs. An all-key relation which has no FDs, but has the MVD, is not in 4NF. A relation that is not in 4NF due to a nontrivial MVD must be decomposed to convert it into a set of relations in 4NF. The decomposition removes the redundancy caused by the MVD.

47
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

48
Join Dependencies and Fifth Normal Form Definition. A join dependency(JD), denoted by JD(R1, R2,..., Rn), specified on relation schema R, specifies a constraint on the states r of R. The constraint states that every legal state r of R should have a nonadditive join decomposition into R1, R2,..., Rn. Hence, for every such r we have ∗ (πR1(r), πR2(r),..., πRn(r)) = r Notice that an MVD is a special case of a JD where n = 2. That is, a JD denoted as JD(R1, R2) implies an MVD (R1 ∩ R2) →→ (R1 – R2) (or, by symmetry, (R1 ∩ R2) →→(R2 – R1)). A join dependency JD(R1, R2,..., Rn), specified on relation schema R, is a trivial JD if one of the relation schemas Ri in JD(R1, R2,..., Rn) is equal to R. Such a dependency is called trivial because it has the nonadditive join property for any relation state r of R and thus does not specify any constraint on R.

49
Copyright © 2011 Ramez Elmasri and Shamkant Navathe Join Dependencies and Fifth Normal Form Definition. A relation schema R is in fifth normal form (5NF) (or project-join normal form (PJNF)) with respect to a set F of functional, multivalued, and join dependencies if, for every nontrivial join dependency JD(R1, R2,..., Rn) in F + (that is, implied by F),every Ri is a superkey of R. Multiway decomposition into fifth normal form (5NF) Very peculiar semantic constraint Normalization into 5NF is very rarely done in practice

50
Copyright © 2011 Ramez Elmasri and Shamkant Navathe

Similar presentations

© 2021 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google