Relational Database Design Theory Informal guidelines for good - - PowerPoint PPT Presentation

relational database design theory
SMART_READER_LITE
LIVE PREVIEW

Relational Database Design Theory Informal guidelines for good - - PowerPoint PPT Presentation

Relational Database Design Theory Informal guidelines for good relational designs Functional dependencies Normal forms and normalization 1NF, 2NF, 3NF BCNF, 4NF, 5NF Inference rules on functional dependencies Additional


slide-1
SLIDE 1

Relational Database Design Theory

Informal guidelines for good relational designs Functional dependencies Normal forms and normalization

1NF, 2NF, 3NF

31

BCNF, 4NF, 5NF

Inference rules on functional dependencies Additional properties for relational decompositions

Nonadditive join property Dependency preservation property

slide-2
SLIDE 2

2NF, 3NF

2NF 3NF

32

slide-3
SLIDE 3

33

slide-4
SLIDE 4

34

slide-5
SLIDE 5

35

slide-6
SLIDE 6

Boyce'Codd Normal Form

BCNF Difference from 3NF:

3NF allows A to be a key attribute

36

3NF allows A to be a key attribute

Every relation in BCNF is also in 3NF Most relation schemas that are in 3NF are also in

BCNF but not all:

slide-7
SLIDE 7

37

slide-8
SLIDE 8

38

slide-9
SLIDE 9

1NF, 2NF, 3NF, BCNF

Test on any non' trivial XA Violations normalization 1NF Multi'valued attributes New relation for each multi'valued attributes 2NF a) X is a super key

  • r

b) X is not a key 1) partial key '> non'key attribute (partial FD) New relation for the partial key and its dependent attributes

39

b) X is not a key

  • r

c) A is a key attribute (partial FD) dependent attributes 3NF a) X is a super key

  • r

c) A is a key attribute 1) or 2) Non'key attribute '> non' key attribute (transitive FD) Above and New relation for the non'key attribute and its dependent attributes BCNF a) X is a super key 1) or 2) or 3) non'key '> key attribute Above and New relation for the non'key attribute and its dependent attributes

slide-10
SLIDE 10

Relational Database Design Theory

Informal guidelines for good relational designs Functional dependencies Normal forms and normalization

1NF, 2NF, 3NF

40

BCNF, 4NF, 5NF

Functional dependencies and keys Additional properties for relational decompositions

Nonadditive join property Dependency preservation property

slide-11
SLIDE 11

Keys and Functional Dependencies

No two distinct tuples in any state of can have the

same value for SK

Functional dependency: SK R

41

Superkey of R; and it is minimal (removing any attribute

from leaves a set of attributes that is not a superkey any more)

Functional dependency: K R, and for any A in K, K'

{A}R does not hold

Given a set of functional dependencies, can we find

the keys of R?

slide-12
SLIDE 12

Inference Rules for FDs

Armstrong’s inference rules (complete)

Reflexivity rule: if ⊆ then → Augmentation rule: if → then → Transitivity rule: if → and → then →

42

Transitivity rule: if → and → then →

Other rules

Decomposition Rule:

if → then: → and →

Union or Additive Rule:

if → and → then: →

Pseudfotransitive Rule:

if → and → then: →

slide-13
SLIDE 13

Inference Rules for FDs

Specify a set of FDs that can be easily determined

from attribute semantics

Infer additional FDs using inference rules The closure of a FD set F

43

The closure of a FD set F

the set of all FDs that include F as well as all FDs that

can be inferred from F

slide-14
SLIDE 14

Closure of attribute set

The closure of attribute set X under FD set F,

denoted as X+

The set of attributes that are functionally determined by

X based on F

44

How can we computationally find X+ How can we determine a set of attributes X is a

key?

slide-15
SLIDE 15
slide-16
SLIDE 16

Example

SSN+ Dnumber+

46

Dnumber+ {SSN, Dnumber}+ {SSN, Dnumber, Ename}+

slide-17
SLIDE 17

Example

SSN+ = {SSN, Ename, Bdate, Address, Dnumber, Dname,

Dmgr_ssn}

47

Dmgr_ssn}

Dnumber+ = {Dnumber, Dname, Dmgr_ssn} {SSN, Dnumber}+ = {SSN, Ename, Bdate, Address,

Dnumber, Dname, Dmgr_ssn}

{SSN, Dnumber, Ename}+ = {SSN, Ename, Bdate, Address,

Dnumber, Dname, Dmgr_ssn}

Which of these attribute sets are superkeys? Keys?

slide-18
SLIDE 18

Finding Keys based on Attribute Closure

If X+ = R, then X is a superkey If X+ = R, and (X'{A})+ != R, then X is a key How do we find all keys given a FD set F?

48

How do we find all keys given a FD set F? How do we find one key given a FD set F?

slide-19
SLIDE 19
slide-20
SLIDE 20

Example

Initialization

K = {SSN, Ename, Bdate, Address, Dnumber, Dname, Dmgr_ssn}

50

K = {SSN, Ename, Bdate, Address, Dnumber, Dname, Dmgr_ssn}

Decrease one attribute at a time

… K = {SSN, Dnumber}

slide-21
SLIDE 21

Relational Database Design Theory

Informal guidelines for good relational designs Functional dependencies Normal forms and normalization

1NF, 2NF, 3NF

51

BCNF, 4NF, 5NF

Functional dependencies and keys Additional properties for relational decompositions

Dependency preservation property

slide-22
SLIDE 22

Dependency Preservation Property

Informally, given a decomposition D of R and a FD

set F on R, each FD in F either appear directly in D

  • r could be inferred

Claim 1. it is always possible to find a dependency'

preserving decomposition D with respect to F such

52

preserving decomposition D with respect to F such that each relation Ri in D is in 3NF

slide-23
SLIDE 23

Non'additive Join Property

A decomposition D = {R1, R2, ..., Rm} of R has

the with respect to the set of FDs F on R if, for legal relation state r, the following holds, where * is the natural join of all the relations in D:

π π

53

* (π R1(r), ..., πRm(r)) = r

lossless for “loss of information”, i.e. “

How to test whether a decomposition satisfies the

lossless join property?

slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30

Successive Lossless Join Decomposition

  • If a decomposition D = {R1, R2, ..., Rm} of R has the

lossless (non'additive) join property with respect to F

60

and if a decomposition Di = {Q1, Q2, ..., Qk} of Ri has

the lossless (non'additive) join property with respect to the projection of F

then the decomposition D2 = {R1, R2, ..., Ri'1, Q1, Q2,

..., Qk, Ri+1, ..., Rm} of R has the non'additive join property with respect to F.

slide-31
SLIDE 31

Normalization with BCNF and Lossless Join Property

slide-32
SLIDE 32

In Practice

Relational design from ER model or existing

tables/reports

Normalization for 3NF or BCNF with lossless join

property

62

property

Sometimes normal forms are violated deliberately

to achieve better performance (less join operations)