Download Week2 Database Fundamentals(3)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft SQL Server wikipedia , lookup

Microsoft Access wikipedia , lookup

Serializability wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Oracle Database wikipedia , lookup

IMDb wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Ingres (database) wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
Database Design Concepts
IMAT1408
Lecture 2
Database Fundamentals
HNDComputing – DeMontfort University
DeMontfort University 2011
wk2
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
Database Design Concepts
IMAT1408
Lecture 2
Database Fundamentals
HNDComputing – DeMontfort University
DeMontfort University 2011
wk2
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Objectives
To introduce:
• The three layers of data abstraction (ways of
viewing/handling data)
• The terms physical and logical data independence
• Table types and associated terms.
HNDComputing – DeMontfort University
DeMontfort University 2011
3
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Is this a database?
Is this Organised? Efficient? Easily accessible? Flexible? ……
HNDComputing – DeMontfort University
DeMontfort University 2011
4
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Paper based databases
•Have been around for a long time
•Data is organised and quickly accessible
So is easier to maintain – fewer errors
•But is not all that flexible – things are filed in one place only (why would it
not be a good idea to have duplicates?).
HNDComputing – DeMontfort University
DeMontfort University 2011
5
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Computer based databases
• Are managed by a
Moves data to and from physical data files
Manages multiple users
Manages transactions: ‘all or nothing’ units of work
Supports a Query Language to retrieve data from the database
Manages back ups
Provides security mechanisms.
HNDComputing – DeMontfort University
DeMontfort University 2011
6
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
Typical Example of a Database Internet
Architecture
wk2
Internet
Explorer
Browser
INTERNET
Firefox
Browser
MAPPING
APACHE
WEB-SERVER
Logical Shema (Relational
communicates
with the web users
Tables)
PHP or ASP.NET
MySQL
ODBC/API communicates with DB
DATABASE
Database
Server
HNDComputing – DeMontfort University
DeMontfort University 2011
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Layers of data abstraction
• Databases are obviously very complicated
pieces of software
• How do we understand how they work?
• They are divided into 3 layers – known as the 3
layer architecture
• We can look at each layer in turn……
HNDComputing – DeMontfort University
DeMontfort University 2011
8
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
External
layer
What the user sees
Logical
layer
How the database
organises the data for
viewing
Physical
layer
How the computer’s
operating system stores the
data
HNDComputing – DeMontfort University
DeMontfort University 2011
9
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
The DBMS enables multi-user access to the same data at
the same time
EXTERNAL layer
Userview 2
Userview 1
LOGICAL layer
MAPPING
Logical Schema
MAPPING
INTERNAL layer
DATA
HNDComputing – DeMontfort University
DeMontfort University 2011
INDEXES
Database Fundamentals
External
layer
User
View 2
User
View 1
Logical
layer
User
View ….
Logical Data
independence
Conceptual
Schema
Physical Data
independence
Physical
layer
HNDComputing – DeMontfort University
DeMontfort University 2011
Database
File
Database
File
Database
File
Database
File
Database
File
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
11
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
The Physical Layer
• The files that actually contain the data
• Data could be stored over multiple disk drives – maximise
performance by running in parallel
• Microsoft Access stores everything in one physical file. This limits
the number of concurrent users and so it cannot be used for large
enterprises
• The DBMS works with the computer’s Operating System (OS) to
efficiently manage the file storage
• The user of the database does not need to know how the DBMS
does this.
12
HNDComputing – DeMontfort University
DeMontfort University 2011
Database Fundamentals
User
View 2
User
View 1
User
View ….
Logical Data
independence
Conceptual
Schema
Physical Data
independence
HNDComputing – DeMontfort University
DeMontfort University 2011
Database
File
Database
File
Database
File
Database
File
Database
File
D External
layer
a
t
a
b
a
s
e
Logical
D layer
e
s
i
g
n
C
o Physical
n layer
c
e
p
t
s
wk2
13
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Logical Layer
• The logical layer provides a structure for the data which is
known as the conceptual schema
• This structure needs to meet the requirements of the users.
This is what we will work on when we design databases.
• It makes the data available to any application (or several at
once) without the designer needing to know the exact
location of the data – the data is therefore independent of
the applications. For example a customer database record
could be used in many different applications - for billing
invoices, posting out publicity flyers about new products,
sending on-line questionnaires etc.,etc..
HNDComputing – DeMontfort University
DeMontfort University 2011
14
Database Fundamentals
External
D layer
User
View 2
User
View 1
User
View ….
Logical Data
independence
Conceptual
Schema
Physical Data
independence
HNDComputing – DeMontfort University
DeMontfort University 2011
Database
File
Database
File
Database
File
Database
File
Database
File
a
t
a
b
a
s
e
D
Logical
e layer
s
i
g
n
C
o
n
c Physical
layer
e
p
t
s
wk2
15
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
External Layer
• This is the layer where users interact with the database
and issue queries
• The DBMS selects items from the logical layer to form
a user view
• Different user views can be set up to meet different
people’s needs
• These user views can be stored for future use, or may
be used only temporarily and then discarded – an ad
hoc query.
HNDComputing – DeMontfort University
DeMontfort University 2011
16
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
The 3 layers and database design
• We need to look at each user’s requirements
• These give us the external views required
• You will learn to create the conceptual schema so that
these external views can be produced from it. One
method we will use is Entity Relationship Modelling
• We will leave the DBMS to take care of the physical
layer.
HNDComputing – DeMontfort University
DeMontfort University 2011
17
Database Fundamentals
External
layer
User
View 2
User
View 1
Logical
layer
User
View ….
Logical Data
independence
Conceptual
Schema
Physical Data
independence
Physical
layer
HNDComputing – DeMontfort University
DeMontfort University 2011
Database
File
Database
File
Database
File
Database
File
Database
File
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
18
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Data Independence
- the big advantage of databases
• Physical data independence means you can
change the way the data is stored without
having to change all the programs that use the
data. This saves time and money.
HNDComputing – DeMontfort University
DeMontfort University 2011
19
Database Fundamentals
External
layer
User
View 2
User
View 1
Logical
layer
User
View ….
Logical Data
independence
Conceptual
Schema
Physical Data
independence
Physical
layer
HNDComputing – DeMontfort University
DeMontfort University 2011
Database
File
Database
File
Database
File
Database
File
Database
File
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
20
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Logical Data Independence
• The ability to make changes to the logical layer
without disrupting existing users and processes
• This means we can:
– Add a new database object eg a table
– Add data items to an existing object.
HNDComputing – DeMontfort University
DeMontfort University 2011
21
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Design components: Entity
• To create a useful database we must study the
business’s activities and identify the data that needs to
be stored
• We look for entities
• Just about anything that can be named can be an entity
…but we only consider things of interest to the users
of our database.
HNDComputing – DeMontfort University
DeMontfort University 2011
22
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
• A very common entity that is found in many
business oriented databases is the
CUSTOMER
This represents all the customers in the database
……… an individual customer is known as an
occurrence of the entity.
HNDComputing – DeMontfort University
DeMontfort University 2011
23
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Attributes
• “An attribute is a unit fact that characterises or
describes an entity in some way” (Oppel, 2004)
• Attributes are the smallest units of information that
are stored in a database
• Examples could be the customer’s last name, post
code, telephone number.
HNDComputing – DeMontfort University
DeMontfort University 2011
24
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Unique identifiers
• An entity will be described using the attributes. For
example a student could have last name, first name and
several address attributes
• The problem is we need to distinguish one student
from another
• Most students can be identified by their name but
sometimes two students have the same name
• How do I make sure I don’t award marks to the wrong
student?
HNDComputing – DeMontfort University
DeMontfort University 2011
25
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
• I do this by using an attribute known as the primary
key
• This is a unique identifier so each student will have a
different value for this attribute
• What is your unique identifier?
• Remember these unique identifiers are often invented
so are not always known to the person concerned.
HNDComputing – DeMontfort University
DeMontfort University 2011
26
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Examples of unique identifiers^
•
•
•
•
•
•
National insurance number
Passport number
Membership number
Order number
Vehicle registration number
Bank account number.
HNDComputing – DeMontfort University
DeMontfort University 2011
27
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Tables
• Main method of storage in the relational model is
the table
• A two dimensional structure composed of rows
and columns
• Each row represents one occurrence (instance) of
the entity (or record)
• Each column represents one attribute of that entity.
HNDComputing – DeMontfort University
DeMontfort University 2011
28
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Table Types
• We show a table’s structure by showing its table type
• Eg
Student (studentno, name, address, courseno)
Table Name
Primary Key
Attributes
Foreign Key
Each Student record will have the same structure but
different values.
HNDComputing – DeMontfort University
DeMontfort University 2011
29
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Foreign Key
• The foreign key is the primary key of another
table
• It creates a link between the two tables
• courseno in our example will be the key field of
a course table
• Course (courseno, title)
• This allows us to look up the title of the course
each student is taking.
HNDComputing – DeMontfort University
DeMontfort University 2011
30
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
Summary
You should be able to explain:
– Database Management System
– Physical, logical and external layers (and draw a
diagram of them)
– Physical and logical data independence
– Entity (more on this next week)
– Attribute
– Primary key/unique identifier
– Table type
– Foreign key.
HNDComputing – DeMontfort University
DeMontfort University 2011
31
Database Fundamentals
D
a
t
a
b
a
s
e
D
e
s
i
g
n
C
o
n
c
e
p
t
s
wk2
References
• Databases Demystified by Andy Oppel
(Published by McGraw-Hill, ISBN 0-07-225364-9)
• Data Analysis for Database Design by David
Howe (Published by Arnold. Second edition.)
HNDComputing – DeMontfort University
DeMontfort University 2011
32