No Slide Title
Download
Report
Transcript No Slide Title
Chapter 1
Introduction
Reference Book
Database Systems
Thomas Connolly, Carolyn Begg, Anne Strachan
Addison-Wesley 1999
ISBN: 0-201-34287-1
What is a database ?
The database
is the underlying framework of the information
system
fundamentally changed the way organisations
operate
Database technology is still in evolution due to
the need for more complex information
systems, handling different types of objects .
This lead to new file storage and access
algorithms.
Definitions
Database:
A shared collection of logically related data
(and a description of these data) , designed
to meet the information needs of an
organisation
DBMS:
Database Management System
Software that enables users to define ,create
and maintain the database and which
provides controlled access to the database
File Based Approach
File-based system
A collection of application programs that
perform services for the end-users such as the
production of reports. Each program defines
and manages its own data.
Program
Works well if the number of
items to be stored is small
and related to one object type
File-based Processing
Overlap
Limitations of the File-based System
Separation and isolation of data
Duplication of data
Program-Data dependence
one-shot program needed to increase the field size
File structure is defined in the program code.
Incompatibility of files (e.g. formats )
Programs are written in different languages, and so cannot
easily access each others files.
Fixed queries leading to proliferation of application
programs
Database Approach
The limitations of file-based systems are
attributed to two factors:
the definition of the data is embedded in the
application program using the data , rather
than being stored or defined separately and
independently
there is no control over the access and
manipulation of data beyond that imposed
by the application programs being executed
Database Approach
Applications
DB
Explanation of the Definition
The definition of a database was:
A shared collection of logically related data (and a
description of these data) , designed to meet the
information needs of an organisation.
Shared collection means that the database:
should not be seen as owned by one person or one department
holds not only the the organisation’s operational data but is also
based on a common description of the data (system catalog,
data dictionary, metadata, central repository) providing programdata independence.
Logically related means that :
not only the entities and the attributes but also the logical
relationships between entities are represented in the database
The DBMS
DBMS
Software that enables users to define ,create and
maintain the database and which provides controlled
access to the database
System software with two basic qualities:
ability to manage persistent data
ability to access large amounts of data efficiently
Other capabilities
support for at least one data model providing a user view
support for high level languages
transaction management ( concurrency )
access control: validation and authorization
recovery system
Database Management System
(DBMS)
DBMS facilities
define the database through a Data Definition
Language (DDL)
insert, update, delete and retrieve data from the
database through a Data Manipulation Language (DML)
based upon the central repository
procedural DML manipulating the database with a one-recordat-a-time logic , describing how data should be obtained
non-procedural DML operating on sets of records , describing
what data should be obtained
controlled access to the database
security system
integrity system maintaining the consistency of stored data
recovery control system
user-accessible catalog
DBMS facilities 2
view mechanism allowing the user to have his or her
preferred view of the database
the DDL allows views to be defined as a subset of the database
views provide a level of security
views provide a mechanism to customize the appearance of
the database
views provide a level of data independence
Modern large multi-user DBMS products offer these facilities and
often much more. It are extremely complex software products
which are continually evolving and extended with new
functionalities
Components of a DBMS
Hardware
Software
Data
names, types and sizes of data items
names of relationships
integrity constraints on the data
authorization rules
indexes and storage structures
Procedures
log on
use a DBMS facility or application program
make a backup or copy
change the structure or the physical location
People
Components of DBMS Environment
History of Database Systems
First-generation
Hierarchical and Network
Second generation
Relational
Third generation
Extended Relational
Object-Oriented
Roles in the Database Environment
Data Administrator : management of the data resource
database planning, development, logical design, standards,
policies, procedures, …
advisor of senior management concerning information plan
Database Administrator (DBA):physical aspects
physical database design, security, integrity control
Logical Database Designers
need a complete understanding of the organisation’s data, the
business rules and the company strategic plan
Physical Database Designers
mapping logical model into a set of tables and constraints
select storage structures
Application programmers
End-Users : Naïve and Sophisticated
Advantages of database systems
Control of data redundancy
Data consistency
More information from same amount of data
Sharing of data
Improved data integrity
Improved security
Enforcement of standards
Economy of scale
Balanced conflicting requirements
Improved data accessibility and responsiveness
Improved maintenance through data independence
Increased concurrency
Improved backup and recovery services
Disadvantages of database
systems
Complexity
Size
Cost of DBMS
Additional hardware costs
Cost of conversion
Performance
Higher impact of a failure
Classical database models
Relational databases
Hierarchical databases
Network databases
The Relational model
A relational database can be seen as a set of tables with
the following properties :
1. column homogeneous
2. all elements are numbers or character strings
3. all rows are different
4. the sequence of the rows is immaterial
5. columns have a different name
Such a table said to be in First Normal Form
Sample database: Relational
S s# sname status city
S1
S2
S4
Smith
Jones
Clark
20
10
20
London
Paris
London
P p# pname color weight city
P1
P2
P4
P5
Nut
Bolt
Screw
Cam
red
green
red
blue
12
17
14
12
London
Paris
London
Paris
Model
SP s#
p#
qty
S2
S2
S4
S4
S4
P1
P2
P2
P4
P5
300
400
200
300
400
Sample Query : Relational Model
Find Supplier numbers for
those suppliers who supply
part P2.
Do until no more
shipments;
get next shipment
where P# = P2 ;
print S# ;
end;
Find Part numbers for parts
supplied by supplier S2
Do until no more
shipments;
get next shipment
where S# = S2 ;
print P# ;
end;
Sample Database: Hierarchical Model
Links are anonymous
P1
Nut
Red
S2 Jones
12
London
10 Paris
300
P2 Bolt
green
S4 Clark
S2 Jones
P4 Screw red
S4 Clark
14
London
20 London 300
P5 Cam
blue
S4 Clark
14
London
20 London 200
10 Paris
12
400
Paris
20 London 400
Sample Query : Hierarchical Model
Find Supplier numbers for
those suppliers who supply
part P2.
Get next part where P#=P2
do until no more suppliers
under this part ;
get next supplier
under this part ;
print S# ;
end ;
Find Part numbers for parts
supplied by supplier S2
Do until no more parts ;
get next part ;
get next supplier
under this part
where S# = S2 ;
if found
then print P# ;
end;
Network model: Non-information Bearing Sets
S2 Jones
S2
P1 300
P1 Nut Red 12 London
10 Paris
S2
S4 Clark 20 London
P2 400
P2 Bolt Green 12 Paris
S4 P2 200
S4
P4
P4 Screw Red 14 London
300
S4
P5 400
P5 Cam Blue 12
Paris
Network model: Information Bearing Sets
S2 Jones
300
P1 Nut Red 12 London
10 Paris
400
P2 Bolt Green 12 Paris
S4 Clark 20 London
200
300
P4 Screw Red 14 London
400
P5 Cam Blue 12
Paris
Sample Query : Network Model
Find Supplier numbers for
those suppliers who supply
part P2.
Get next part where P#=P2 ;
do until no more connectors
under this part ;
get next connector
under this part ;
get supplier over this
connector ;
print S# ;
end ;
Find Part numbers for parts
supplied by supplier S2
Get next supplier where S#=S2 ;
do until no more connectors
under this supplier ;
get next connector
under this supplier ;
get part over this
connector ;
print P# ;
end ;