database normalization using dependencies graph fotache_m_strimbei_c__ibima2008

18
Marin Fotache, Catalin Strimbei IBIMA2008 Back to Simplicity: An Old-Looking New Database Design Methodology

Upload: marin-fotache

Post on 26-Jun-2015

93 views

Category:

Data & Analytics


0 download

DESCRIPTION

Presentation for IBIMA 2008 Conference (https://www.researchgate.net/publication/267271447_Back_to_Simplicity_An_Old-Looking_New_Database_Design_Methodology). This paper develops a database design methodology which is based on the graphical representation of dependencies among database attributes. Rooted in the papers of Bernstein, Smith, Mannila and Raiha, Ausiello, D’Atri and Sacca, the methodology lacks the formalistic bedrock so abundant in normalization papers. It is intentionally less rigorous but more relevant to the database designers.

TRANSCRIPT

Page 1: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Marin Fotache, Catalin StrimbeiIBIMA2008

Back to Simplicity: An Old-Looking New Database Design

Methodology

Page 2: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

An “ancient” problemHow to design a database schema for a real-

world application ?Modeling, analysis & design approaches

E/RUnified Process (UML)Agile methodologiesEtc

Normalization

Page 3: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Two methodologies of Normalization

Decomposition (Codd, 1972 & co)Splitting repeatedly the Universal Relation

into relations in order to remove partial and transitive functional dependencies, multivalued and join dependencies

1NF 2NF 3NF BCNF 4NF 5NF...

Synthesis (Bernstein, 1976)

Page 4: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

The proposed guide - pillars

Keeping some repeating groups and splitting the others

Functional dependenciesRemoving simmetrical FD’sUsing surrogate keys for:

Identification problemsTransforming MVDs

Inclusion dependencies (IS-A roles)Graphical representation

Page 5: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

A FD chart (graph)

Page 6: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

A simplified version of the chart

Page 7: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Representing Inclusion Dependencies

Page 8: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Comparison

Page 9: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Surrogation for “fixing” the chart

Page 10: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

A “hard surrogation” case

Page 11: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Accepting insular attributes

Page 12: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

BCNF transformation

Page 13: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

BCNF transformation - example

Page 14: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Trick and surrogates

Page 15: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

(Another) Trouble with FDs

Page 16: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

A FD/IND based solution

Page 17: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

MVD’s – (a R.Fagin’s example)

Emp#

SpouseID

ChildID

Year

SalaryHireDate

EmpDept

PersNameYearOfBirth

Page 18: Database normalization using dependencies graph   fotache_m_strimbei_c__ibima2008

Removing MVDs – two solutions