SlideShare a Scribd company logo
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

More Related Content

PPTX
Basic Relational Databases
PPT
Animal Research Using PebbleGo
PPT
Venture crew 169 ethan
PPTX
We Love To Research
PPTX
We Love The Library
PPT
Florida sea base 2009 7. 5 min
PPTX
We Love To Read
PPTX
Database intro
Basic Relational Databases
Animal Research Using PebbleGo
Venture crew 169 ethan
We Love To Research
We Love The Library
Florida sea base 2009 7. 5 min
We Love To Read
Database intro

Viewers also liked (8)

PDF
Dr Sajjad Ahmed Paracha
PPTX
Basic Relational Databases
PPT
V games 4 min 40 sec
PPT
Crc venturee 2011 1 min
PPT
Venture crew 169
PPT
Shooting & climbing weekend march 2012 website 3min 20 sec
PPTX
Prezentacja programu Audacity.
PPT
Public speaking
Dr Sajjad Ahmed Paracha
Basic Relational Databases
V games 4 min 40 sec
Crc venturee 2011 1 min
Venture crew 169
Shooting & climbing weekend march 2012 website 3min 20 sec
Prezentacja programu Audacity.
Public speaking
Ad

Similar to Basic Relational Databases (20)

PDF
Db normalization
PPT
Normalization
PDF
Normalization
KEY
Normalization
PDF
Form5 cd6
PPTX
Positive Flow
DOC
Using infinite campus
PDF
School Software Students information
PDF
Algebra
PDF
Using Infinite Campus (Revised)
PDF
RDBMS Algebra
PPT
Sql ppt
PPTX
Section2.2
PPTX
Entity relationship modeling
PDF
Introduction to database
PPTX
L2 identifying photos
PPTX
Ascilite 2012
PPT
2 rel-algebra
Db normalization
Normalization
Normalization
Normalization
Form5 cd6
Positive Flow
Using infinite campus
School Software Students information
Algebra
Using Infinite Campus (Revised)
RDBMS Algebra
Sql ppt
Section2.2
Entity relationship modeling
Introduction to database
L2 identifying photos
Ascilite 2012
2 rel-algebra
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Empathic Computing: Creating Shared Understanding
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Per capita expenditure prediction using model stacking based on satellite ima...
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
1. Introduction to Computer Programming.pptx
Spectroscopy.pptx food analysis technology
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Getting Started with Data Integration: FME Form 101
Empathic Computing: Creating Shared Understanding
MIND Revenue Release Quarter 2 2025 Press Release
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine Learning_overview_presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25-Week II

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