Normalization

Download Report

Transcript Normalization

Normalization:
A workshop for everybody!
Database Normalization:
A workshop for everybody!
Part 1
Contents copyright Brent Friedman, 2013. Released under LGPL version 3.
Normalization:
A workshop for everybody!
Welcome to PostgresOpen 2013
Chicago
Sept. 16-18, 2013
Normalization:
A workshop for everybody!
Brent Friedman
CTO for a small data-mining start-up
Doctoral candidate (DPA) – Valdosta State Univ.
Open source contributor/advocate since the 1980s
Normalization:
A workshop for everybody!
Workshop Schedule
Part 1 – A short database history
Break
Part 2 – A guided tour to third normal form
Break
Part 3 – Team competition
Normalization:
A workshop for everybody!
Some questions:
1. What is a database?
2. Why do we need to organize data?
3. Can't Excel do everything I need?
Normalization:
A workshop for everybody!
A quick history of databases...
1950's
Normalization:
A workshop for everybody!
The earliest computers were not sufficiently complex
enough to entertain the idea of a free-standing
database. Data was directly linked with the application
in memory.
Normalization:
A workshop for everybody!
A quick history of databases...
1960's
Normalization:
A workshop for everybody!
The days of CODASYL (Conference on Data System
Languages) – This organization started as a
mechanism to standardize programming languages.
1965 – List Processing Task Force
1967 – Renamed Data Base Task Group
During this time, hardware and software are closely
linked, and both are purchased as part of a vendor
package.
Normalization:
A workshop for everybody!
A quick history of databases...
1970's
Normalization:
A workshop for everybody!
In 1970, Edgar F. Codd published a paper titled
Relational Database Theory. In effect, he envisioned
first normal form (1NF).
Codd's theory did not focus on the relational algebra of
databases directly. Instead, he focused on how data
should be addressed. This theory separated the data
schema from the storage mechanism for the first time.
Normalization:
A workshop for everybody!
Two database “families” appeared in the 1970s:
1. The Ingres Group, whose descendents include:
Ingres; Sybase; MS Sql Server; and Postgresql. These
originally used the QUEL language.
2. The IBM System R Group, whose descendents
include: DB2; Oracle; and Nonstop SQL. This branch
used the SQL language.
Normalization:
A workshop for everybody!
A quick history of databases...
1980's
Normalization:
A workshop for everybody!
During the 1980s, the QUEL branch of RDBMS
products languished and mostly died.
Computer power increased to the point that home and
small business users could actually use databases on
personal computers. Products like dBase and Paradox
bring SQL databases to the masses.
Normalization:
A workshop for everybody!
A quick history of databases...
1990's
Normalization:
A workshop for everybody!
The Internet brought many changes, including
exponential growth in the database field.
In 1995, graduate students Andrew Yu and Jolly Chen
revise Postgres's query language, POSTQUEL, to use
SQL, and call it Postgres95.
Normalization:
A workshop for everybody!
A quick history of databases...
2000's - Now
Normalization:
A workshop for everybody!
There have been several advances in databases in the
past decade, including:
Columnar databases, such as MonetDB
Object databases, such as Cache
NoSQL databases, such as MongoDB
Normalization:
A workshop for everybody!
Entity Relation Diagrams – ERDs
Normalization:
A workshop for everybody!
End of Part One