Top Banner
Introduction to Database Technology Session 1 Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: [email protected]
31

Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: [email protected].

Apr 01, 2015

Download

Documents

Silas Jermyn
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Introduction to Relational Databases

and MySQL

Lecturer: Jerry Smallwood

Email: [email protected]

Page 2: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

DT-Wed Class Schedule

Session 1: Wed 14th October Session 2: Wed 21st October Session 3: Wed 28th October Session 4: Wed 4th November TMA Self-Study Session: Wed 11th November Session 5: Wed 18th November (TMA Due) Session 6: Wed 25th November Session 7: Wed 2nd Devember Session 8: Wed 9th December FMA Due: 2pm on Monday 11th January 2010

Page 3: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

DT Assessment (2009/10)

TMA (Tutor Marked Assignment) The TMA carries 25% of the total marks requires you to produce a design for a database for Miles

Better, a small car hire company TMA Self-Study Session: Wed 11th November TMA Submission Deadline: 6pm on Wed 18th November

FMA (Final Module Assignment) FMA carries 75% of the total marks requires you to create the Miles Better car hire database that

you designed for the TMA FMA Submission Deadline: 2pm on Monday 11th January 2010

Page 4: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

ITApps Assessment (2009/10)

ITApps Assessment Process (2009/10) Full details on the ITApps website:

http://www.dcs.bbk.ac.uk/itapps/assessment.html Note: Late submissions is possible but at a penalty (mark

capped at 40% of total marks for that assignment) Note: note issue of ‘mitigating circumstances’

Chair ITApps/FdScIT Exam Board Ian Harrison, email: [email protected] Contact re. ‘mitigating circumstances’ or any other issues that

prevent you submitting the TMA/FMA on time. Note: Lecturers cannot grant extensions to deadlines

Page 5: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Session 1 - Overview

• Introduces the basic concept of a database and shows why it is useful.

• Introduces the Yum Juices case study that will be used throughout this module.

• Introduces you to MySQL, the Open Source Relational Database Management System that you will use to study this module.

Page 6: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

What is a database?

• an organized body of related information wordnet.princeton.edu/perl/webwn

• A collection of data organized for rapid search and retrieval by a computer.www.clock.org/~jss/glossary/d.html

• A collection of related data stored in one or more computerized files in a manner that can be accessed by users or computer programs via a database management system.sparc.airtime.co.uk/users/wysywig/gloss.htm

• A database collects information into an electronic file, for example a list of customer addresses and associated orders. Each item is usually called a ‘record’ and the items can be sorted and accessed in many different ways.www.webmotion.co.uk/resources/d.php

• A database is an electronic filing collection of information that is organized so that it can easily be accessed, managed, and updated.www.salvagedata.com/hard-drive-recovery-terms/

• A set of related files that is created and managed by a database management system (DBMS).www.bradycommunications.com/perspectives/glossary.aspx

• A collection of information stored in one central location. Many times, this is the source from which information is pulled to display products or information dynamically on a website.www.gravitatedesign.com/glossary.htm

• Relational data structure used to store, query, and retrieve information.fwie.fw.vt.edu/tws-gis/glossary.htm

Source: Google “Define: database”

Page 7: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

A database consists of…

• A collection of data

• Software to store, access and manage the data (DBMS)

User A User B

Collection of Data

DBMS

Page 8: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Advantages 1

• Data independence– Changes to structure of the data do not affect programs used to

access it

• Consistency of data– Each item only recorded once. No danger of its being updated in

one place but not another

• Reduced redundancy– Each item of data is only stored in a single place. No duplication

of data

• Data integrity– Control and check data entry

• Data security– Restrict access to authorised users

Page 9: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

• Centralised control– Database administrator will control who has access to the data

• More information– Users have access to wider range of data that might previously

have been held in different places and possibly on incompatible systems

• Greater productivity– The DBMS query language allows users to design their own

queries and get an immediate response

Advantages 2

Page 10: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Disadvantages

• Cost– Database systems are complex, difficult, and time-consuming to

design. – Initial training required for all programmers and users. – Hardware and software start-up costs.

• Potential loss of data through system failure– Need for backup and recovery procedures– Essential to ensure that no data is lost

• Security– Data may get into the wrong hands

• Privacy– The increased use of databases means a large amount of

personal information is stored in many different places

Page 11: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Data Storage• Data is stored in tables• Each row is a record• Each column is an item of data (field) within

the recordPet

pet_name pet_type

Sid snake

Minnie mouse

Mickey mouse

Grommit dog

Mog cat

Bubbles goldfish

Page 12: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Types of Database

• Flat file– All data in a single table– You can use a spreadsheet such as Excel to

create a database of this type

• Relational– Data split into related tables, linked by keys

Page 13: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Flat File Database – example 1

Yum has stored details of customers and the orders they have placed in a single table.

What problems might this cause?

What happens when they also record details of the items included in each order?

Page 14: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Flat File Database – example 2

ID Date OrderItems CustID Title Fname Sname …

1 12/06/2008 16 Sparkling Sunshine £3.25 x 2

1 Citrus Zing £2.50 x 3

2 Mr Jack Hill

Multiple items in each order

Table needs a record for each order item

Even more duplication of data!

Page 15: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Relational Database

• Data is split into entities• An entity is something that the database

stores information about• A noun• A person, place, thing, event• Data for each entity is stored in a separate

table (known as a relation)• What are the entities in the previous

example?

Page 16: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Yum Database Entities

• Each of the following entities will be stored in a table in the Yum database:– Customers– Orders– Order Items– Juices

Page 17: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Attributes

• An attribute is a property of an entity• Each attribute is a column in the table for its associated

entity• Each row in the table is a record. The attributes are the

fields in the record• What are the attributes for the customer entity in the

Yum database?– Customer ID– Title– First name– Surname– …

Page 18: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Primary Key

• A field (or fields) that uniquely identifies each record in a table

• All tables in a relational database should have a primary key

• What would be a suitable primary key for the customer table in the Yum database?

Page 19: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Foreign key

• Used to relate one entity to another to allow the database to retrieve related data

• The primary key of the parent table is stored in the related record of the child table

Page 20: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Foreign key - example

• To relate customers to the orders they have placed we store the customer ID of the customer placing the order in the order table

• Customer ID is the primary key of the customer table and a foreign key in the order table

• Each customer ID will be recorded just once in the customer table but may be recorded many times in the order table

Page 21: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Customer Table

CustID Title Fname Sname Address1

1 Mrs Jill Hill 2 Steep St

2 Mr Jack Hill 2 Steep St

3 Ms Bo Peep 5 Flockington Rd

4 Mr Humpty Dumpty 29 Shell Ave

5 Mr Harley Davidson 5b Bike Alley

6 Miss Mary Contrary 1 Flower Gdns

Order Table

OrderID

CustID

Date

1 2 12/06/2008

2 5 12/06/2008

3 6 15/06/2008

4 2 23/06/2008

5 3 23/06/2008

6 1 23/06/2008

7 5 01/08/2008

8 4 02/08/2008

9 3 10/08/2008

10 3 15/08/2008

Primary key Foreign key

Customer and Order Tables in the Yum Database

What is the name of the customer who placed order number 1?

What are the numbers of the orders placed by Bo Peep?

Page 22: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Database Terminology

• Entity

• Attribute

• Record (row)

• Column or Field

• Table or Relation

• Primary Key

• Foreign Key

Page 23: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Now do…

• Hands-on Exercise 1– Explore the Yum Juices sample data

Page 24: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Relational Database Management System (RDBMS)

• Software to manage data stored in related tables

• Examples:– MySQL– Access– Oracle– SQL Server

Page 25: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

SQL

• Structured Query Language• Query language for accessing and modifying

data in relational databases• Used by all RDBMSs• Data Definition

– Store data– Tables

• Data Manipulation– Retrieve information– Queries

Page 26: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

MySQL is…

An Open Source

Relational Database Management System (RDBMS)

Page 27: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Open Source Software

• Free to use, modify and redistribute

• Source code available for modification by users

• Developed collaboratively

Page 28: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Finding out about MySQL

The MySQL website:

http://www.mysql.com/

The Reference Manual

Page 29: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Using MySQL for this Module

• MySQL is a client/server system• Your database is stored on the School of

Computer Science MySQL server mysqlsrv– A database has been created for you as you do not

have sufficient permissions to create a database on this server

• You use the telnet Internet Protocol to connect to the server– You need a username and password from your tutor

before you can do this

Page 30: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Now do…

• Hands-on Exercise 2:– Connect to your database– Use basic SQL commands

Make sure you have got your MySQL username and password from your tutor.

Page 31: Session 1Introduction to Database Technology Introduction to Relational Databases and MySQL Lecturer: Jerry Smallwood Email: ubaceg4@dcs.bbk.ac.uk.

Introduction to Database Technology Session 1

Review Basic SQL Commands

SHOW DATABASES

USE database_name

SHOW TABLES

CREATE TABLE

SHOW COLUMNS

INSERT INTO table_name

UPDATE table_name

SELECT * FROM table_name

DELETE FROM table_name

DROP table_name