Racoosin [email protected] 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998...
-
Upload
elfrieda-atkinson -
Category
Documents
-
view
212 -
download
0
Transcript of Racoosin [email protected] 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998...
![Page 1: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/1.jpg)
Racoosin Solutions [email protected] 703 849-1997
Database Normalization
TJ Racoosin
2 Dec 1998
CPCUG Access SIG
![Page 2: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/2.jpg)
Overview
• Introductions
• The Normal Forms
• Primary Key
• Relationships and Referential Integrity
• When NOT to Normalize
• Real World Exercise
• Resources
Racoosin Solutions
![Page 3: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/3.jpg)
Introductions
• TJ Racoosin
• You– Are you familiar with normalization?– Used the relationship window ? Enforce
referential integrity? Cascade Delete?– Any issues with normalizing data?
Racoosin Solutions
![Page 4: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/4.jpg)
Why Normalize?• Flexibility
– Structure supports many ways to look at the data
• Data Integrity– “Modification Anomalies”
• Deletion• Insertion• Update
• Efficiency– Eliminate redundant data and save space
Racoosin Solutions
![Page 5: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/5.jpg)
Normalization Defined• “ In relational database design, the process of
organizing data to minimize duplication. • Normalization usually involves dividing a
database into two or more tables and defining relationships between the tables.
• The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database via the defined relationships.”
- Webopedia, http://webopedia.internet.com/TERM/n/normalization.html
Racoosin Solutions
![Page 6: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/6.jpg)
Another Definition• "Normalization" refers to the process of
creating an efficient, reliable, flexible, and appropriate "relational" structure for storing information. Normalized data must be in a "relational" data structure.
- Reid Software Development,
http://www.accessdatabase.com/normalize.html
Racoosin Solutions
![Page 7: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/7.jpg)
The Normal Forms• A series of logical steps to take to
normalize data tables• First Normal Form• Second• Third• Boyce Codd• There’s more, but beyond scope of this
Racoosin Solutions
![Page 8: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/8.jpg)
First Normal Form (1NF)• All columns (fields) must be atomic
– Means : no repeating items in columns
Racoosin Solutions
OrderDate Customer Items11/30/1998 Joe Smith Hammer, Saw, Nails
OrderDate Customer Item1 Item2 Item311/30/1998 Joe Smith Hammer Saw Nails
Solution: make a separate table for each set of attributes with a primary key (parser, append query)
CustomersCustomerIDName
OrdersOrderIDItem CustomerIDOrderDate
![Page 9: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/9.jpg)
Second Normal Form (2NF)• In 1NF and every non-key column is fully
dependent on the (entire) primary key– Means : Do(es) the key field(s) imply the rest of the fields? Do we
need to know both OrderID and Item to know the Customer and Date? Clue: repeating fields
Racoosin Solutions
Solution: Remove to a separate table (Make Table)
OrderID Item CustomerID OrderDate1 Hammer 1 11/30/19981 Saw 1 11/30/19981 Nails 1 11/30/1998
OrderDetailsOrderIDItem
OrdersOrderIDCustomerIDOrderDate
![Page 10: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/10.jpg)
Third Normal Form (3NF)• In 2NF and every non-key column is mutually independent
– means : Calculations
Racoosin Solutions
•Solution: Put calculations in queries and forms
Item Quantity Price TotalHammer 2 $10 $20Saw 5 $40 $200Nails 8 $1 $8
OrderDetailsOrderIDItemQuantityPrice
Put expression in text control or in query:=Quantity * Price
![Page 11: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/11.jpg)
2/16/98 10MGS 404
2/16/98 10
Boyce-Codd Form (3NF) - Examples• A more restricted version of 3NF (known as
Boyce-Codd Normal Form) requires that the determinant of every functional dependency in a relation be a key - for every FD: X => Y, X is a key
• Consider the following relation:STU-MAJ-ADV (Student-Id, Major, Advisor)Advisor => Major, but Advisor is not a key
• Boyce-Codd Normal Form for above:STU-ADV (Student-Id, Advisor)ADV-MAJ (Advisor, Major)
Kumar Madurai: http://www.mgt.buffalo.edu/courses/mgs/404/mfc/lecture4.ppt
![Page 12: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/12.jpg)
Primary Key
• Unique Identifier for every row in the table– Integers vice Text to save memory, increase
speed– Can be “composite”– Surrogate is best bet!
• Meaningless, numeric column acting as primary key in lieu of something like SSN or phone number - (both can be reissued!)
Racoosin Solutions
![Page 13: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/13.jpg)
Relationships
Racoosin Solutions
• One to many to enforce “Referential Integrity”
Two “foreign” keys make a composite primary key and “relate” many to many tables
A look up table - it doesn’t reference any others
![Page 14: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/14.jpg)
Table Prefixes Aid Development– First, we’ll get replace text PK with number
– The Items table is a “look up” with tlkp prefix– tlkp “lookup” table (no “foreign keys”)
– OrderDetails is renamed “trelOrderItem” a “relational” table• trel “relational” (or junction or linking)
– two foreign keys make a primary
Racoosin Solutions
tblOrdersOrderIDCustomerIDOrderDate
OrderDetailsOrderIDItem trelOrderItem
OrderIDItemID
tlkpItemsItemIDItemName
![Page 15: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/15.jpg)
Referential Integrity• Every piece of “foreign” key data has a
primary key on the one site of the relationship– No “orphan” records. Every child has a parent– Can’t delete records from primary table if in related table
• Benefits - Data Integrity and Propagation– If update fields in main table, reflected in all queries– Can’t add a record in related table without adding it to main– Cascade Delete: If delete record from primary table, all
children deleted - use with care! Better idea to “archive”– Cascade Update: If change the primary key field, will change
foreign key
Racoosin Solutions
![Page 16: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/16.jpg)
When Not to Normalize• Want to keep tables simple so user can make
their own queries– Avoid processing multiple tables
• Archiving Records– If No need to perform complex queries or “resurrect”– Flatten and store in one or more tables
• Testing shows Normalization has poorer performance– “Sounds Like” field example– Can also try temp tables produced from Make Table queries
Racoosin Solutions
![Page 17: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/17.jpg)
Real World - School Data
Racoosin Solutions
Student Student Previous CurrentLast First Parent 1 Parent 2 Teacher TeacherSmith Renee Ann Jones Theodore Smith Hamil BurkeMills Lucy Barbara Mills Steve Mills Hamil Burke Jones Brendan Jennifer Jones Stephen Jones Hamil Burke ….
Street Address City State Postal Code Home Phone5551 Private Hill Annandale Virginia 22003- (703) 323-08934902 Acme Ct Annandale Virginia 22003- (703) 764-58295304 Gains Street Fairfax Virginia 22032- (703) 978-1083 ….
First Year Last Year AgeProgram Enrolled Attended Birthday inSept Map Coord NotesPF / 0 0 6/25/93 5 22 A-3PF 96/97 0 8/14/93 5 21 F-3PH 96/97 0 6/13/94 4 21 A-4
![Page 18: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/18.jpg)
One Possible Design
Racoosin Solutions
![Page 19: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/19.jpg)
Books• Access97 Developers Handbook Litwin,Getz & Gilbert
– Chapter 4
• Access and SQL Server Developers Handbook Viescas, Gunderloy and Chipman– Chapter 2
• Access97 Expert Solutions Lezynski– Chapter 10
Racoosin Solutions
![Page 20: Racoosin SolutionsrSolutions@erols.com 703 849-1997 Database Normalization TJ Racoosin 2 Dec 1998 CPCUG Access SIG.](https://reader035.fdocuments.in/reader035/viewer/2022072005/56649ccf5503460f9499b887/html5/thumbnails/20.jpg)
Internet• Papers• http://www.mtjeff.com/~calvin/devhbook/databasedesign.html • http://www.swin.edu.au/infotech/subjects/bt220/bt220s1.html• http://www.bus.okstate.edu/lhammer/AISweb/Normaliz.htm
http://www.inetspace.com/database.html
• Slides• http://www.mgt.buffalo.edu/courses/mgs/404/mfc/lecture4.ppt• http://www.state.sd.us/people/colink/datanorm.htm• http://www.cba.nau.edu/morgan-j/class/subtop2_3/sld001.htm
Racoosin Solutions