Download Database Systems - School of Computer Science

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

Data center wikipedia , lookup

Data analysis wikipedia , lookup

Data model wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Expense and cost recovery system (ECRS) wikipedia , lookup

Information privacy law wikipedia , lookup

SAP IQ wikipedia , lookup

Data vault modeling wikipedia , lookup

Open data in the United Kingdom wikipedia , lookup

Business intelligence wikipedia , lookup

Versant Object Database wikipedia , lookup

Relational model wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
G64DBS
Database Systems
Tim Brailsford
G64DBS Module
•
•
•
•
Assessment
• Exam - 75%
• Coursework - 25%
Recommended
Textbook
Date, C.J. (1999). An
Introduction to Database Systems.
7th Edition. Addison Wesley.
Lectures
•
•
Mondays, 3pm in LT2
Fridays, 4pm in LT3
Labs - TBA
•
•
Will NOT start until approximately Week 4
Wednesdays, 2-4pm in A32
Tim Brailsford ([email protected])
James Goulding
Recommended
Textbook
Connolly, T. & Begg, C.
(2009). Database Systems: A
practical approach to design,
implementation and management.
5th Edition. Addison Wesley.
Recommended
Textbook
Rob, P. Coronel, C. &
Crockett, K. (2008). Database
Systems: design, implementation &
management. 7th Edition.
Thompson Learning.
Recommended
Textbook
Mana Takahashi. (2008). The
Manga Guide to Databases. English
Edition. No Starch Press.
What is a Database?
•
“A set of information held in a computer”
Oxford English Dictionary
•
“One or more large structured sets of persistent
data, usually associated with software to update
and query the data”
Free On-Line Dictionary of
Computing
•
•
•
“A collection of data arranged for ease and speed
of search and retrieval by a computer. ”
American Heritage Science Dictionary
•
Uses of Databases
• Library catalogues
• Medical records
• Bank accounts
• Stock market data
• Personnel systems
• Product catalogues
• Telephone
directories
• Train timetables
• Airline bookings
• Credit card details
• Student records
• Customer histories
• Stock market prices
• Discussion boards
• and many more...
Why Study Databases?
•
•
Almost everything we see on a computer uses a
DBMS.
Philosophy - the nature of reality that we are trying
to model.
•
no entities, just statements of communicated fact.
•
relation rather than object oriented programming
•
This could well be the next trend in programming
•
MONEY and JOBS!
Why Study Databases?
• Many computing applications deal with
large amounts of information.
• Database systems give a set of tools for
•
•
storing, searching and managing this
information.
Databases are a ‘core topic’ in computer
science and IT.
Basic concepts and skills with database
systems are part of the skill set you will be
assumed to have as a CS and IT graduate.
File Based Systems
• File based systems
• Data is stored in
files
• Each file has a
specific format
• Programs that use
these files depend
on knowledge
about that format
•Problems:
• No standards
• Data duplication
• Data dependence
• No way to generate
complex queries
• No provision for
concurrency, security,
recovery, etc.
An Example
• From the Manga Guide to Databases
• The Kingdom of Kod exports apples
• Price is 100G per container of apples
• Departments:
• Merchandise
• Overseas Business
• Export
An Example
An Example
• From the Manga Guide to Databases
• The Kingdom of Kod exports apples
• Price is 100G per container of apples
• Departments:
• Merchandise
• Overseas Business
An Example
• Mistakes get made, the overseas business
department didn’t get the message...
• What if the price changes?
•
Redundant Data
Storing the same data several times in
different places (redundancy) is errorprone!
Database Systems
•
A DATABASE is a system to allow multiple users
to share the SAME information.
Any item of data should only be stored once
Any changes to this data is thus available to all
users
A Database Management System (DBMS) is the
software that implements a database
•
•
•
• Oracle
• DB2
• MySQL
• Ingres
• PostgreSQL
• Microsoft SQL Server
• [MS Access]
What a DBMS Does
•
•
Allows users to:
store data
manage change (updates)
organise data
retrieve data
retain privacy (security)
Provides:
Data Definition Language (DDL)
Data Manipulation Language (DML)
Data Control Language (DCL)
These may be the same language!
•
•
•
•
•
Where is the DBMS?
web
pages
HTML
custom
client
AJAX
web server
DMBS
tools
public API
DBMS (server)
•
•
•
•
File System / OS
DBMS Components
• Data dictionary
• stores information about database objects
• Data dictionary compiler
• extracts database information and store it in
data dictionary
• Query processor
• interprets and optimises user queries
• Transaction manager
• communicates with recovery manager and
•
scheduler to ensure data consistency in
multi-user environments
Storage manager
ANSI / SPARC
Architecture
Interaction of DBMS
Components
User Query (via client)
Query
Processor
Database Administrator
interp
rets q
uerie
optim
s
izes q
uerie
s
Transaction
Manager
Storage
Manager
concurrency control
recovery control
ent
nagem
ce ma
a
file sp
Database
•
DD Compiler
Data
Dictionary
•
Proposed a framework for DBMS in 1975
•
•
Standards Planning Requirements Committee
•
Internal level
American National Standards Institute
Three tier architecture
•
•
•
for systems designers
•
for database designers
•
for database users
Conceptual level
External level
Types of Database Users
•
•
•
•
Database systems programmers
•
writes the DBMS software
•
designs and manages the database system
•
write the client software that allows end
users to interface with the DBMS
Conceptual Level
• Deals with the organisation of the entire
database content
• Abstractions are used to remove
Database administrators (DBA)
unnecessary details of the internal level
• Used by DBAs and application
Applications developers
End users
•
programmers
• Conceptual Schema:
• For example:
CREATE TABLE Employee (
Name VARCHAR(25),
Salary REAL,
Department VARCHAR(10) )
use the information provided by the database
to achieve a personal or organisational goal
External Level
• Provides a view of the database tailored to
Internal Level
•
a user
• Parts of the data may be hidden
• Used by end users and application
programmers
• External Schema:
• For example:
Create View myView as {
SELECT Name FROM Employee
}
•
Deals with physical storage of data
•
•
•
Structure of records on disk - files, pages,
blocks
Indexes and ordering of records
Used by database system programmers
Internal Schema:
•
For example:
RECORD EMP
LENGTH=44
HEADER: BYTE(5) OFFSET=0
NAME: BYTE(25) OFFSET=5
SALARY: FULLWORD OFFSET=30
DEPT: BYTE(10) OFFSET=34