SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
www.lib.ku.edu/instruction




                                     Database Design
                                  Practical Database Design for
                                            Relational Database
                                         Management Systems




                      Overview
                           A little background and terminology:
                                What is a relational database?
                                What is a primary key?
                                What is a foreign key?
                           Things to know about designing a database:
                                The normalization process and how/why use it
                                Relating tables
                                Types of relationships

                      9/19/07                                                  2




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Relational Database Management
                      System

                           Collection of information organized in tables
                                Tables are also “relations”
                           Tables are constructed and associated to each other
                           through shared fields–“common” fields
                                Fields are also “columns” or “attributes”
                           A set of attributes comprises a record
                                Records are also “rows” or “tuples”
                           Tables are related through common fields
                           designated as primary and foreign keys
                           Allow us to find, update, and delete data quickly,
                           and help to ensure accuracy
                      9/19/07                                                     3




                      Primary and Foreign Key
                      Fields
                           Primary Key
                                Primary key fields must be unique and cannot
                                contain a null value.
                                Each table should have a primary key field.
                                Concatenated keys: using more than one field as
                                a primary key field.
                           Foreign Key: Fields in a table that refer to
                           the primary key in another table
                                The data in this field must exactly match data
                                contained in the primary key field.
                      9/19/07                                                     4




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      What is Normalization?
                           The process by which we efficiently organize data to achieve
                           these goals:
                                Eliminating redundancy
                                Ensuring data is stored in the correct table
                                Eliminating need for restructuring database when data is added.
                           Five levels of normal form
                                In order to achieve one level of normal form, each previous level
                                must be met


                                        Third normal form is sufficient for
                                        most typical database applications.

                      9/19/07                                                                       5




                      First Normal Form (1NF)
                           There are no repeating or duplicate fields.
                           Each cell contains only a single value.
                           Each record is unique.
                                Identified by primary key




                      9/19/07                                                                       6




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Example
                      item                 colors          price     tax
                      T-shirt              red, blue       12.00     0.60
                      polo                 red, yellow     12.00     0.60
                      T-shirt              red, blue       12.00     0.60
                      sweatshirt           blue, black     25.00     1.25

                      Table is not in first normal form because:
                                Multiple items in color field
                                Duplicate records / no primary key

                      9/19/07                                               7




                      Example
                      item                 color           price     tax
                      T-shirt              red             12.00     0.60
                      T-shirt              blue            12.00     0.60
                      polo                 red             12.00     0.60
                      polo                 yellow          12.00     0.60
                      sweatshirt           blue            25.00     1.25
                      sweatshirt           black           25.00     1.25

                      Table is now in first normal form.

                      9/19/07                                               8




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Second Normal Form (2NF)
                           All non-key fields depend on all components
                           of the primary key.
                                Guaranteed when primary key is a single field.




                      9/19/07                                                    9




                      Example
                      item               color          price         tax
                      T-shirt            red            12.00         0.60
                      T-shirt            blue           12.00         0.60
                      polo               red            12.00         0.60
                      polo               yellow         12.00         0.60
                      sweatshirt         blue           25.00         1.25
                      sweatshirt         black          25.00         1.25
                      Table is not in second normal form because:
                                price and tax depend on item, but not color
                      9/19/07                                                    10




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Example
                      item             color         item         price   tax
                      T-shirt          red           T-shirt      12.00   0.60
                      T-shirt          blue          polo         12.00   0.60
                      polo             red           sweatshirt   25.00   1.25
                      polo             yellow
                      sweatshirt       blue
                      sweatshirt       black

                      Tables are now in second normal form.

                      9/19/07                                                    11




                      Third Normal Form (3NF)
                           No non-key field depends upon another.
                                All non-key fields depend only on the primary key.




                      9/19/07                                                    12




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Example
                      item               color        item              price            tax
                      T-shirt            red          T-shirt           12.00            0.60
                      T-shirt            blue         polo              12.00            0.60
                      polo               red          sweatshirt        25.00            1.25
                      polo               yellow
                      sweatshirt         blue
                      sweatshirt         black

                      Tables are not in third normal form because:
                                tax depends on price, not item
                      9/19/07                                                                   13




                      Example
                            item            color            item                price
                            T-shirt         red              T-shirt             12.00
                            T-shirt         blue             polo                12.00
                            polo            red              sweatshirt          25.00
                            polo            yellow
                            sweatshirt      blue                price     tax
                            sweatshirt      black               12.00     0.60
                                                                25.00     1.25

                      Tables are now in third normal form.
                      9/19/07                                                                   14




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Another Example
                           Name                              Assignment 1           Assignment 2
                           Jeff Smith                        Article Summary        Poetry Analysis

                           Nancy Jones                       Article Summary        Reaction Paper

                           Jane Scott                        Article Summary        Poetry Analysis


                           Table is not in first normal form because:
                                    Assignment field repeating
                                    First and last name in one field
                                    No (guaranteed unique) primary key field
                      9/19/07                                                                                   15




                      Another Example
                       Assignment ID           Description
                       1                       Article Summary                 Assignment ID       Student ID
                       2                       Poetry Analysis                 1                   1
                       3                       Reaction Paper                  1                   2
                                                                               1                   3
                                                                               2                   1
                       Student ID       First Name      Last Name
                                                                               2                   3
                       1                Jeff            Smith
                                                                               3                   2
                       2                Nancy           Jones
                       3                Jane            Scott

                     Tables are in third normal form.
                      9/19/07                                                                                   16




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Relationships
                           Relationships are created between tables using the
                           primary key field and a foreign key field
                                One to One Relationship
                                 One record in a table relates to one record in another table
                                One to Many Relationship
                                 One record in a table can relate to many records in another
                                 table
                                Many to Many Relationship
                                 Many records in one table can relate to many records in
                                 another table


                      9/19/07                                                                  17




                      Relationships in First Example
                      item              color                      item                price
                      T-shirt           red                        T-shirt             12.00
                      T-shirt           blue                       polo                12.00
                      polo              red                        sweatshirt          25.00
                      polo              yellow
                      sweatshirt        blue
                      sweatshirt        black
                                                                    price       tax
                                      one to one                    12.00       0.60
                                      one to many                   25.00       1.25
                      9/19/07                                                                  18




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                         Relationships in Second Example
                     Assignment ID          Description
                     1                      Article Summary      Assignment ID     Student ID

                     2                      Poetry Analysis      1                 1

                     3                      Reaction Paper       1                 2
                                                                 1                 3
                                                                 2                 1
                                                                 2                 3
                     Student ID      First Name      Last Name   3                 2
                     1               Jeff            Smith
                                                                                 one to one
                     2               Nancy           Jones
                                                                                 one to many
                     3               Jane            Scott                       many to many
                         9/19/07                                                                19




                         Bibliography
                              Hernandez, Michael J. Database Design for Mere Mortals.
                              San Francisco: Addison-Wesley, 1997.
                              Chapple, Mike. “ Database Normalization Basics.” 5 August
                              2001. Online. Internet. Available
                              http://databases.about.com/library/weekly/aa080501a.htm
                              Association for Geographic Information. GIS Dictionary. 1999.
                              Online. Internet.
                              Available http://www.geo.ed.ac.uk/agidexe/term?821
                              Wise, Barry. “Database Normalization and Design
                              Techniques.” 1 August 2000. 6 pp. Online. Internet. Available
                              http://www.phpbuilder.com/columns/barry20000731.php3

                         9/19/07                                                                20




© 2007 Instructional Services at KU Libraries, The University of Kansas
www.lib.ku.edu/instruction




                      Further Reading
                           Harrington, Jan L. Relational Database Design Clearly
                           Explained. San Diego: Academic Express, 1998.
                           Chapple, Mike. “Choosing a Database Product.” 6 May 2001.
                           Online. Internet. Available
                           http://databases.about.com/library/weekly/aa050601a.htm
                           Gilmore, W.J. “Introduction to Database Normalization.” 27
                           November 2000. Online. Internet. Available
                           http://www.devshed.com/Server_Side/MySQL/Normal/Normal
                           1/page1.html




                      9/19/07                                                       21




© 2007 Instructional Services at KU Libraries, The University of Kansas

Contenu connexe

Tendances

RELATIONSHIP IN DBMS.pptx
RELATIONSHIP IN DBMS.pptxRELATIONSHIP IN DBMS.pptx
RELATIONSHIP IN DBMS.pptx
KAnurag2
 
Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
daxesh chauhan
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
Anurag
 

Tendances (20)

Joins And Its Types
Joins And Its TypesJoins And Its Types
Joins And Its Types
 
Normalization in DBMS
Normalization in DBMSNormalization in DBMS
Normalization in DBMS
 
Dbms architecture
Dbms architectureDbms architecture
Dbms architecture
 
Files Vs DataBase
Files Vs DataBaseFiles Vs DataBase
Files Vs DataBase
 
Aggregate functions
Aggregate functionsAggregate functions
Aggregate functions
 
Normalization
NormalizationNormalization
Normalization
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Unit I Database concepts - RDBMS & ORACLE
Unit I  Database concepts - RDBMS & ORACLEUnit I  Database concepts - RDBMS & ORACLE
Unit I Database concepts - RDBMS & ORACLE
 
Sql operators & functions 3
Sql operators & functions 3Sql operators & functions 3
Sql operators & functions 3
 
RELATIONSHIP IN DBMS.pptx
RELATIONSHIP IN DBMS.pptxRELATIONSHIP IN DBMS.pptx
RELATIONSHIP IN DBMS.pptx
 
Rdbms
RdbmsRdbms
Rdbms
 
ER-Model-ER Diagram
ER-Model-ER DiagramER-Model-ER Diagram
ER-Model-ER Diagram
 
Joins in SQL
Joins in SQLJoins in SQL
Joins in SQL
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joins
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
 
Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
 
Using the set operators
Using the set operatorsUsing the set operators
Using the set operators
 
Constraints In Sql
Constraints In SqlConstraints In Sql
Constraints In Sql
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
 
Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
 

En vedette

ERD Case scenario
ERD Case scenarioERD Case scenario
ERD Case scenario
markthesuth
 
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ARADHYAYANA
 
Indexing and hashing
Indexing and hashingIndexing and hashing
Indexing and hashing
Jeet Poria
 
Relational Algebra-Database Systems
Relational Algebra-Database SystemsRelational Algebra-Database Systems
Relational Algebra-Database Systems
jakodongo
 
Architecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independenceArchitecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independence
Anuj Modi
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
shekhar1991
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
koolkampus
 

En vedette (20)

Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
 
DBMS - Normalization
DBMS - NormalizationDBMS - Normalization
DBMS - Normalization
 
Normalization
NormalizationNormalization
Normalization
 
Crj 3 1-b
Crj 3 1-bCrj 3 1-b
Crj 3 1-b
 
ERD Case scenario
ERD Case scenarioERD Case scenario
ERD Case scenario
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
 
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
ER DIAGRAM TO RELATIONAL SCHEMA MAPPING
 
Indexing and hashing
Indexing and hashingIndexing and hashing
Indexing and hashing
 
Database management system basic, database, database management, learn databa...
Database management system basic, database, database management, learn databa...Database management system basic, database, database management, learn databa...
Database management system basic, database, database management, learn databa...
 
Relational Algebra-Database Systems
Relational Algebra-Database SystemsRelational Algebra-Database Systems
Relational Algebra-Database Systems
 
Architecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independenceArchitecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independence
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
A database design_report_for_college_library final
A database design_report_for_college_library finalA database design_report_for_college_library final
A database design_report_for_college_library final
 
PLM Introduction
PLM IntroductionPLM Introduction
PLM Introduction
 
Database language
Database languageDatabase language
Database language
 
Trigger
TriggerTrigger
Trigger
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
 
ERP Implementation Life Cycle
ERP Implementation Life CycleERP Implementation Life Cycle
ERP Implementation Life Cycle
 
Business process reengineering
Business process reengineeringBusiness process reengineering
Business process reengineering
 

Plus de Jargalsaikhan Alyeksandr

Plus de Jargalsaikhan Alyeksandr (20)

Microsoft IT Academy
Microsoft IT AcademyMicrosoft IT Academy
Microsoft IT Academy
 
Computer ethics and system security
Computer ethics and system securityComputer ethics and system security
Computer ethics and system security
 
Cs203 lecture 14 reflection
Cs203 lecture 14  reflectionCs203 lecture 14  reflection
Cs203 lecture 14 reflection
 
Cs203 lecture13 composition
Cs203 lecture13 compositionCs203 lecture13 composition
Cs203 lecture13 composition
 
Cs203 lab8
Cs203 lab8Cs203 lab8
Cs203 lab8
 
Sw203 Lecture12 Composition
Sw203 Lecture12 CompositionSw203 Lecture12 Composition
Sw203 Lecture12 Composition
 
SW203 Lab9
SW203  Lab9SW203  Lab9
SW203 Lab9
 
SW203 Lab10
SW203  Lab10SW203  Lab10
SW203 Lab10
 
Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
Sw203 Lecture9 Encapsulation
Sw203 Lecture9  EncapsulationSw203 Lecture9  Encapsulation
Sw203 Lecture9 Encapsulation
 
Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
 
Sw203lab8
Sw203lab8Sw203lab8
Sw203lab8
 
S W203 Lecture8 Interface
S W203  Lecture8  InterfaceS W203  Lecture8  Interface
S W203 Lecture8 Interface
 
Sw203 Lecture8 Interface
Sw203 Lecture8 InterfaceSw203 Lecture8 Interface
Sw203 Lecture8 Interface
 
Sw203 Lab7
Sw203 Lab7Sw203 Lab7
Sw203 Lab7
 
Sw203lab6
Sw203lab6Sw203lab6
Sw203lab6
 
Sw203lab5
Sw203lab5Sw203lab5
Sw203lab5
 
Sw203 Lecture11 Casting
Sw203 Lecture11 CastingSw203 Lecture11 Casting
Sw203 Lecture11 Casting
 
Sw203 Lecture7 Method Override
Sw203 Lecture7  Method OverrideSw203 Lecture7  Method Override
Sw203 Lecture7 Method Override
 
Sw203 Lecture6 Inheritance
Sw203 Lecture6 InheritanceSw203 Lecture6 Inheritance
Sw203 Lecture6 Inheritance
 

Dernier

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Dernier (20)

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

Database design & Normalization (1NF, 2NF, 3NF)

  • 1. www.lib.ku.edu/instruction Database Design Practical Database Design for Relational Database Management Systems Overview A little background and terminology: What is a relational database? What is a primary key? What is a foreign key? Things to know about designing a database: The normalization process and how/why use it Relating tables Types of relationships 9/19/07 2 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 2. www.lib.ku.edu/instruction Relational Database Management System Collection of information organized in tables Tables are also “relations” Tables are constructed and associated to each other through shared fields–“common” fields Fields are also “columns” or “attributes” A set of attributes comprises a record Records are also “rows” or “tuples” Tables are related through common fields designated as primary and foreign keys Allow us to find, update, and delete data quickly, and help to ensure accuracy 9/19/07 3 Primary and Foreign Key Fields Primary Key Primary key fields must be unique and cannot contain a null value. Each table should have a primary key field. Concatenated keys: using more than one field as a primary key field. Foreign Key: Fields in a table that refer to the primary key in another table The data in this field must exactly match data contained in the primary key field. 9/19/07 4 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 3. www.lib.ku.edu/instruction What is Normalization? The process by which we efficiently organize data to achieve these goals: Eliminating redundancy Ensuring data is stored in the correct table Eliminating need for restructuring database when data is added. Five levels of normal form In order to achieve one level of normal form, each previous level must be met Third normal form is sufficient for most typical database applications. 9/19/07 5 First Normal Form (1NF) There are no repeating or duplicate fields. Each cell contains only a single value. Each record is unique. Identified by primary key 9/19/07 6 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 4. www.lib.ku.edu/instruction Example item colors price tax T-shirt red, blue 12.00 0.60 polo red, yellow 12.00 0.60 T-shirt red, blue 12.00 0.60 sweatshirt blue, black 25.00 1.25 Table is not in first normal form because: Multiple items in color field Duplicate records / no primary key 9/19/07 7 Example item color price tax T-shirt red 12.00 0.60 T-shirt blue 12.00 0.60 polo red 12.00 0.60 polo yellow 12.00 0.60 sweatshirt blue 25.00 1.25 sweatshirt black 25.00 1.25 Table is now in first normal form. 9/19/07 8 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 5. www.lib.ku.edu/instruction Second Normal Form (2NF) All non-key fields depend on all components of the primary key. Guaranteed when primary key is a single field. 9/19/07 9 Example item color price tax T-shirt red 12.00 0.60 T-shirt blue 12.00 0.60 polo red 12.00 0.60 polo yellow 12.00 0.60 sweatshirt blue 25.00 1.25 sweatshirt black 25.00 1.25 Table is not in second normal form because: price and tax depend on item, but not color 9/19/07 10 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 6. www.lib.ku.edu/instruction Example item color item price tax T-shirt red T-shirt 12.00 0.60 T-shirt blue polo 12.00 0.60 polo red sweatshirt 25.00 1.25 polo yellow sweatshirt blue sweatshirt black Tables are now in second normal form. 9/19/07 11 Third Normal Form (3NF) No non-key field depends upon another. All non-key fields depend only on the primary key. 9/19/07 12 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 7. www.lib.ku.edu/instruction Example item color item price tax T-shirt red T-shirt 12.00 0.60 T-shirt blue polo 12.00 0.60 polo red sweatshirt 25.00 1.25 polo yellow sweatshirt blue sweatshirt black Tables are not in third normal form because: tax depends on price, not item 9/19/07 13 Example item color item price T-shirt red T-shirt 12.00 T-shirt blue polo 12.00 polo red sweatshirt 25.00 polo yellow sweatshirt blue price tax sweatshirt black 12.00 0.60 25.00 1.25 Tables are now in third normal form. 9/19/07 14 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 8. www.lib.ku.edu/instruction Another Example Name Assignment 1 Assignment 2 Jeff Smith Article Summary Poetry Analysis Nancy Jones Article Summary Reaction Paper Jane Scott Article Summary Poetry Analysis Table is not in first normal form because: Assignment field repeating First and last name in one field No (guaranteed unique) primary key field 9/19/07 15 Another Example Assignment ID Description 1 Article Summary Assignment ID Student ID 2 Poetry Analysis 1 1 3 Reaction Paper 1 2 1 3 2 1 Student ID First Name Last Name 2 3 1 Jeff Smith 3 2 2 Nancy Jones 3 Jane Scott Tables are in third normal form. 9/19/07 16 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 9. www.lib.ku.edu/instruction Relationships Relationships are created between tables using the primary key field and a foreign key field One to One Relationship One record in a table relates to one record in another table One to Many Relationship One record in a table can relate to many records in another table Many to Many Relationship Many records in one table can relate to many records in another table 9/19/07 17 Relationships in First Example item color item price T-shirt red T-shirt 12.00 T-shirt blue polo 12.00 polo red sweatshirt 25.00 polo yellow sweatshirt blue sweatshirt black price tax one to one 12.00 0.60 one to many 25.00 1.25 9/19/07 18 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 10. www.lib.ku.edu/instruction Relationships in Second Example Assignment ID Description 1 Article Summary Assignment ID Student ID 2 Poetry Analysis 1 1 3 Reaction Paper 1 2 1 3 2 1 2 3 Student ID First Name Last Name 3 2 1 Jeff Smith one to one 2 Nancy Jones one to many 3 Jane Scott many to many 9/19/07 19 Bibliography Hernandez, Michael J. Database Design for Mere Mortals. San Francisco: Addison-Wesley, 1997. Chapple, Mike. “ Database Normalization Basics.” 5 August 2001. Online. Internet. Available http://databases.about.com/library/weekly/aa080501a.htm Association for Geographic Information. GIS Dictionary. 1999. Online. Internet. Available http://www.geo.ed.ac.uk/agidexe/term?821 Wise, Barry. “Database Normalization and Design Techniques.” 1 August 2000. 6 pp. Online. Internet. Available http://www.phpbuilder.com/columns/barry20000731.php3 9/19/07 20 © 2007 Instructional Services at KU Libraries, The University of Kansas
  • 11. www.lib.ku.edu/instruction Further Reading Harrington, Jan L. Relational Database Design Clearly Explained. San Diego: Academic Express, 1998. Chapple, Mike. “Choosing a Database Product.” 6 May 2001. Online. Internet. Available http://databases.about.com/library/weekly/aa050601a.htm Gilmore, W.J. “Introduction to Database Normalization.” 27 November 2000. Online. Internet. Available http://www.devshed.com/Server_Side/MySQL/Normal/Normal 1/page1.html 9/19/07 21 © 2007 Instructional Services at KU Libraries, The University of Kansas