# 5NF and other normal forms

## Presentation on theme: "5NF and other normal forms"— Presentation transcript:

5NF and other normal forms

Outline n-decomposability 3D constraint join dependency 5NF
non-5NF - update anomalies problems in bringing a relation to 5NF other normal forms

Always two projections?
so far every relation was non-loss decomposable into two projections is this always possible? n-decomposable relations

Courses - tutors - levels (CTL)

CTL - 2 attribute projections
CL

CTL - 3-decomposable the join of any two projections is not CTL; e.g:
join(CT, TL) Extra!

Constraint 3D Let R be a degree 3 relation. IF (a, b, x)  R
AND (a, y, c)  R AND (z, b, c)  R THEN (a, b, c)  R

Constraint 3D illustrated on the CTL relation
IF tutor t1 teaches subject s1 AND level l1 studies subject s1 AND tutor t1 teaches level l1 THEN tutor t1 teaches subject s1 for level l1 note: this constraint is not expressed in CTL

Constraint 3D and Join Dependency
4NF does not express the constraint 3D the constraint 3D is a facet of a more general constraint: join dependency

Join dependency Let R be a relation. Let A, B, ..., Z be arbitrary subsets of R’s attributes. R satisfies the JD  ( A, B, ..., Z ) if and only if R is equal to the join of its projections on A, B, ..., Z

5 NF R is in 5NF if and only if every join dependency in R is implied by the candidate keys of R 5NF is always achievable

Explanation a join dependency,  (A, B, …, Z), is implied by the candidate keys, K1, …, Km of R if the fact that K1, …, Km are candidate keys for R determine the fact that R has the JD  (A, B, …, Z)

Illustration - positive example
consider R (S_id, S_name, Status, City) with S_id and S_name candidate keys  ({S_id, S_name, Status}, {S_id, City}) is a JD because S_id is a candidate key in R  ({S_id, S_name}, {S_id, Status}, {S_name, City}) is a JD because S_id and S_name are both candidate keys in R

Illustration - negative example
consider CTL (Course, Tutor, Level) with (Course, Tutor, Level) - candidate key (and an extra constraint : constraint 3D) ({Course, Tutor}, {Course, Level}, {Tutor, Level}) is a JD, but this is not due to the CK, but to the constraint 3D if CTL had not had constraint 3D, would it have been in 5NF?

Not 5NF - update anomalies
CTL satisfies  ( {Course, Tutor}, {Tutor, Level}, {Course, Level} ) insert (Programming, M. Ursu, Level2) what else must be done?

Not 5NF - update anomalies
CTL satisfies the same JD as before delete (Databases, M. Ursu, Level2) what else must be done?

JDs and MVDs Fagin’s theorem restated
R ( A, B, C ) satisfies  ( AB, AC ) if and only if it satisfies the MVDs A B | C JD is the most general form of dependency (read as determination) possible between the attributes of a relation (in the relational model)

Activity Is 4NF subsumed by 5NF? Can you prove this using Fagin’s theorem and the definitions for 4 and 5 NF?

Problems in bringing a relation to 5NF
check whether all JDs are implied by the candidate keys Fagin : provides an algorithm for doing this for any relation, given all its JDs and all candidate keys discover all JDs for a given relation they do not have that intuitive meaning as FDs or MVDs

Concluding remarks 5NF is the ultimate normal form with respect to projection / join 5NF is guaranteed to be free of all anomalies that can be eliminated via projections determining whether a relation is in 4NF but not in 5NF is still fuzzy very rare in practice

Recap JD - a more general constraint than MD
a relation can be in 4NF and have un-expressed JDs this results in update anomalies such a relation can be decomposed (via projection) into an equivalent set of 5NF relations a relation is 5NF if all its JDs are deducible from its candidate keys for a relation in 4NF but not in 5NF, an unexpressed JD is a possible decomposition (towards 5NF)

Other normal forms FDs, MVDs or JDs are not used
domain-key normal form R is in DK/NF if and only if every constraint of R is a logical consequence of domain constraints and (candidate) key constraints restriction-union normal form decomposing operator: restriction abusing the language it can be said that: this normalisation theory is orthogonal on the “projection” normalisation theory