Normal

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Normal as PDF for free.

More details

  • Words: 1,225
  • Pages: 34
Normalization CIS 331: Introduction to Database Systems

Normalization: Reminder Why do we need to normalize? To avoid redundancy (less storage space needed, and data is consistent) To avoid update/delete anomalies

Vladimir Vacic, Temple University

2

Normalization: Reminder Ssn

c-id

123

Grade

Name

Address

cs331 A

smith

Main

123

cs351 B

smith

Main

123

cs211 A

smith

Main

Clearly, Name and Address are redundant (larger relation + you have to update 3 rows to update the Address) Vladimir Vacic, Temple University

3

Normalization: Reminder Ssn c-id Grade Name

Address

123 cs331A

smith Main









234 null null



jones Forbes

Insertion anomaly: Cannot make a record Jones’ address because he is not taking any classes Vladimir Vacic, Temple University

4

Normalization: Reminder Ssn

c-id

123

Grade

Name

Address

cs331 A

jones

123 Main

124

cs351 B

smith

124 Broad

125

cs211 A

shmoo

42 Penn

Delete anomaly: Cannot delete Shmoo’s enrolment without loosing his address as well Vladimir Vacic, Temple University

5

Normal Forms First Normal Form – 1NF Second Normal Form – 2NF Third Normal Form – 3NF Fourth Normal Form – 4NF Fifth Normal Form – 5NF (so far conveniently named) Boyce-Codd Normal Form – BCNF Vladimir Vacic, Temple University

6

First Normal Form (1NF) 1NF: all attributes are atomic (“no repeating groups”) Last Name

First Name

Not in 1NF

Smith

Peter Mary John Rumpelstiltskin Anne Michael Vladimir Vacic, Temple University

7

First Normal Form (1NF) Last Name

First Name

Smith Smith Smith Rumpelstiltskin Rumpelstiltskin

Peter Mary John Anne Michael

Vladimir Vacic, Temple University

Normalized to 1NF

8

First Normal Form (1NF) Name Michael

Weight 187 lb

Raphael

192 lb

Gabriel

201 lb

Uriel

165 lb

Metatron

195 kg

Vladimir Vacic, Temple University

Not in 1NF

9

First Normal Form (1NF) Name Michael

Weight 187

Unit lb

Raphael

192

lb

Gabriel

201

lb

Uriel

165

lb

Metatron

195

kg

Vladimir Vacic, Temple University

Normalized to 1NF

10

First Normal Form (1NF) Supplier S1 S2 S3

Part P1, P3, P4 P3 P2, P3

Vladimir Vacic, Temple University

Not in 1NF

11

First Normal Form (1NF) Is this relation in 1NF? Supplier S1 S2 S3

Part1 P1 P3 P2

Part2 P3 null P3

Part3 P4 null null

Formally yes, but in essence, NO! Vladimir Vacic, Temple University

12

First Normal Form (1NF) Supplier S1 S1 S1 S2 S3 S3

Part P1 P3 P4 P3 P2 P3

Vladimir Vacic, Temple University

Normalized to 1NF

13

Second Normal Form (2NF) 2NF: 1NF and all non-key attributes are fully dependent on the PK (“no partial dependencies”) Student

Course_ID

Grade

Address

Erik

CIS331

A

80 Ericsson Av.

Sven

CIS331

B

12 Olafson St.

Inge

CIS331

C

192 Odin Blvd.

Hildur

CIS362

A

212 Reykjavik St.

Vladimir Vacic, Temple University

Not in 2NF

14

Second Normal Form (2NF) Student

Address

Erik

80 Ericsson Av.

Sven

12 Olafson St.

Inge

192 Freya Blvd.

Hildur

212 Reykjavik St.

Student

Course_ID

Grade

Erik

CIS331

A

Sven

CIS331

B

Inge

CIS331

C

Hildur

CIS362

A

Vladimir Vacic, Temple University

Normalized to 2NF

15

Second Normal Form (2NF)

Student

Course_ID

Vladimir Vacic, Temple University

Address

Grade

16

Third Normal Form (3NF) 3NF: 2NF and no transitive dependencies

Student

Course_ID

Grade

Grade_value

Erik

CIS331

A

4.00

Sven

CIS331

B

3.00

Inge

CIS331

C

2.00

Hildur

CIS362

A

4.00

Vladimir Vacic, Temple University

Not in 3NF

17

Third Normal Form (3NF) Student

Course_ID

Grade

Grade Grade_value

Erik

CIS331

A

A

4.00

Sven

CIS331

B

B

3.00

Inge

CIS331

C

C

2.00

Hildur

CIS362

A

Normalized to 3NF

Vladimir Vacic, Temple University

18

Third Normal Form (3NF)

Student

Value

Course_ID

Grade

Vladimir Vacic, Temple University

19

BCNF: Reminder Informally: Everything depends on the full key, and nothing but the key Formally: For every FD a b in F+ a b is trivial (a is a superset of b) or a is a superkey (or both) Vladimir Vacic, Temple University

20

Normal forms: BCNF vs. 3NF If a relation is in BCNF, it is always in 3NF (but not the converse) In practice, aim for BCNF

If that’s impossible, we accept 3NF; but we insist on lossless join and dependency preservation

Vladimir Vacic, Temple University

21

Normal forms: BCNF vs. 3NF Let’s consider the ‘classic’ example: STC (Student, Teacher, Course) Teacher Course Student, Course Teacher

Is it in BCNF? Student Course Vladimir Vacic, Temple University

Teacher

22

Normal forms: BCNF vs. 3NF STC (Student, Teacher, Course) Teacher

Course

Student, Course

Teacher

1) (Teacher, Course) (Student, Course)

(BCNF? Y+Y - Lossless? No - Dep. pres.? No)

2) (Teacher, Course) (Student, Teacher) (BCNF? Y+Y - Lossless? Yes - Dep. pres.? No) Vladimir Vacic, Temple University

23

Normal forms: BCNF vs. 3NF STC (Student, Teacher, Course) Teacher

Course

Student, Course

Teacher

in this case it is impossible to have both BCNF and dependency preservation

So we have to use the (weaker) 3NF.

Vladimir Vacic, Temple University

24

Normal forms: BCNF vs. 3NF STC (Student, Teacher, Course) Teacher

Course

S T

Student, Course

Teacher

Informally, 3NF ‘forgives’ the red arrow

C

Vladimir Vacic, Temple University

25

Normalization: Examples Supplier

Name

Status_City

City

Part

Qty

S1

Jones

10

Paris

P3

257

S1

Jones

10

Paris

P1

500

S1

Jones

10

Paris

P4

125

S2

Spiritoso

12

London

P3

(null)

S7

Kohl

10

Paris

P4

342

Start by determining functional dependencies!

Vladimir Vacic, Temple University

26

Normalization: Example FDs Supplier Name Supplier City Status_City Supplier Status_City (Supplier, Part) Qty Partial Dependencies (Supplier, Part) Name (Supplier, Part) City (Supplier, Part) Status_City Vladimir Vacic, Temple University

27

Normalization: Example Supplier

Name

Status_City

City

S1

Jones

10

Paris

S2

Spiritoso

12

London

S7

Kohl

10

Paris

Supplier

Part

Qty

S1

P1

500

S1

P3

257

S1

P4

125

S2

P3

(null)

S7

P4

342

Vladimir Vacic, Temple University

28

Normalization: Example We took care of the partial dependencies, but what about transitive dependencies?

Supplier S1 S2 S7

Name Jones Spiritoso Kohl

Vladimir Vacic, Temple University

Status_City 10 12 10

City Paris London Paris

29

Normalization: Example Supplier S1 S1 S1 S2 S7

Part P1 P3 P4 P3 P4

Vladimir Vacic, Temple University

Qty 500 257 125 (null) 342

Supplier

Name

City

S1

Jones

Paris

S2

Spirit

London

S7

Kohl

Paris

City

Status_City

Paris London

10 12 30

Normalization: Examples Silberschatz et al.: 7.2 (lossless-join decomposition) hint: use the theorem! “A decomposition is a lossless-join decomposition if the joining attribute is a superkey in at least one of the new relations” 7.16 (lossless-join decomposition) 7.18 (dependency-preserving decomposition)

Vladimir Vacic, Temple University

31

Normalization: Final Thoughts There are higher normal forms (4NF, 5NF), but we will not talk about them In practice, “normalized” means in BCNF or 3NF Luckily, in practice, ER diagrams lead to normalized tables (but do not rely on luck)

Vladimir Vacic, Temple University

32

Normalization: Overview Why do we normalize? To avoid redundancy (less storage space needed, and data is consistent) To avoid update/delete anomalies

A good decomposition should: be a lossless join decomposition (you can recover original tables with a join) preserve dependencies (FD’s should not span two tables) Vladimir Vacic, Temple University

33

Normalization: Overview Boyce-Codd Normal Form (BCNF): “Everything should depend on the key, the whole key, and nothing but the key” (so help me Codd – joke attributed to C.J. Date )

1NF (all attributes are atomic) 2NF (no partial dependencies) 3NF (no transitive dependencies)

Vladimir Vacic, Temple University

34

Related Documents

Normal
October 2019 60
Normal
November 2019 68
Normal
May 2020 35
Normal
October 2019 53
Presentacion Normal
May 2020 11
Escuela Normal
May 2020 14