Download Introduction

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

Relational algebra wikipedia , lookup

Commitment ordering wikipedia , lookup

IMDb wikipedia , lookup

Microsoft Access wikipedia , lookup

Oracle Database wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Ingres (database) wikipedia , lookup

PL/SQL wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Serializability wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Database wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Versant Object Database wikipedia , lookup

Concurrency control wikipedia , lookup

ContactPoint wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
CPSC 310 Database Systems
CPSC 603 Database Systems
and Applications
Prof. Jennifer Welch
CPSC 310/603
1
References
Database Systems, The Complete Book,
Hector Garcia-Molina, Jeffrey D. Ullman, and
Jennifer Widom, Prentice Hall 2002.
Slides by Jeffrey Ullman:
http://www-db.stanford.edu/~ullman/dscb/pslides/pslides.html
Slides by Hector Garcia-Molina:
http://www-db.stanford.edu/~hector/cs245/notes.htm
Slides by Arthur Keller:
http://www.soe.ucsc.edu/classes/cmps180/Winter02
Slides by Rada Chirkova:
http://courses.ncsu.edu/csc540/lec/001/
CPSC 310/603
2
Database Management System
(DBMS)
 Specialized software that manages access to
very large amounts of data:





data persists over a long time
efficient access
concurrent access
reliable and predictable access
convenient interface language
 Examples: airline reservation systems,
banking, corporate records
CPSC 310/603
3
Relational Model





Store information in tables
Each table is a relation
Each column is named with an attribute
Each row is a tuple
Example relation named Accounts:
accountNo
balance
type
12345
1000.0
savings
67890
2846.92
checking
CPSC 310/603
4
Structured Query Language
(SQL) Preview
Accounts
accountNo
balance
type
12345
67890
1000.00
2846.92
savings
checking
SELECT balance
FROM Accounts
WHERE accountNo = 67890;
CPSC 310/603
SELECT accountNo
FROM Accounts
WHERE type = 'savings'
AND balance < 0;
5
Setting up a Database
Database schema specifies what
relations are in the database
Schema is altered using DDL (data
definition language) commands
Only database administrator should be
able to do this
Schema affects how the data is stored
CPSC 310/603
6
Querying the Database
A query is expressed in a DML (data
manipulation language), e.g. SQL
The query compiler translates query into a
query plan (sequence of operations to be
performed).
Query compilation includes query
optimization, to choose best sequence of
operations
Execution engine performs the operations,
interacting with…
CPSC 310/603
7
Storage and Buffer Management
Data usually is stored on disk, in units
called blocks
Storage manager controls movement of
data between disk and main memory
Buffer manager controls partitioning of
main memory into block-sized regions
Relies on info about data, schema,
statistics, and indexes (special data
structures for efficient access)
CPSC 310/603
8
Transactions
Usually database queries are grouped into
transactions
A transaction must satisfy ACID properties:
 Atomicity: either all the changes or none of them
are made to the database
 Consistency: transaction must preserve consistency
constraints of the database
 Isolation: the result must be "as if" the transaction
ran alone
 Durability: once transaction has completed,
changes must not be lost
CPSC 310/603
9
Transaction Processing
Every change is logged separately on
disk by log manager
After a system failure, recovery
manager uses log on disk to reconstruct
a consistent state
Scheduler ensures that concurrently
executing transactions do not interfere
with each other
CPSC 310/603
10
Outline of Course
Database Design:
 entity-relationship model: notation to express
relationships among the data (Ch 2)
 relational model: easier to implement than E-R (Ch 3)
Database Programming:
 relational algebra: how to operate on relations (Ch 5)
 programming with SQL (Chs 6-8)
Database Implementation:
 storage management (Chs 11-13)
 query processing (Chs 15-16)
 transaction processing (Chs 17-19)
CPSC 310/603
11