Unit 4 Normalisationand Relational Database Management Systems.

Slides:



Advertisements
Similar presentations
Normalisation.
Advertisements

Organisation Of Data (1) Database Theory
Topic Database Normalisation S McKeever Advanced Databases 1.
Normalisation Ensuring data integrity in database design 1.
Athabasca University Under Development for COMP 200 Gary Novokowsky
Database Fundamentals Lecture 5. The Design Process continued.
WELL-DESIGNED DATABASES Process faster Easy to develop and maintain Easy to read and write code.
Database Design Chapter 2. Goal of all Information Systems  To add value –Reduce costs –Increase sales or revenue –Provide a competitive advantage.
Project and Data Management Software
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Relational Databases What is a relational database? What would we use one for? What do they look like? How can we describe them? How can you create one?
Database Normalization CP3410 Daryle Niedermayer, I.S.P., PMP.
Entity Relationship Diagram Farrokh Alemi Ph.D. Francesco Loaiza, Ph.D. J.D. Vikas Arya.
WJEC Applied ICT Databases – Terminology and Notation DEFINITION A database is a collection of data or information which is held together in an organised.
CREATE THE DIFFERENCE Normalisation (special thanks to Janet Francis for this presentation)
SQL Normalization Database Design Lecture 5. Copyright 2006Page 2 SQL Normalization Database Design 1 st Normal Form 1 st Normal Form 2 nd Normal Form.
Unit 4 Normalisationand Relational Database Management Systems.
Driving School Database
Data Modelling – ERD Entity Relationship Diagram’s Entity Relationship Diagrams and how to create them. 1.
Relational databases and third normal form As always click on speaker notes under view when executing to get more information!
Richard Merritt1 Data Modelling Entities, Attributes and Relationships.
Normalization A technique that organizes data attributes (or fields) such that they are grouped to form stable, flexible and adaptive entities.
Normalisation Mia’s Sandwich Shop The Process Explained.
Module III: The Normal Forms. Edgar F. Codd first proposed the process of normalization and what came to be known as the 1st normal form. The database.
Normalization (Codd, 1972) Practical Information For Real World Database Design.
SALINI SUDESH. Primarily a tool to validate and improve a logical design so that it satisfies certain constraints that avoid unnecessary duplication of.
CORE 2: Information systems and Databases NORMALISING DATABASES.
MS Access: Creating Relational Databases Instructor: Vicki Weidler Assistant: Joaquin Obieta.
Introduction to Databases Trisha Cummings. What is a database? A database is a tool for collecting and organizing information. Databases can store information.
Information Systems & Databases 2.2) Organisation methods.
Database Design. Referential Integrity : data in a table that links to data in another table must always work in such a way that following the link will.
Databases. What is a database?  A database is used to store data. The word DATA is actually Latin for FACTS. A database is, therefore, a place, or thing.
Handling Many to Many Relationships. 2 Handling Many:Many Relationships Aims: To explain why M:M relationships cannot be implemented in relational database.
+ Information Systems and Databases 2.2 Organisation.
Relational Databases. Relational database  data stored in tables  must put data into the correct tables  define relationship between tables  primary.
Quiz questions. 1 A data structure that is made up of fields and records? Table.
Database Design Normalisation. Last Session Looked at: –What databases were –Where they are used –How they are used.
+ Relational Model IST210 Class Lecture. + Premiere Products A new company that is going to sells random merchandise via sales representatives You have.
Chapter 56 Relational Database Design Compiled by Eddie Moorcroft.
Planning & Creating a Database By Ms. Naira Microsoft Access.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Flat Files Relational Databases
Understand Primary, Foreign, and Composite Keys Database Administration Fundamentals LESSON 4.2.
Instructor: Pavlos Pavlikas1 How Data is Stored Chapter 8.
Understand Relational Database Management Systems Software Development Fundamentals LESSON 6.1.
Sample Table Standard Notation Entity name in uppercase
Databases Flat Files & Relational Databases. Learning Objectives Describe flat files and databases. Explain the advantages that using a relational database.
What Is Normalization  In relational database design, the process of organizing data to minimize redundancy  Usually involves dividing a database into.
©G. Millbery 2005Relational and Online Database Management SystemsSlide 1 Module Relational and Online Database Management Systems Normalisation.
1 Files and databases Suppose a school stores information about its students on record cards. Each student has their own card; this is their record. Record.
Starter Draw a mind map for topic 6 Databases. Objectives Revise topic CG3.6 Databases using various activities and ensure that topics covered are understood.
Year 12 > 13 Applied GCE ICT Unit 7 Using Database Software.
Normalisation FORM RULES 1NF 2NF 3NF. What is normalisation of data? The process of Normalisation organises your database to: Reduce or minimise redundant.
NORMALISATION OF DATABASES. WHAT IS NORMALISATION? Normalisation is used because Databases need to avoid have redundant data, which makes it inefficient.
Decision Analysis Fall Term 2015 Marymount University School of Business Administration Professor Suydam Week 10 Access Basics – Tutorial B; Introduction.
2b. Create an Access Database Lingma Acheson Department of Computer and Information Science IUPUI CSCI N207 Data Analysis with Spreadsheets 1.
Databases Chapter 9 Asfia Rahman.
Database, tables and normal forms
Databases Chapter 16.
Relational and Online Database Management Systems Normalisation
Database Normalization
Entity relationship diagrams
Normalization and Databases
Flat Files & Relational Databases
Lesson Objectives Aims You should know about: 1.3.2:
Databases.
The ultimate in data organization
Introducing a Database
BTEC ICT – Unit 18 With Mr Griffiths.
Normalisation Un-normalised Data (UNF or 0NF) Data Attributes:
Presentation transcript:

Unit 4 Normalisationand Relational Database Management Systems

Files, records and fields Information in computer-based filing systems is stored in data files. A file is a collection of related records. Related records means that each record in a file will contain the same sort of information as all the other records. A record must have at least one field. A field contains one individual item of data.

Computerised databases A database is a organised collection of related data. Use a database when you need to store lots of data Key Field In this table, each column is a different field Each row is a record Data is organised into FIELDS and RECORDS. The KEY FIELD contains an item of data that is UNIQUE to that record.

FLAT-FILE or RELATIONAL? A Flat-file database has all the data organised into ONE table. Many modern databases are described as being relational. A relational database stores data in tables that are linked together using common fields. A database is a structured collection of related data.

Members No ForenameSurnameAddress 1Address 2Tel NoVideo No 122EvansDaniel7 High StAberaeron LeesAnna2 Bridge St Lampeter EvansDaniel7 High StAberaeron Title Certificate Category Cost per day Date loaned Length of loan Date due Total cost Crash12 Comedy £3.0012/09/051 day13/09/05£3.00 Emma12Drama£3.0012/09/051 day13/09/05£3.00 War of the Worlds PGSci FI£3.5914/09/052 days16/09/05£3.50 Duplication in Flatfile

Linked data tables in a relational database Primary Key Foreign Key Primary Key Loans ID Primary Key

Normalisation

First Normal Form (1NF) A table is in first normal form if all the data values are atomic values In English, this means that there can only be one value per attribute –The following table records managers of shoe shops. One manager can be a manager of more than one shop ManagerShop ShawGloucester, Bristol JonesTrafalgar SmithAshford, Canterbury GregBrighton, Hove This is not in 1NF because each attribute does not contain a single value. For example, Shaw is manager of Gloucester and Bristol. To be in 1NF these values need to be separated

First Normal Form (Cont.) This is not in 1NF because the values are not atomic ManagerShop ShawGloucester, Bristol JonesTrafalgar SmithAshford, Canterbury GregBrighton, Hove  This is in 1NF because each cell has only 1 value ManagerShop ShawGloucester ShawBristol JonesTrafalgar SmithCanterbury SmithAshford GregBrighton GregHove

First Normal Form - Difficulties Terminology differences: –Atomic –Indivisible –Scalar Attributes to be careful of include: –Address – e.g 24 The Grange, Oxford. OX4 6JP is not scalar –Telephone – e.g is not scalar (code and number) –Atomic does not only refer to the data, but to the use of data. Just because you can split data does not means that you should. Telephone should only be split if you need to sort by code for example

Terminology: Primary Key A primary key is a unique value which allows each record to be identified CustomerIDFirstNameLastName 1BrianSmith 2HarryAdams 3JoeJones 4HarrySmith  FirstName or LastName cannot be primary keys as they contain duplicate and un-unique data. CustomerID uniquely identifies a row and is therefore suitable

Sometimes there is no single field appropriate as a primary key. In these circumstances, it is possible to select two fields which, when taken together create a unique value: OrderNoItemNoEmployeeNoCustomerNoItemNameQuantity Nut Bolt Washer Bolt Washer4 There are no unique fields, so the Primary Key is best suited by OrderNo and ItemNo taken together

Functional Dependence Functional Dependency –If you know the length, height and width of a room, you can calculate its volume: Volume = width x height x length –Volume is functionally dependent on the length, height and width –Consider the following database, which holds orders. Each order is entered by a specific employee (only one employee is allowed to enter an order)

Functional Dependency OrderNoItemNoEmployeeNoCustomerIDItemNameQuantity Nut Bolt Washer Bolt Washer4 EmployeeNo is functionally dependent on OrderNo OrderNo functionally determines EmployeeNo OrderNo is the determinant The relationship is only one way

Functional Dependency Functional Dependency – More examples –A table containing PupilName and PupilID PupilName is functionally dependent on PupilID PupilIDPupilName 34Smith 65Sams 87Hodd 654Smith  If you know the PupilID you can find any PupilName, but if you only have the name, it is not always possible to find the PupilID

Second Normal Form (2NF) To be in 2NF a table must: –Be in 1NF (obviously) –Have all non key fields fully functionally dependant on the primary key In English: –A non key field is one that is not part of the primary key –It means that you need to use the primary key to determine the value of the other fields in the table If you can find the value of other fields without using the primary key, you should remove that field from the table and place it in a separate table

Second Normal Form This table is not in 2NF –The primary key is OrderNo and ItemNo (combined) –The quantity is functionally dependant on the Primary Key The ItemName is functionally dependant on the ItemNo not the primary key The CustomerID is functionally dependant on the OrderNo, not the Primary Key The EmployeeNo is functionally dependant on the OrderNo, not the primary key OrderNoItemNo EmployeeNoCustomerID Item Name Quantity Bolt Washer Nut Bolt4

Second Normal Form (Cont.) We need to remove ItemName, CustomerID and EmployeeNo from the table – this involves setting up new tables OrderNo*ItemNo*EmployeeNoCustomerIDItemNameQuantity Bolt Washer Nut Bolt4

Second Normal Form (Cont.) EmployeeNo and CustomerNo are functionally dependant on the OrderNo, therefore they are suited for a new table: Orders OrderNo* EmployeeNo CustomerNo  The Quantity is functionally dependant on both the OrderNo and the ItemNo, therefore they have a new table: OrderSpec OrderNo* ItemNo* Quantity  We are left with the ItemName. This is functionally dependent on the item number only, therefore a new table is required: Stock ItemNo* ItemName

Second Normal Form (Cont.) Do not be afraid to create new tables as appropriate but make sure that you are not breaking tables down for the sake of doing so. It should be appropriate and have advantages Make sure that each table you create is in both 1NF and 2NF as appropriate Ensure the original table can be rebuilt from the data contained in the new table

Second Normal Form A slightly different approach: –Each relation should only contain information about a single entity. If it contains information about more than one entity, then the table needs to be broken down –For example: HOUSE(HouseName, Street, Town, City, Postcode, CityPopulation) –The CityPopulation is a separate entity to the house details, so it needs to be removed to a separate table –To create a separate table, remove the attribute and a copy of the attribute on which it is dependent. The copy becomes the link between the two tables HOUSE(HouseName, Street, Town, City, Postcode) CITY(City,CityPopulation)

Third Normal Form (3NF) To be in 3NF a table must: –Be in second (and therefore also first) normal form –Have all non key fields non transitively dependent on the primary key In English: –Fields which do not form part of the primary key must always be solely dependent on the primary key and not on anything else, such as another non key field –Aside: it is usually difficult to create a table which is not in 3NF – usually you will jump straight from 1NF to 3NF!

Third Normal Form (Cont.) In the following example, the company keeps data on its employees. Each employee is allocated a city where they work and each city is given a CityID. Their salary is dependent on the type of job they do. Initially check the table below to ensure it is in 2NF before continuing EmployeeNoLastNameFirstNameCityCityIDTypeSalary 1TaylorSarahCanterburyCBManager£22,000 2JonesSamLondonLNSales Person£15,000 3SmithSallyBirminghamBMAdmin Assistant£13,500

Third Normal Form (Cont.) CityID is dependent on City Salary is dependent on Type Therefore this table is not in 3NF EmployeeNoLastNameFirstNameCityCityIDTypeSalary 1TaylorSarahCanterburyCBManager£22,000 2JonesSamLondonLNSales Person£15,000 3SmithSallyBirminghamBMAdmin Assistant£13,500

Third Normal Form (Cont.) Remove City from the table and create a new cities table Remove Salary from the table and create a job type table Staff EmployeeID* LastName FirstName CityID TypeID Cities CityID* City JobTypes TypeID* Salary