Relational Database Examples
Upcoming SlideShare
Loading in...5
×
 

Relational Database Examples

on

  • 3,303 views

An Example of a relational database and Normalisation

An Example of a relational database and Normalisation

Statistics

Views

Total Views
3,303
Views on SlideShare
3,056
Embed Views
247

Actions

Likes
0
Downloads
22
Comments
0

1 Embed 247

http://jclite.com 247

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Relational Database Examples Relational Database Examples Presentation Transcript

  • Relational Database Exercises John Cutajar
  • First Normal Form Which rule does this table violate? Change the following table in 1NF Databases 2
  • First Normal Form No repeating groups. As an example, it might be tempting to make an invoice table with columns for the first, second, and third line item (see above). This violates the first normal form, and would result in large rows, wasted space (where an invoice had less than the maximum number of line items), and *horrible* SQL statements with a separate join for each repetition of the column. First form normalization requires you make a separate line item table, with its own key (in this case the combination of invoice number and line number) Databases 3
  • From 1NF to 2NF Why not in 2NF: Now convert to 2NF Databases 4
  • Second Normal Form Each column must depend on the *entire* primary key. As an example, the customer information could be put in the line item table (previous slide). The trouble with that is that the customer goes with the invoice, not with each line on the invoice. Putting customer information in the line item table will cause redundant data, with its inherant overhead and difficult modifications. Second form normalization requires you place the customer information in the invoice table. Databases 5
  • From 2NF to 3NF Why not in 3NF: Now convert to 3NF Databases 6
  • Third Normal Form Each column must depend on *directly* on the primary key. As an example, the customer address could go in the invoice table (previous slide), but this would cause data redundancy if several invoices were for the same customer. It would also cause an update nightmare when the customer changes his address, and would require extensive programming to insert the address every time an existing customer gets a new invoice. Third form normalization requires the customer address go in a separate customer table with its own key (customer), with only the customer identifier in the invoice table. Databases 7
  • From 2NF to 3NF Now in 3NF Databases 8
  • First Normal Form Which rule does Members List this table violate? 1 John Cutajar Access, DB2, FoxPro Change the 2 Paul Borg dBase, Clipper following table in 3 Mary Hanks 1NF 4 Joe Doe DB2, Oracle 5 Tim Rice Oracle, Sybase 6 Paul Simon Informix 7 Ned Blue 8 Sam Red Access, MySQL 9 Tina Skoss Databases 9
  • From 1NF to 2NF Now to 2NF Database Table MID DID Database Members Table 1 1 Access MID Member 1 2 DB2 1 John Cutajar 1 3 FoxPro 2 Paul Borg 2 4 dBase 3 Mary Hanks 2 5 Clipper 4 Joe Doe 4 2 DB2 4 6 Oracle 5 Tim Rice 5 6 Oracle 6 Paul Simon 5 7 Sybase 7 Ned Blue 6 8 Informix 8 Sam Red 8 1 Access 9 Tina Skoss 8 2 MySQL Databases 10
  • From 2NF to 3NF Now in 3NF Database Table Members Table MID DID Database Table MID Member 1 1 DID Database 1 John Cutajar 1 2 1 Access 2 Paul Borg 1 3 2 DB2 3 Mary Hanks 2 4 3 FoxPro 4 Joe Doe 2 5 4 dBase 5 Tim Rice 4 2 5 Clipper 6 Paul Simon 4 6 6 Oracle 5 6 7 Sybase 7 Ned Blue 5 7 8 Informix 8 Sam Red 6 8 9 MySQL 9 Tina Skoss 8 1 8 9 Databases 11