Multifunctional Dependencies PDF
Multifunctional Dependencies PDF
Decompositions
Definition
The decomposition of a schema R=A1…An is its replacement by a collection
DR = {R1, R2, …, Rm} of subsets of R such that R = R1 R2 … Rm
Note: schemas Ri‟s do not have to be disjoint!
Example 1
Assume the schema R=ABCD. The following are possible decompositions
of R.
D1 = {AB, CD}
D2 = {AB, ACD}
D3 = {A, BCD}
D4 = {AB, BC, CD, AD}
1
Dependency Preservation Property of a Decomposition
Observations
• It would be useful if each functional dependency X→Y specified in F either
appeared directly in one of the relation schemas Ri in the decomposition or
could be inferred from the dependencies that appear in some Ri.
Definition
Given a set of dependencies F on R, the projection of F on Ri, denoted by
Ri(F) where Ri is a subset of R, is the set of dependencies X → Y in F+ such
that the attributes in X Y are all contained in Ri.
2
Dependency Preservation Property of a Decomposition
Claim
It is always possible to find a dependency-preserving decomposition D
with respect to F such that each relation is in 3NF (to be discussed later).
Example 2a
Assume R= ABCD, and F= {A→B, C → D}. The decomposition
D1 = {AB, CD} is clearly F-preserving. Observe the first rule is kept in R1,
while the second is preserved in R2. Also notice that schemas AB and CD
are in 3NF format.
A B C D F= {A→B, C → D}
A B C D
F1= {A→B} F2= {C → D}
Example 2b
Assume R= ABCD, and F= {A→B, B →C, C → D}. Evaluate the
decomposition D = {ABC, CD}.
F2 = CD(F)= {C→D}
and F = F1 F2
3
Dependency Preservation Property of a Decomposition
Method: begin
Z = X;
while changes to Z occur do
for i =1 to m do
Z = Z [ ( Z ∩ Ri )+F ∩ Ri ];
if ( Z Y )
then return (true)
else return (false);
end;
4
Dependency Preservation Property of a Decomposition
Observation:
The rule D→A is preserved in the decomposition (R1, R2, R3)
Although not obvious it is clear that the following FDs are in F+
F + ⊇ { A→B, B→C, C→D, D→A, B →A, C →D, D →C }
Therefore
F1 = { A→B, B →A } on R1=(AB)
F2 = { B→C, C →B } on R2=(BC)
F3 = { C→D, D →C } on R3=(CD)
Finally
(F1 F2 F3)+ derives the FD D →A and consequently it is not lost.
Definition.
Formally, a decomposition D = {R1, R2, . . . , Rm} of R has the lossless
(nonadditive) join property with respect to the set of dependencies F on
R, if for every relation state r of R that satisfies F, the following holds,
where * is the NATURAL JOIN of all the relations in D:
*( R1(r) ,. . , Rm(r)) = r.
The word loss in lossless refers to loss of information, not to loss of tuples. If a decomposition
does not have the lossless join property, we may get additional spurious tuples
The nonadditive join property ensures that no spurious tuples result after the application of
PROJECT and JOIN operations.
5
Nonadditive Lossless-Join Decomposition
Example 3
Schema < R=ABC , F = { A→B }> and partition D2 = { AB, BC }
6
Nonadditive Lossless-Join Decomposition
Example 3 cont.
Schemas < R1= ABC, F1 = { A→BC, C →B } > and
< R2= BCD, F2 = { C →B, B →C, D →B }
Example 4
Consider the previous problem where R=ABC and F = { A→B }.
Let‟s assess the partition D1 = {AB, AC}. Here R1=AB and R2= AC
therefore R1 R2 = A
R1 – R2 = B
R2 – R1 = C
7
Testing Lossless-Join (or Non-Additive) Decomposition
Example 4 (continuation)
Consider the previous problem where R=ABC and F = { A→B }.
Let‟s now evaluate the partition D2 = {AB, BC}.
Here R1=AB and R2= BC
therefore R1 R2 = B
R1 – R2 = A
R2 – R1 = C
R1 R2 R1 – R2 R2 – R 1
1 = {AB, CD} AB CD No
2 = {BD, ACD} D B AC No
8
Successive (Non-Additive) Lossless-Join Decompositions
Claim.
If a decomposition D = {R1, R2, . . . , Rm} of R has the nonadditive
(lossless) join property with respect to a set of functional dependencies F
on R, and if a decomposition Di = {Q1, Q2, . . . , Qk} of Ri has the
nonadditive join property with respect to the projection of F on Ri, then the
decomposition
Note: Explanatory comments are given at the end of some of the steps. They follow the format: (* comment *)
1. Create an initial matrix S with one row i for each relation Ri in D, and
one column j for each attribute Aj in R.
2. Set S(i, j):= bij for all matrix entries.
(* each bij is a distinct symbol associated with indices (i, j) *)
3. For each row i representing relation schema Ri
{for each column j representing attribute Aj
{if (relation R, includes attribute Aj) then set S(i, j):= aj;};};
(* each aj is a distinct symbol associated with index (j)* )
4. Repeat the following loop until a complete loop execution results in no changes to S
{for each functional dependency X → Y in F
{for all rows in S that have the same symbols in the columns corresponding
to attributes in X
{make the symbols in each column that correspond to an attribute in
Y be the same in all these rows as follows:
If any of the rows has an a symbol for the column, set the other rows to that
same a symbol in the column.
If no a symbol exists for the attribute in any of the rows,
choose one of the b symbols that appears in one of the rows for the
attribute and set the other rows to that same b symbol in the column
;} ;} ; } ;
9
Algorithm 11.1. Testing for Nonadditive Join Property
Example 6
Consider the schema R=ABCD, subjected to FDs F= { A → B, B → C }, and the
Non-binary partition D1 = {ACD, AB, BC}.
Question Is D1 a Lossless decomposition?
10
Algorithm 11.1. Testing for Nonadditive Join Property
Example 8
Consider the schema R=ABCD, subjected to FDs F= {A→B, B → C }, and the
Non-binary partition D2 = {ABC, AD}.
Question Is D3 a Lossless decomposition? (Binary test indicates: Yes!)
11
Algorithm 11.1. Testing for Nonadditive Join Property
Example 9
Consider the schema R=ABCDE, subjected to FDs F= {A→C, B → C, C → D,
DE →C, CE →A}, and the Non-binary partition D4 = {AD, AB, BE, CDE, AE}.
Question Is D4 a Lossless decomposition?
12
Algorithm 11.1. Testing for Nonadditive Join Property
Example 9 continuation F= {A→C, B → C, C → D, DE →C, CE →A}
Algorithm 11.1.
Testing for Nonadditive
(Lossless) Join Property
Example 10
13
Prime, Non-Prime and Key Attributes
Key Attributes
A set X of attributes in the schema R is a key for R under the
dependencies F, if X→R and no proper subset Y of X (X Y) has
the same property.
Prime Attributes
An attribute A in a relation schema R is prime when it is part of any
candidate key of the relation.
Example 11
Consider the relation Schema R=ABCD and its set F of functional dependencies
F={A→BC, C→D, D→B)
Brute-force discovery of all the keys in R under F is a simple but exponential problem.
Steps
1. Find all rules derived from F having only ONE attribute on the left-hand side
A+ = ABCD = R (therefore A is a key)
B+ = B (not a key)
C+ = CDB (not a key)
D+= DB (not a key)
2. Find all rules derived from F having only TWO attribute on the left-hand side
AB+ = ABCD (a superkey)
AC+ = ABCD (a superkey)
AD+ = ABCD (a superkey)
BC+ = BCD (not a key)
BD+ = BD (not a key)
CD+ = CDB (not a key)
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide 11- 28
14
Prime, Non-Prime and Key Attributes
Example 11 continuation
3. Find all rules derived from F having only THREE attribute on the left-hand side
ABC+ = ABCD (a superkey)
ABD+ = ABCD (a superkey)
BCD+ = ABCD (a superkey)
4. Find all rules derived from F having only FOUR attribute on the left-hand side
ABCD+ = ABCD (a superkey)
Summary
Key: A
Prime: A
Non-Prime: BCD
AB→ CDEGH
BD → AC
DG → L
EG → L
IJ → K
JK → I
H → IJK
Candidate keys =
Non-prime =
PROBLEM
Write an program to find all the candidate keys of a database schema (R,F).
15
Algorithms for Relational Database Design
16
11.2.2 Nonadditive Join Decomposition into 3NF Schemas
Example 13.A.
Consider the TEACH relation below.
17
11.2.2 Non-Additive Decomposition into 3NF Schemas
A. 3NF Decomposition Method – Example 11 continuation
18
11.2.2 Non-Additive Decomposition into 3NF Schemas
A. 3NF Decomposition Method – Example 11 continuation
19
11.2.2 Non-Additive Decomposition into 3NF Schemas
A. Shortcomings of 3NF Decomposition
1. Time consuming - testing if an attribute is prime is an NP operation.
2. It may produce too many tables (more than we need for 3NF).
Example 13
Assume the relation scheme R=(ABCDE) obeys the following set of FDs
F= { AB→CDE, AC→BDE, B → C, C → B, C → D, B → E }
Example 14
Consider the relation scheme R= {ABCDE} subject to the following functional
dependencies F = { A→BCDE, CD → E, CE → B }
STEP 1
R={ABCDE} Key={ A } Violation: A → CD, CD → E
Break R into the following 3NF tables
The decomposition D is lossless but the rule CE → B is not retained in the two
fragments R1 and R2.
Notice that CE → B { (R1(F) R2(F) ) + }
20
11.2.2 Non-Additive Decomposition into BCNF Schemas
Example
Let R= { ABCDE } and let F = { A →BC, BC →A, BCD →E, E →C}
Convert R into a BCNF scheme (if needed!).
Final solution:
Scheme D= { ABC, BDE, EC } is in BCNF (and it is lossless, prove it!)
Is the rule BCD →E preserved in D?
21
11.2.1 Dependency Preserving Decompositions into 3NF Schemas
Algorithm. 11.2.B. 3NF Synthesis with Dependency Preservation
3. Place any remaining attributes (that have not been placed in any
relation) in a single relation schema to ensure the attribute preservation
property.
Claim 3.
Every relation schema created by Algorithm 11.2.B is in 3NF.
Observation
• The 3NF-Synthesis algorithm creates a dependency-preserving
decomposition D = {R1, R2, . . . ,Rm} of a universal relation R based on
a set of functional dependencies F, such that each Ri in D is in 3NF.
• It guarantees only the dependency-preserving property; it does not
guarantee the nonadditive join property.
22
11.2.1 Dependency Preserving Decompositions into 3NF Schemas
B. 3NF Synthesis with Dependency Preservation
Emp-ssn, Esal, Ephone refer to the Social Security Number, salary and phone number
of the employee. Pno, Pname, and Plocation refer to the number, name, and location
of the project. Dno is department number.
Example 14 continuation
Comments
Observe the original key {Emp-Ssn, Pno} is broken by the partition of R.
The partition D={R1, R2} enforces the rules originally in F; however the
decomposition is not lossless [it is not true that R1∩R2 → (R1-R2) or (R2-R1)]
23
11.2.1 Dependency Preserving Decompositions into 3NF Schemas
B. 3NF Synthesis with Dependency Preservation
Example 15.
Consider r(ABCDEF) subject to the following FDs
F = { A→BCE, B → DE, ABD → CF. AC → DE )
Find a 3NF database for r under F.
24
Algorithm 11.4.(a) Finding a Key K for R Given a set F
of Functional Dependencies
Input:
A universal relation R and a set of functional dependencies F on attributes
of R.
Method:
1. Set K:= R.
This design achieves both the desirable properties of dependency preservation and
nonadditive join.
25
11.2.3 Dependency-Preserving and Nonadditive (Lossless) Join
Decomposition into 3NF Schemas
A minimum cover G is
{P → LC, LC → AP, A → C }.
In step 4 of the algorithm, we find that R3 and R1 are subsumed by R2. Hence both of
those relations are redundant. Thus the 3NF schema that achieves both of the desirable
properties
is (after removing redundant relations)
Slide 11- 52
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide 11- 52
26
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Introduction.
Functional Dependencies are not capable of representing all type of
associations between attributes.
B2 { A4 } 90 B1 A3 100
B3 { A1, A5 } 120 B2 A4 90
Equivalent 1NF
B3 A1 120 relation
NFNF 1:many Book : Author
B3 A5 120
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide
Slide 11-
11- 53
53
Example 19.
• Multiple independent 1:many relationships in the same table.
• Observe that ProjectName and DependentName are independent.
27
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Definition
A multivalued dependency XY 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
Example 20.a
Consider the tuples t1, t2, t3, and t4 shown below. Observe that
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]
28
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Observation
A multivalued dependency (or MVD) XY specifies that given a particular value
of X, the set of values of Y determined by this value of X is completely
determined by X alone and does not depend on the values of the remaining
attributes Z of R.
Definition
An MVD X Y in R is called a trivial MVD if
(a) Y is a subset of X, or
(b) X Y = R.
Observation
If we have a nontrivial MVD in a relation, we may have to repeat values
redundantly in the tuples (which is unwanted!).
Example 20.b
The Employee-Family-Project table shown before in Example 20.a holds the MVDs
Ename Pname DependentName
Ename Pname
Smith Proj-X Johnny
Ename DependentName
Smith Proj-Y Anna
Smith Proj-X Anna
Smith Proj-Y Johnny
29
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Note: IR9 and IR10 are derived from IR1-IR8. See D. Maier Chp 7 pp 129
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide
Slide 11-
11- 59
59
A D E
r1 A B C r2 a1 d1 e1
a1 b1 c1 a2 d3 e3
a2 b3 c3 a2 d3 e4
a2 d4 e3
a3 b4 c4
a2 d4 e4
a3 b5 c5 a3 d5 e5 1. In this example A BC
a3 d5 e6 is valid.
a3 d6 e5
a3 d6 e6 2. Your turn
try BC CD
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide
Slide 11-
11- 60
60
30
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
r A B C D E
How to know if a given m.v.d. a1 b1 c1 d1 e1
holds in a relation r ? a2 b3 c3 d3 e3
a2 b3 c3 d4 e4
a2 b3 c3 d3 e4
Testing validity of BC CD a2 b3 c3 d4 e3
a3 b4 c4 d5 e5
Method a3 b4 c4 d5 e6
a3 b4 c4 d6 e5
1. Decompose r into r1(BCD) and r2(ABDE) a3 b4 c4 d6 e6
2. Join r1 and r2 (call it r12) a3 b5 c5 d5 e5
3. Compare r with r12 a3 b5 c5 d5 e6
if both are equal the dependency holds. a3 b5 c5 d6 e5
a3 b5 c5 d6 e6
B C D A B D E
r1 a1 b1 d1 e1
b1 c1 d1 r2 a2 b3 d3 e3
b3 c3 d3 a2 b3 d3 e4
b3 c3 d4 a2 b3 d4 e3
b4 c4 d5 a2 b3 d4 e4
a3 b4 d5 e5
b4 c4 d6
a3 b4 d5 e6
b5 c5 d5 a3 b4 d6 e5 In this example BC BD
b5 c5 d6 a3 b4 d6 e6 is valid.
a3 b5 d5 e5
a3 b5 d5 e6
a3 b5 d6 e5
a3 b5 d6 e6
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide
Slide 11-
11- 61
61
31
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Question
Does AD BE ?
32
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Question
Does AC BEI ?
Question
Does AC B ?
33
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Example
Assume S = {ABC, BCD, AD } then mdsb(S) = { A, BC, D }
Observe that ABC = A + BC
BCD = BC + D
AD = A + D
Method:
1. Let T be the set of sets Z X such that for some WY in M, we have WX,
and Z is either (Y – X) or ( R – X – Y )
2. Until T consists of a disjoint collection of sets, find a pair of sets Z1 and Z2 in T
that are not disjoint and replace them by sets (Z1 - Z2), (Z2 – Z1) and (Z1 Z2).
Let S be the final collection of sets.
3. Until no more changes can be made to S, look for dependencies VW in M and
a set Y in S such that Y intersects W but not V. Replace Y by the sets ( Y W)
and ( Y – W ) in S.
4. The final collection of sets in S is the dependency basis for X.
34
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Intuition
Assume we are computing DEP(AC) for schema R under M(Functional and
Multivalued ). STEP1 begins with the application of reflexivity AC AC and
complementation AC R-AC. Therefore the initial set TAC includes {A, R-A}.
Exploring rules in M of the form AC X1, A X2 and C X3 brings to TAC
other attributes directly implied by AC. Observe that by augmentation if A X2
then AC X2, similarly if C X3 by augmentation AC X3. Therefore fragments
X1, X2, X3 (and their complements) must also be added to TAC.
If no more elements can be included to TAB a fine fragmentation of the existing TAB
components should follow to produce its mdsb(TAC) (called SAC in the algorithm).
In the final step, we try one more refinement of the elements Y in SAC = msdb(TAC).
The Coalescence axiom (IR8) states that if there is a dependency VW in M and a
set Y in SAC such that Y intersects W but not V then AC W. Therefore the set Y
could be replaced by the finer sets ( Y W) and ( Y – W ) in SAC.
The final collection of sets in SAC is the dependency basis DEP(AC).
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide
Slide 11-
11- 69
69
Claim
To test whether a MVD X Y holds in F, it suffices to determine DEP(X)
and see whether (Y - X) is the union of some sets in DEP(X).
Example 22A
Let F={A BC, DE C} be a set of MVDs over ABCDE.
Compute DEP(A)
To compute it we begin with TA = {A, BCDE} (A A, A BCDE).
Step 1 allows us to use A BC (given) and introduce BC in TA.
Observe that A DE (by use of complementation), therefore DE is also
added to TA = {A, BCDE, BC, DE}.
Refining this set produces SA = {A, BC, DE}.
Using Step3 of the method we find rule DE C and element BC intersects
the RHS; however BC does not share common attributes with DE (the LHS).
Consequently we replace BC with (BC C) and (BC – C).
Hence DEP(A)={A, B, C, DE}
35
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Significance
Attribute A multi-determines any union of elements in DEP(A), for
example
AA A BC
AB ADE
AC ACDE
ABCDE
ABDE
36
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Example 22B
Let F = { AEI, C AB } be a set of MVDs over ABCDEI.
Find DEP(AC). See problems 21B and 21C
DEP(AC) = { A, B, C, D, EI }
Why?
Let us compute the dependency basis of AC.
We begin with a set TAC consisting of {AC, BDEI}. Then we look for MVDs
whose LHS is in AD, such as A EI, A BCD, CAB, C DEI.
Therefore TAC = { AC, BDEI, EI, BCD, AB, DEI }
Refining of this set produces SAC = {A, B, C, D, EI }.
In problem 21B we were asked to show that AC BEI. Observe that B and EI
are elements in DEP(AC) therefore ACBEI, similarly AC B (see problem
21C) .
C HR C SG
C →T HT →R
HR →C CS →G
HS →R
Also observe that the MVD C R is invalid (Room and Hour are depend on each other)
Other example is DEP(HR) = {HR, TSG} from here we conclude it is not true that HR SG
37
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
R1 ∩ R2 (R1 – R2) or
R1 ∩ R2 (R2 – R1)
Example:
The relation Book(Book#, Author, Price) with multivalued dependencies
F= { Book# Author, Book# → Price } has a lossless decomposition in
R1 = (Book#, Author)
R2 = (Book#, Price)
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.
Observation.
In the previous definition the determination of superkey values is solely
based on functional dependencies in F.
38
11.3 Multivalued Dependencies and Fourth Normal Form (4NF)
Method
1. Set D:= { R }
2. While there is a relation schema Q in D that is not in 4NF, do
{ choose a relation schema Q in D that is not in 4NF;
find a nontrivial MVD X Y in Q that violates 4NF;
replace Q in D by two relation schemas (Q - Y) and (XY);
}
Example 23.
Consider the previous example where R= {CTHRSG} and the
dependencies are F = { C HR, C SG, C → T }.
39
11.4 Join Dependencies and Fifth Normal Form (5NF)
Definition
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.
Observation
Fifth normal form deals with cases where information can be reconstructed from
smaller pieces of information that can be maintained with less redundancy. The
big difficulty of reaching 5NF is that all possible decompositions of R must
support the lossless join property.
Note: Discovering JDs in practical databases with hundreds of attributes is next to impossible.
Therefore, the current practice of database design pays little attention to them.
40
11.4 Join Dependencies and Fifth Normal Form (5NF)
Example 24. Fifth Normal Form (5NF) or Projection-Join NF (PJNF)
Observation
Inclusion dependencies were defined in order to formalize two types of
inter- relational constraints that cannot be represented with FD/MVD/JDs:
• Foreign key (or referential integrity) relates attributes across relations.
• Inheritance represent a class/subclass relationship.
Definition.
An inclusion dependency R.X < S.Y between two sets of attributes-X of
relation schema R, and Y of relation schema S-specifies the constraint that,
at any specific time when r is a relation state of R and s a relation state of S,
we must have
X(s(S)) Y(r(R))
41
11. 5 Inclusion Dependencies
Example 25
we can specify the following (referential
Integrity type) inclusion dependencies
on the relational schema in Figure 10.1
Example 26
we can specify the following (inheritance type) inclusion dependencies on the
relational schema in Figure 7.1
42
11. 5 Inclusion Dependencies
Definition
As with other types of dependencies, there are inclusion dependency inference rules
(IDIRs). The following are three examples:
IDIR2 (attribute correspondence): If R.X < S.Y, where X = {A1, A2, . . . ,An}
and Y = {B1, B2, . . . , Bn} and Ai Corresponds to Bi
then R.Ai < S.Bi for 1i n.
IDIR3 (transitivity): If R.X < S.Y and S.Y < T.Z, then R.X < T.Z.
The preceding inference rules were shown to be sound and complete for inclusion
dependencies. So far, no normal forms have been developed based on inclusion
dependencies.
Rationale
Template dependencies provide a technique for representing constraints in relations
that typically have no easy and formal definitions.
• The other part of the template is the template-conclusion. the conclusion is a set
of tuples that must also exist in the relations if the hypothesis tuples are there.
43
11. 6 Template Dependencies
44
11. 6 Template Dependencies
Sometimes the attributes in a relation may be related via some arithmetic function
or a more complicated functional relationship. As long as a unique value of Y is
associated with every X, we can still consider that the FD X →Y exists. For
example, in the relation
ORDER-LINE (Order#, Item#, Quantity, Unit-price, Extended-price, Discounted-price)
In this relation,
(Quantity, Unit-price ) → Extended-price
by the formula
Extended-price = Unit-price * Quantity.
Although the above kinds of FDs are technically present in most relations, they are
not given particular attention during normalization.
References
David Maier, "The Theory of Relational Databases", Comp. Sc. Press, 1983.
William Kent, "A Simple Guide to Five Normal Forms in Relational Database Theory",
Communications of the ACM 26(2), Feb. 1983
Questions ?
45