SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Databases

Creating Relational Databases
School Database
Student ID Student    Student     Form     Sex        Age       Class      Class     Room
           Surname    FirstName                                 Name       Teacher   Number
S10204     HALL       Taighan     10B      F          13        Maths101   PRJ       651
S10204     HALL       Taighan     10B      M          13        GEO101     RW        532
S10204     HALL       Taighan     10B      F          13        SCI10      CW        161
S10412     CRIST      Graeme      10D      M          14        GEO101     RW        532
S10412     CRIST      Graeme      10D      M          14        HIS101     HJD       541
S10101    CRIST      Graeme      10D      M          14        Maths101   PRJ       651
S10414     HASLETT    Oliver      10D      M          14        Maths101   PRJ       651
S10101     FUNG       JUNE        10A     F          15        Maths101   PRJ       651
S10101     FUNG       JUNE        10B     F          15        GEO101     HJD       532
S10101     FUNF      JUNE        10A      F          15        HIS101     HJD       541




           This is part of a database showing all students and their classes in a school.
Data integrity and Data Redundancy

These issues can have a significant impact on the ability for a database to actually
do the job that it is intended to do.

Data Integrity is the idea that information always keeps its meaning. This is
particularly difficult when database get really big if you imagine if the database
above includes every student and every class in the school it could contain over
10000 records.
Examples of Data integrity

Examples of Data integrity


 A simple typo means that it might mean that information gets lost if we search for
June in the data. This problem is much more likely because of the redundancies
issues we will look at later.

 This example can cause real problems it shows that the same information in the
database can mean two different things is s10101 Graeme or June. What happen is
s10101

 Here we have June in two classes? Which one is right? What if we need to fine
June in registration urgently
Hard to find?
They can be really hard to find in this Database there are more integrity errors can
you find them?
Bad or unnecessary Fields Names
Age is an example of a bad field name for the obvious reason that it can change at
anytime. It would be much better to use DOB as age can always be calculated and
of course it does not change.


Form may also be unnecessary in this case as the reference number is CODED to
give the form.


Can you explain the code?
School Database
Student ID Student   Student     Form   Sex   Age   Class      Class     Room
           Surname   FirstName                      Name       Teacher   Number
S10204     HALL      Taighan     10B    F     13    Maths101   PRJ       651
S10204     HALL      Taighan     10B    M     13    GEO101     RW        532
S10204     HALL      Taighan     10B    F     13    SCI10      CW        161
S10412     CRIST     Graeme      10D    M     14    GEO101     RW        532
S10412     CRIST     Graeme      10D    M     14    HIS101     HJD       541
S10101     CRIST     Graeme      10D    M     14    Maths101   PRJ       651
S10414     HASLETT   Oliver      10D    M     14    Maths101   PRJ       651
S10101     FUNG      JUNE        10A    F     15    Maths101   PRJ       651
S10101     FUNG      JUNE        10B    F     15    GEO101     HJD       532
S10101     FUNF      JUNE        10A    F     15    HIS101     HJD       541




          Table showing data redundancy .
Data Redundancy

Data redundancy is the where data needs to be entered and stored on more
than one occasion.

For example if you look at the table above you can see that we have entered
Oliver Haslett’s first name and surname every time we put him into a class.
This can cause problems such as increasing the chance of someone entering
his name wrong. It also means more time is needed to enter data and more
space is needed when it is saved.


There is a way around this 




Relational Databases
The simple way to think about this is that when you create a table of data in a
database you should have fields which directly relate to the key field of the table.

In our table we can see that the Class teacher, Class Name and Room Number are
not related to the Student. The Student ID is unique so the first name, surname,
form, Sex is all related to the student but the other fields do not.

We can now look at how to remove redundancy issues a process called
normalization, although this can be very complex and we are only going to look it
is a simple way.


Student   Student   Student First Form   Sex Age Class Name   Class Teacher   Room
ID        Surname                                                             Number
S10204    HALL      Taighan      10B     F   13   Maths101    PRJ             651

S10204    HALL      Taighan      10B     M   13   GEO101      RW              532

S10204    HALL      Taighan      10B     F   13   SCI10       CW              161
Removing Redundancy
                 (“Normalization”)
If we create these tables we remove the redundancy but there is a problem.
Why?

     CLASS                                     STUDENT
     ClassID                                   StudentID
     Class Name                                Student First Name
     Class Teacher                             Student Surname
     Room Number                               Student DOB
                                               Student Form

 These tables have what is called a many to many relationship. That is there
 are many students in each class and there are many class for each student.
 This kind of relationship will not work in a database.
Step 2
To solve this problem we create an extra table which contains the StudentID and
ClassID for each student in each class.

What this does is remove the many to much relationship and replace it with
a one to many or many to one relationship.

That one student can be in many classes and one class has many students.
We can use the relationships to find the information we need in each case making
use of something called Queries that we will look at later.
How it looks
STUDENT
                                                         CLASS
StudentID
                                                         ClassID
FirstName
                                                         Class Name
Surname
                                                         Class Teacher
DOB
                                                         Room Number
Form

                          STUDENTTAKES
                          StudentID
                          ClassID


 This goes a long way to solving our problem but there remains a potential problem
 with the room number field which could give use problems in what we want to do
 with the data. Why ?
STEP 3 (optional?)
Room number is not actually related to the class. What happens if a class is in
more than one room for example? If you were to do the normalization properly
you would need to remove room Number and potentially create another table
Rooms as shown below. This is called an Entity Relationship Diagram and they are
used to show the data structure in a database.

This stage can sometimes be a really difficult to do as you really need to
understand what the data is going to be used for to see if it needs to be done.



       Student                      StudentTakes                        Class


                                                                     RoomClass


                                                                        Room
Try it for your self
Let’s imagine you want to keep a database of films and actors in those films. Using the
list of fields below can you create the table structure which would allow find
information about films and the actors in them?



Film      Film date Film           Film Genre Actor First   Actor       Actor   Director    Actor
Title               Description                Name         Surname     DOB                 Sex
Titanic   1997      Film about a   Romance     Kate         Winslet     1975    James       F
                    sinking ship                                                Cameroon
Titanic   1997      Film about a   Romance     Leonardo     Di Caprio   1974    James       M
                    sinking ship                                                Cameroon
Star      1977      Film about     Space       Mark         Hamill      1951    George Lucas M
Wars                space
Star      1977      Film about     Space       Harrison     Ford        1942    George Lucas M
Wars                space

Weitere Àhnliche Inhalte

Andere mochten auch

Dr Sajjad Ahmed Paracha
Dr Sajjad Ahmed ParachaDr Sajjad Ahmed Paracha
Dr Sajjad Ahmed Paracha
Ashfaq Ahmed
 
Basic Relational Databases
Basic Relational DatabasesBasic Relational Databases
Basic Relational Databases
Kevin Lester
 
V games 4 min 40 sec
V games  4 min 40 secV games  4 min 40 sec
V games 4 min 40 sec
BombBoyB52
 
Crc venturee 2011 1 min
Crc venturee 2011    1 minCrc venturee 2011    1 min
Crc venturee 2011 1 min
BombBoyB52
 
Venture crew 169
Venture crew 169Venture crew 169
Venture crew 169
BombBoyB52
 
Shooting & climbing weekend march 2012 website 3min 20 sec
Shooting & climbing weekend march 2012 website 3min 20 secShooting & climbing weekend march 2012 website 3min 20 sec
Shooting & climbing weekend march 2012 website 3min 20 sec
BombBoyB52
 
Prezentacja programu Audacity.
Prezentacja programu Audacity.Prezentacja programu Audacity.
Prezentacja programu Audacity.
komarex
 

Andere mochten auch (8)

Dr Sajjad Ahmed Paracha
Dr Sajjad Ahmed ParachaDr Sajjad Ahmed Paracha
Dr Sajjad Ahmed Paracha
 
Basic Relational Databases
Basic Relational DatabasesBasic Relational Databases
Basic Relational Databases
 
V games 4 min 40 sec
V games  4 min 40 secV games  4 min 40 sec
V games 4 min 40 sec
 
Crc venturee 2011 1 min
Crc venturee 2011    1 minCrc venturee 2011    1 min
Crc venturee 2011 1 min
 
Venture crew 169
Venture crew 169Venture crew 169
Venture crew 169
 
Shooting & climbing weekend march 2012 website 3min 20 sec
Shooting & climbing weekend march 2012 website 3min 20 secShooting & climbing weekend march 2012 website 3min 20 sec
Shooting & climbing weekend march 2012 website 3min 20 sec
 
Prezentacja programu Audacity.
Prezentacja programu Audacity.Prezentacja programu Audacity.
Prezentacja programu Audacity.
 
Public speaking
Public speakingPublic speaking
Public speaking
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂŒrzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Basic Relational Databases

  • 2. School Database Student ID Student Student Form Sex Age Class Class Room Surname FirstName Name Teacher Number S10204 HALL Taighan 10B F 13 Maths101 PRJ 651 S10204 HALL Taighan 10B M 13 GEO101 RW 532 S10204 HALL Taighan 10B F 13 SCI10 CW 161 S10412 CRIST Graeme 10D M 14 GEO101 RW 532 S10412 CRIST Graeme 10D M 14 HIS101 HJD 541 S10101  CRIST Graeme 10D M 14 Maths101 PRJ 651 S10414 HASLETT Oliver 10D M 14 Maths101 PRJ 651 S10101 FUNG JUNE 10A F 15 Maths101 PRJ 651 S10101 FUNG JUNE 10B F 15 GEO101 HJD 532 S10101 FUNF  JUNE 10A F 15 HIS101 HJD 541 This is part of a database showing all students and their classes in a school.
  • 3. Data integrity and Data Redundancy These issues can have a significant impact on the ability for a database to actually do the job that it is intended to do. Data Integrity is the idea that information always keeps its meaning. This is particularly difficult when database get really big if you imagine if the database above includes every student and every class in the school it could contain over 10000 records.
  • 4. Examples of Data integrity Examples of Data integrity  A simple typo means that it might mean that information gets lost if we search for June in the data. This problem is much more likely because of the redundancies issues we will look at later.  This example can cause real problems it shows that the same information in the database can mean two different things is s10101 Graeme or June. What happen is s10101  Here we have June in two classes? Which one is right? What if we need to fine June in registration urgently
  • 5. Hard to find? They can be really hard to find in this Database there are more integrity errors can you find them?
  • 6. Bad or unnecessary Fields Names Age is an example of a bad field name for the obvious reason that it can change at anytime. It would be much better to use DOB as age can always be calculated and of course it does not change. Form may also be unnecessary in this case as the reference number is CODED to give the form. Can you explain the code?
  • 7. School Database Student ID Student Student Form Sex Age Class Class Room Surname FirstName Name Teacher Number S10204 HALL Taighan 10B F 13 Maths101 PRJ 651 S10204 HALL Taighan 10B M 13 GEO101 RW 532 S10204 HALL Taighan 10B F 13 SCI10 CW 161 S10412 CRIST Graeme 10D M 14 GEO101 RW 532 S10412 CRIST Graeme 10D M 14 HIS101 HJD 541 S10101 CRIST Graeme 10D M 14 Maths101 PRJ 651 S10414 HASLETT Oliver 10D M 14 Maths101 PRJ 651 S10101 FUNG JUNE 10A F 15 Maths101 PRJ 651 S10101 FUNG JUNE 10B F 15 GEO101 HJD 532 S10101 FUNF JUNE 10A F 15 HIS101 HJD 541 Table showing data redundancy .
  • 8. Data Redundancy Data redundancy is the where data needs to be entered and stored on more than one occasion. For example if you look at the table above you can see that we have entered Oliver Haslett’s first name and surname every time we put him into a class. This can cause problems such as increasing the chance of someone entering his name wrong. It also means more time is needed to enter data and more space is needed when it is saved. There is a way around this 




  • 9. Relational Databases The simple way to think about this is that when you create a table of data in a database you should have fields which directly relate to the key field of the table. In our table we can see that the Class teacher, Class Name and Room Number are not related to the Student. The Student ID is unique so the first name, surname, form, Sex is all related to the student but the other fields do not. We can now look at how to remove redundancy issues a process called normalization, although this can be very complex and we are only going to look it is a simple way. Student Student Student First Form Sex Age Class Name Class Teacher Room ID Surname Number S10204 HALL Taighan 10B F 13 Maths101 PRJ 651 S10204 HALL Taighan 10B M 13 GEO101 RW 532 S10204 HALL Taighan 10B F 13 SCI10 CW 161
  • 10. Removing Redundancy (“Normalization”) If we create these tables we remove the redundancy but there is a problem. Why? CLASS STUDENT ClassID StudentID Class Name Student First Name Class Teacher Student Surname Room Number Student DOB Student Form These tables have what is called a many to many relationship. That is there are many students in each class and there are many class for each student. This kind of relationship will not work in a database.
  • 11. Step 2 To solve this problem we create an extra table which contains the StudentID and ClassID for each student in each class. What this does is remove the many to much relationship and replace it with a one to many or many to one relationship. That one student can be in many classes and one class has many students. We can use the relationships to find the information we need in each case making use of something called Queries that we will look at later.
  • 12. How it looks STUDENT CLASS StudentID ClassID FirstName Class Name Surname Class Teacher DOB Room Number Form STUDENTTAKES StudentID ClassID This goes a long way to solving our problem but there remains a potential problem with the room number field which could give use problems in what we want to do with the data. Why ?
  • 13. STEP 3 (optional?) Room number is not actually related to the class. What happens if a class is in more than one room for example? If you were to do the normalization properly you would need to remove room Number and potentially create another table Rooms as shown below. This is called an Entity Relationship Diagram and they are used to show the data structure in a database. This stage can sometimes be a really difficult to do as you really need to understand what the data is going to be used for to see if it needs to be done. Student StudentTakes Class RoomClass Room
  • 14. Try it for your self Let’s imagine you want to keep a database of films and actors in those films. Using the list of fields below can you create the table structure which would allow find information about films and the actors in them? Film Film date Film Film Genre Actor First Actor Actor Director Actor Title Description Name Surname DOB Sex Titanic 1997 Film about a Romance Kate Winslet 1975 James F sinking ship Cameroon Titanic 1997 Film about a Romance Leonardo Di Caprio 1974 James M sinking ship Cameroon Star 1977 Film about Space Mark Hamill 1951 George Lucas M Wars space Star 1977 Film about Space Harrison Ford 1942 George Lucas M Wars space