Introduction to on

Download Report

Transcript Introduction to on

Introduction to databases
Introduction
Storage
Temporary and Permanent
Unstructured and Structured
Ways to structure information
Simple databases
Relationships, example relationship
Some Database Terminology
SQL – Structured Query Language
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Storage – Temporary and Permanent
Many applications store information for later
use
Storage may be temporary or permanent
Permanent storage is usually in the form of a
file (e.g. a plain text file) stored on a physical
disc drive
Many applications add, modify and retrieve
information from structured data stores, often
called databases
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Storage – Unstructured and Structured
Unstructured information (e.g. the stream of
words in a speech) is easy to store in a plain
text file
Structured information (name, occupation,
date of birth, eye colour – for a set of people)
is easy to store in a database
What is the advantage of using a database?
(The personal information could be stored in a
text file, after all.)
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Ways to structure information
A lot of collected data is repetitive in form
Data may be repetitive in content, too
For example, if we have the following
information for 15 people;
[Age in years], [Name], [Height in metres]
then we have 15 records of 3 fields, in this format;
[whole number], [text], [fractional number]
Nic Shulver [email protected], Chris Mayer
Introduction to databases
More example information
Here is some simple information:
Danny DeVito(USA), Hugh Jackman
(Australia), Halle Berry(USA),
Patrick Stewart (UK), …
This kind of information has a simple structure
or format
We can put the information into a table
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Table (with repeated information)
No.
First Name
Last Name
Origin
1
Danny
DeVito
United States of America
2
Arnold
Schwarzenegger
Austria
3
Halle
Berry
United States of America
4
Patrick
Stewart
United Kingdom
5
Karisma
Kapoor
India
6
Hugh
Jackman
Australia
7
Alec
Guinness
United Kingdom
8
Jack
Nicholson
United States of America
9
Kylie
Minogue
Australia
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Table (no repeated information)
No.
First Name
Last Name
Origin
No.
Country Name
1
Danny
DeVito
1
1
United States of America
2
Arnold
Schwarzenegger
2
2
Austria
3
Halle
Berry
1
3
United Kingdom
4
Patrick
Stewart
3
4
Australia
5
Karisma
Kapoor
5
5
India
6
Hugh
Jackman
4
7
Alec
Guinness
3
8
Jack
Nicholson
1
9
Kylie
Minogue
4
This is an example of
a simple one-to-many
relationship.
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Table (with repeated information)
No.
First
Name
Last Name
Origin
Films
1
Danny
DeVito
United States of
America
Batman Returns
Twins
2
Arnold
Schwarzenegger
Austria
Terminator
True Lies
Twins
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Tables (repeated information)
No.
First Name
Last Name
Origin
No.
Country Name
1
Danny
DeVito
1
1
United States of America
2
Arnold
Schwarzenegger
2
2
Austria
3
United Kingdom
4
Australia
5
India
No.
Films
1
Batman Returns
2
Terminator
1
Hook
1
Twins
2
Twins
This is an example of
several linked tables
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Repeated Information
The previous example does not solve the
problem
What about the other actors/actresses in the
films?
Databases can soon get complicated
Need to think carefully about structure before
you start – may be difficult later on
DSA will only need simple structures in DB
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Some Database Terminology
Rows and Columns
Broad view of the table – each row is a record,
each column is a set of fields
This is analogous to a spreadsheet view
Records and Fields
Detailed view of the information
Each record (entry) in the database is made up of
fields, possibly with some fields from joined tables
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Relationships and Joins
Tables may be joined together – this is very
powerful but can get complex
Database systems which allow join
relationships are known as Relational
Databases (see RDSD)
To build, use and maintain joins between
tables, it is often easiest to use tools built into
database programs (e.g. MS Access, SQLyog)
Nic Shulver [email protected], Chris Mayer
Introduction to databases
SQL – Structured Query Language
Structured Query Language is the language of
databases
It is very widely used in industry – look for
mySQL, PL/SQL, SQLplus, Oracle SQL and
so on
We can use little chunks of SQL in our
applications to ask a database for information
(i.e query the database)
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Structured Query Language
Structured Query Language (SQL), is a set of
commands that all programs and users may
use to access data within databases
Application programs and tools often allow
users to access SQL databases without
directly using SQL, but these applications in
turn must use SQL when executing the user’s
request
Nic Shulver [email protected], Chris Mayer
Introduction to databases
History of SQL
 In June 1970 in the Association of Computer
Machinery (ACM) journal, Communications of the
ACM published the paper, “A Relational Model of Data
for large Shared Data Banks,” by Dr. E. F. Codd
 Codd’s model is the definitive model for relational
database management systems (RDBMS)
 IBM Corporation, Inc. developed Structured English
Query Language(SEQUEL) using Codd’s model
 SEQUEL later became SQL, the standard RDBMS
language
Nic Shulver [email protected], Chris Mayer
Introduction to databases
What can it do?
SQL provides commands for a variety of tasks
including:
querying data,
inserting, updating, and deleting rows in a table,
creating, replacing, altering, and dropping objects,
controlling access to the database and its objects,
guaranteeing database consistency and integrity.
Nic Shulver [email protected], Chris Mayer
Introduction to databases
Conclusion
We need to store some information in a
structured way
Simple tables are conceptually simple
Relational databases provide a powerful and
convenient way to store data
Structured Query Language provides us with
a way to interact with databases
Nic Shulver [email protected], Chris Mayer