Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database Design Dr. M.E. Fayad, Professor

Similar presentations


Presentation on theme: "Database Design Dr. M.E. Fayad, Professor"— Presentation transcript:

1 Database Design Dr. M.E. Fayad, Professor
6/7/2019 Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA © M.E. Fayad SJSU -- CmpE

2 Lesson 05: Normalization
6/7/2019 Lesson 05: Normalization 2 © M.E. Fayad SJSU – CmpE M.E. Fayad

3 3 Lesson Objectives Understand the goals of normalization
6/7/2019 Lesson Objectives Understand the goals of normalization Explore the problems of DB bad design Understand normalization Learn how to deal with normalization 3 © M.E. Fayad SJSU – CmpE M.E. Fayad

4 Relational Database Design
6/7/2019 Relational Database Design Goals: Reduce data redundancy (undesirable replication of data values) Minimize anomaly problems (data model is structured in an improper manner) Maintain (correct) information Enforce semantic & integrity constraints, e.g., using dependency & domain constraints 4 © M.E. Fayad SJSU – CmpE M.E. Fayad

5 Problems of Bad DB Design
6/7/2019 Problems of Bad DB Design Data replication: extra storage, update anomalies Anomaly: costly & data inconsistency Loss of information: poor decomposition Un-enforced dependency constraints: dependencies are lost 5 © M.E. Fayad SJSU – CmpE M.E. Fayad

6 6 Normalization A db scheme design tool
6/7/2019 Normalization A db scheme design tool A process of replacing associations among attributes in a relation scheme An approximation of the relation schemes that should be created Objectives: accomplish the goals of relational database design Two approaches: decomposition & synthesis 6 © M.E. Fayad SJSU – CmpE M.E. Fayad

7 6/7/2019 Decomposition A process to split or decompose a relation until the resultant relations no longer exhibit the undesirable problems, e.g., data redundancy, data inconsistency, anomaly, etc. Decomposing a relation scheme R means breaking R into a pair of schemes, possibly intersecting + this process is repeated until all the decomposed relation schemes are in the desired (normal) form. 7 © M.E. Fayad SJSU – CmpE M.E. Fayad

8 8 Normal Forms (NFs) 1NF 2NF 3NF BCNF 4NF PJNF 6/7/2019
© M.E. Fayad SJSU – CmpE M.E. Fayad

9 6/7/2019 Normal Forms (NFs) restrictions on the db scheme that preclude certain undesirable properties (data redundancy, update anomaly, loss of information, etc.) from the DB. A relation scheme R is in PJNF if R is in 4NF if R is in BCNF if R is in 3NF if R is in 2NF if R is in 1NF 9 © M.E. Fayad SJSU – CmpE M.E. Fayad

10 6/7/2019 Normal Forms (NFs) Definition. A data value v is atomic if v is not a (i) set of values or (ii) composite value; otherwise, v is non-atomic. First Normal Form (1NF). A relation scheme R is in 1NF if for every attribute A in R, the values in the domain of A, i.e., dom(A), are atomic. 10 © M.E. Fayad SJSU – CmpE M.E. Fayad

11 6/7/2019 Normal Forms (NFs) Boyce-Codd Normal Form (BCNF). A relation scheme R is in BCNF if for every non-trivial FD X  Y applied to R, X is a superkey for R. Definition. Let A be an attribute in a relation scheme R, and let F be a set of FDs over R. A is a prime attribute in R if A is contained in some candidate key of R; otherwise, A is a non-prime attribute in R. 11 © M.E. Fayad SJSU – CmpE M.E. Fayad

12 6/7/2019 Normal Forms (NFs) Third Normal Form (3NF). A relation scheme R is in 3NF if R is in 1NF, and For every non-trivial FD X  Y applied to R, either X is a superkey of R, or every attribute in Y is an attribute of some candidate key of R, i.e., prime. 12 © M.E. Fayad SJSU – CmpE M.E. Fayad

13 6/7/2019 Normal Forms (NFs) Lossy decomposition: a decomposition is lossy if the natural join of all the decomposed relations contain additional tuples and the original relation is lost. Lossless decomposition: a decomposition is lossless if the natural join of all the decomposed relations always yields the original relation without any extra tuples, i.e., a decomposition {R1, R2, …, Rn} of R is lossless if r(R), r(R) = R1(r)  R2(r)  …  Rn(r) 13 © M.E. Fayad SJSU – CmpE M.E. Fayad

14 2-Relational lossless-join decomposition
6/7/2019 2-Relational lossless-join decomposition 2-Relational lossless-join decomposition: Let R1 and R2 be decomposed schemes of R. Let F be a set of FDs on R. The decomposition is lossless if R1  R2  R1  F+ or R1  R2  R2  F+ 14 © M.E. Fayad SJSU – CmpE M.E. Fayad

15 Dependency preserving
6/7/2019 Dependency preserving a decomposition is dependency preserving if no dependency is lost in the process. Let F be the set of FDs on R. Let R1, … , Rn be a decomposition of R. Let Fi, 1  i  n, be the set of FDs in F+ which applies to Ri. Let F’ = i=1..n Fi. If F’+ = F+, then the decomposition is dependency preserving. 15 © M.E. Fayad SJSU – CmpE M.E. Fayad


Download ppt "Database Design Dr. M.E. Fayad, Professor"

Similar presentations


Ads by Google