Database Management Systems Session 5
Objectives Understand the structure of a data table Understand data normalisation Understand and use the terms: - entity - attribute - field - record - primary key Understand the principle of linking tables in a relational database
Topics Database Tables Normalisation Linking Tables Database Schema
Address Book Name Address Tel FAX Mobile Email Gertrude Jones 34 Great West Road London W23 8RT 020 8564 1234 07814 100200 gertie@somecompany.co.uk 020 8564 1235 Record Field Data
Contacts Table Field Record Name Address Phone FAX Mobile Email Darren Adamson 6 Spring Gardens 020 7885 1236 08562 100099 dadam@ahomesp.co.uk Gertie Jones 34 Great West Road, London W23 8RT 020 8354 1234 07954 100200 gertie@somecompany.co.uk Cedric Jones 07951 111233 cedric@someorg.org Jessie Wallace 18 Loch Arber Crescent, Edinburgh EH8 9OP 0123 266 5889 0123 889 7756 08962 333568 wallacej@serviceprov.net Field Record
Entities and Attributes “I want to record the names and addresses of my contacts along with their phone numbers, FAX numbers, mobile numbers and their email addresses” Entity: Contact Attributes of Contact: - Name - Address - Phone - FAX - Mobile - Email
Ordered Collection of Data Characteristics: - each Record is unique - repetition of data is avoided Database Tables follow certain rules called: - First Normal Form - Second Normal Form - Third Normal Form
Primary Key A Field (or fields) which has a unique value for each record Eg. - National Insurance number - Car registration number - Passport number
First Normal Form Data is atomic, self-contained and independent No field in a table contains any repeating groups No record in a table contains repeating groups
Second Normal Form All the non-key columns must be dependent on the entire primary key
Third Normal Form All the non-key columns of the table must be only dependent on the primary key and not on each other
Identifying Entities and Relationships Read the scenario and pick out the nouns Pick out which nouns are giving information about another noun eg Name is telling you additional information about Contact In this case Contact is the Entity and Name is an Attribute of that Entity
Exercise: Entities and Attributes Pick out the database entities and suggest useful attributes: A library has about 300 borrowers who complete a registration form when they join. There are about 25,000 books available for loan. A loan is for 2 weeks and may be renewed over the phone. Overdue books are charged at 10p per day. If a book is out on loan, another borrower may request it.
Text Data For example the Name field The size of the field is determined by the maximum number of characters you want to store The size of the field is the same for each record so empty spaces waste storage space
Number Data For Example in the Salary field The size of the field is determined by the maximum precision of the numbers you want to store Integer Long Integer Single Double
Date Data Stored on the computer as a number Different Formats eg: Short date – 01/02/06
Logical Data Otherwise known as ‘Yes/No’ Takes up minimal storage space
Sorting on Text Data Yellow 22 3 Apple A plum 22 3 A plum Apple Yellow Sort Ascending
Points to Consider What type of data is a telephone number? How can you name files on a Windows system with digits so that they sort correctly?
Linking on the Primary Key Customer Customer ID Name Address Phone Credit Limit Purchase Purchase ID Date Item Amount PK
Linked Fields Linked Fields One to Many Relationship Purchases Purchase ID Customer ID Item 1789 3 Fig Rolls 1790 2 Arabiata Sauce 1791 Black Olives 1792 Porcini Mushrooms 1793 5 Smoked Salmon 1794 4 Cod Roe 1795 1 Cured Ham 1796 Sugar Snap Peas 1797 Ginger Beer 1798 Ground Cumin Customers Customer ID Name 1 Felipe Martins 2 Tom Smith 3 Kimberley Brown 4 Steve Hammer 5 Alfred Futterkist One to Many Relationship
Most Common Types of Relationship Staff Purchase Customer Employee Contractor One to Many Where one record in one table links with many in the other table One to One Where one record in one table links with one in the other table
Many to Many Relationship Borrower Book Many to Many Link A borrower can borrow many books and a book may be borrowed by many borrowers – over a period of time
Resolving Many to Many Relationships Many to Many Links are impossible to programme into a database system. This type of relationship may be resolved into 2 many to one relationships. Book Borrower Loan
Scenario Draw an E-R diagram: Northwind is a wholesaler of delicatessen products. Customers are all over the world and each member of the sales team may deal with any customer. Products is kept in a central warehouse and items are ordered from Suppliers when numbers reach the re-order level. An Order may consist of several different products and may be delivered by any one of three Shippers.
Entity-Relationship Diagram