Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

17
RELATIONAL DATABASES Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122

Transcript of Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

Page 1: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

RELATIONAL DATABASES

Lecture 1 - Introduction Databases & module

Emma-Jane PhillipsPandon 122

Page 2: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

Relational Databases

• Welcome to the module

• How the module is organized and assessed

• What YOU need to do to pass this module

• Database Fundamentals

• Summary

Page 3: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

The module is taught with 1hr Lecture and 1 hr seminars• You must make notes in lecture (in addition to the printed booklet)• There are NO handouts other than the printed booklet• You are expected to do additional reading between lectures and it

is assumed that you will have done this• You MAY record the lectures provided you ASK, you may NOT

video the classes and you do not have permission to distribute the recordings.

• Seminars must be attended, if you miss the seminar you WILL fall behind, most tutors will NOT see you outside of a seminar.

• If you do not understand ASK!

This module is assessed by Exam and In-class tests (milestones)• There is an exam in week 8 (reading week) worth 50%• Milestones are worth 12½ % each and are in week 13 of semester

1, and weeks 3, 8 and 13 of semester 2• If you these assessment you WILL RECIVE A MARK OF 0

Page 4: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

Relational Databases and SQL

So, some questions to start with…

1. What is a database

2. What is a relational database?

3. What are the components of a relational database?

4. What is SQL?

Q1. a database is any organised collection of data, paper based or computerised, it could be a well organised filing or collection of micro fiches. In this unit we are referring to computerised data stores, the type that are utilised within businesses and companies. We are looking at electronic data such as text, images etc.

Q2. a relational database is where the data in the data store (remember we are looking at electronic data stores in this module) is grouped in data ‘families’ and the groups of data (tables) are connected to each other. For example a database of university data would have groups/tables for students, modules, courses, staff etc. In this course we will look at creating the relational databases and how we identify the data groups and extract the data from the database

Q3 a database is made up of things such as tables, data, coding elements. In the databases that we are looking at in this module we are focusing on ‘enterprise’ databases, these are databases that are able to handle large amounts of data and multiple users hitting the database at any one time. This type of database has a Database management system (DBMS) this is the control central for the database. In the majority of databases and all enterprise databases data is accessed via the DBMS and the components of the database are controlled by the DBMS but we will cover this in more detail later

Q4. SQL stands for Structured Query Language. It has a variety of versions and extensions depending upon the database that is being accessed. Standard SQL follows a standard that means that all databases supporting the Standard can use that version of SQL. Basic SQL allows the user to select, insert, delete and update data in the database, an extension (called SQL* Plus in oracle) allows aggregation functions, grouping and some manipulation and a further extension (PL/SQL in oracle) will allow you to use a procedural language version of SQL to allow loops and if statements etc.

Page 5: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

What is a database?“a collection of data that is permanently stored on a computer”

A database must be able to:• Hold different types of data in a collection• Record the relationships between the different items in the

collections• Have a ranges of sizes capacity

We need to be able to:• Insert new data, delete obsolete data & amend existing data in the

collection• Retrieve data in the collection in a variety of ways• Manage the collections so that the data can be permanently stored

and protected from corruption or loss.

Page 6: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

What data can we hold?

A data collection (databases) should be able to hold a range of data types

• Images• Audio files• Text• Numerical• Date• Video• Maps• Etc.

The quick brown fox

jumped over the lazy fox

26th August 1972

Page 7: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

DATABASE MANAGEMENT SYSTEMS (DBMS)

There needs to be a special piece of software to manage the database if the benefits are to be obtained

VERY complex to write so don’t want to have to write own programs to do this

Therefore, buy a Database management system (DBMS) Change the DB contents to keep them up to date Find and retrieve data from database Protect data for accidents and intruders Store in an effective way on the computer

The DBMS is covered in later sessions

Page 8: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

WHAT IS A RELATIONAL DATABASE? In reality databases hold only certain types of data in a true

relational database form, we are looking at the Rdb in this course and although we need to be aware to the theoretical possibilities we are mainly focusing on the real world situation.

A relation is just a logical structure that contains related data (hence the term relation) it is commonly referred to as table but the correct term is relation (books will use either term)

A relation/table may hold the name, address, date of birth, enrolment number of a student. All the data in one collection or row would relate to one student and all the different rows in the collection would be related to students.

Page 9: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

WHAT IS A RELATION/TABLE?

As mentioned, all the data in a database is held in a cluster of similar data (normally similar MEANING not DATATYPE)

Name Address D of B Customer number`

Esmé WeatherWax The cottage, Lancre 0122522

Susan Sto Helit 1 South Hights Sto Helit

26/081972 2365565

In the above table, all the data would be the type of data you may find in a CUSTOMER table, we have the name, address, etc. Note: not all data is entered, some data may be optional.

Page 10: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

First Name Surname Location Job Marital Status

Profile image

Sam Vines Ankh-Morpork Watch Commander

Married

William De Worde Ankh-Morpork Newspaper Editor

Single None available

Jason Ogg Lancre Blacksmith Married None available

Esmeralda Weatherwax Lancre Witch Single

Thomas Silverfish Ankh-Morpork Alchemist Single None available

Data can be of different formats or data types in a database, some data though may be held but not available to have all actions on them for example, a picture can be added or deleted but not updates (you can not change Esmerelda’s hat for a bonnet etc) it is more common to find the data above held as .........

Page 11: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

First Name

Surname Location Job Marital Status

Image location

Sam Vines Ankh-Morpork

Watch Commander

Married //pictures/sam.gif

William De Worde Ankh-Morpork

Newspaper Editor

Single

Jason Ogg Lancre Blacksmith Married

Esmeralda Weatherwax

Lancre Witch Single //images/witch/Esmé.jpg

Thomas Silverfish Ankh-Morpork

Alchemist Single

In the above table we can see that the image has no longer been embedded into the table, instead the location of the image is displayed, this data would be used to locate the image if it is needed but the data itself remains true to the relational principles.

Page 12: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

DATABASE TERMS

There are various books or papers that discuss databases, and it is often confusing to find that 2 different sets of terms are used, one set RELATIONAL terminology and another SQL terminology.

Relations and datasets are normally displayed or depicted as tables so often the term TABLE is used in SQL rather than RELATION

Tables have columns and rows so most SQL terminology uses these terms

Table = Relation Column = Attribute Row = Tuple

Page 13: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

STRUCTURE OF A DATABASE (PAGE 17 OF BOOKLET)

The database is made of tables/relations and relationships.

Student ModuleProgramme

3 tables: student hold the student personal data, programme includes data on the different programme structures and module contains information on the different modules. The tables each hold data that will stand in isolation, if we need info on the BIS programme of the Games programme we look in the programme table but also the tables relate to each other, a student is enrolled on a programme and each programme has a number of modules associated with it and modules may run on a number of different programmes

Student ModuleProgramme

Page 14: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

RELATIONSHIPS

It is important that relationships between data are clear and understood in order to get the most out of the database and its data

There are different types of relationships1 – manyMany – Many1 – 1

)Normally 1 – many are the types of relationships that we need to foster)

Page 15: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

TASK (NOT INCLUDED IN YOUR BOOK SO COPY INTO YOUR NOTES!)

A company employees a number of people, the personal details such as name, address, salary and payroll number etc are held in the works database. Each employee works for a department and each department is responsible for a number of different projects.

1. What are the main clusters of data (this will give you the tables/relation)

2. What content will be in each of the identified tables/relation (this will give you the columns/attributes within the table/relation)

3. Think about how the different data relates to each other

Page 16: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

SOLUTION

Employee

project

department

First name Surname Date of Birth

address postcode Employee number

Department number

Department name

Location Postal address

Postal postcode

project number

Project summary

Project manager

Start date Completion date

Note: When you are designing a database you need to identify the attributes/columns from the existing data or discussions with the client.

• An employee works for one department• A department has many employees• A department has many projects • A project is run by one department

Page 17: Lecture 1 - Introduction Databases & module Emma-Jane Phillips Pandon 122.

NEXT .....

In the seminar you are to do Seminar task 1. Before next weeks lecture you are expected to

read all the notes in the booklet that relate to this weeks lecture (up to page 17)

Next week we are going to look at the tables/relations in more detail, how they work, what additional elements we have to include in addition to the expected attributes and what limitations they have.