Chapter 1: Introduction

Download Report

Transcript Chapter 1: Introduction

Introduction to Database
Management Systems
Information
• Instructor:
Csilla Farkas
• Office:
Swearingen 3A43
• Office Hours: Monday, Wednesday 2:30 pm – 3:30 pm,
electronically, or by appointment
• Telephone:
576-5762
• E-mail:
[email protected]
• Class homepage: http://www.cse.sc.edu/~farkas/csce5202013/csce520.htm
Farkas
CSCE 520
2
Prerequisite
• CSCE 245 (CSCE 240, EECE 352) or
• GEOG 563 or
• Permission of the instructor
Farkas
CSCE 520
3
Text books
• J. D. Ullman and J. Widom: A First Course in
Database Systems, 3rd edition, Prentice Hall,
ISBN: 013600637X
• R. Sunderraman: Oracle 10g Programming (or
Oracle 10i Programming), A Primer, Addison
Wesley Longman, Inc., ISBN: 0321463048
Farkas
CSCE 520
4
Grading
• Tests: Test 1: 20%, Test 2: 35%
• Homework Assignments: 45%
– Includes assignments related to the lectures
– Includes hands-on database implementation
– Includes demo of Oracle implementation
• Total score: 100
• Final grade:
90 < A, 87 < B+ <=90, 80< B <= 87, 77 < C+ <=
80, 68 < C <= 77, 62 < D+ <= 68, 52 < D <= 62,
F <= 52
Farkas
CSCE 520
5
Course Policies
• Code of Student Academic Responsibility
• Incompletes
Farkas
CSCE 520
6
APOGEE Students
• Access recorded lectures
• Contact instructor via
– Phone (during office hours)
– Email
– Or any time at a prearranged time
• Need to attend exams as scheduled
• Need to arrange for Oracle demo
Farkas
CSCE 520
7
Tentative Schedule
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Week 1:
Week 2:
Week 3:
Week 4:
Week 5:
Week 6:
Week 7:
Week 8:
Week 9:
Week 10:
Week 11:
Week 12:
Week 13:
Week 14:
Week 15:
Farkas
Introduction
ER model
Relational model
Project overview and Oracle accounts
Relational Algebra
SQL
Relational Design
Constraints
Transactions
Logical query languages
Data storage and Data representation
Index structures
System Failures
Concurrency control
Summary and Review
CSCE 520
8
Test Schedule
• Test 1: Early October
• Test 2: December 9, 4:00 pm
Farkas
CSCE 520
9
Questions?
Chapter 1: Introduction
• Evolution of Database Management
Systems
• Overview of Database Management
Systems
• Database-System Design
Farkas
CSCE 520
11
Database Management System
(DBMS)
• Databases touch all aspects of our lives
• DBMS:
– Collection of interrelated data
– Set of programs to access the data
• Convenient and efficient processing of data
• Database Applications
Farkas
CSCE 520
12
Evolution of Database Systems
• Early days: database applications built on top of file
systems
• Drawbacks of using file systems to store data:
– Data redundancy and inconsistency
– Difficulty in accessing data
– Atomicity of updates
– Concurrency control
– Security
– Data isolation — multiple files and formats
– Integrity problems
Farkas
CSCE 520
13
Abstraction
• View level: application programs hide details of data
types.
• Logical level: What is the data?
type employee = record
name : string;
address : string;
salary: real;
end;
• Physical level: How the data is stored?
Farkas
CSCE 520
14
Data Models
• A collection of tools for describing
– Data
– Relationships among data items
– Semantics of stored data
– Database constraints
Farkas
CSCE 520
15
Data Models
• Entity-Relationship model
• Relational model
• Other models:
– Network
– Hierarchical
– Object-oriented
– Semi-structured
– Steaming data
Farkas
CSCE 520
16
Database Management Systems
• Smaller and smaller systems
– Past: large and expensive DBMS
– Present: DBMS in most personal computers
• More and more data stored
– Past: few MB
– Present: terabyte (1012 bytes), petabyte (1015
bytes)
Data Tsunami
Farkas
CSCE 520
17
Database Users
• Users are differentiated by the way they interact
with the system
• Database Administration: responsible for the structure or
schema of the database (DDL), coordinates all activities
regarding the database
• Application programmers – interact with system through
DML calls
• Sophisticated users – form requests in a database query
language
• Naive users – invoke one of the permanent application
programs that have been written previously
Farkas
CSCE 520
18
Data Definition Language (DDL)
• Defines the database schema and
constraints
• DDL compiler  data dictionary
• Metadata – data about data
Farkas
CSCE 520
19
Data Manipulation Language (DML)
• Accessing and manipulating the data
– DML – query language
• Query Languages
– Procedural – user specifies what data is required and how to get
those data
– Nonprocedural – user specifies what data is required without
specifying how to get those data
• SQL: nonprocedural query language
Farkas
CSCE 520
20
Transaction Management
• Transaction: unit of work to be executed atomically and
in isolation from other transactions
• Transaction-manager: ensures that the database remains
in a consistent
– system failures
– transaction failures
• Concurrency-control: interaction among the concurrent
transactions to ensure consistency
Farkas
CSCE 520
21
ACID Properties
• Atomicity: all-or-nothing of the transaction’s effect will
take place
• Consistency: each transaction leaves the system in a
consistent state
• Isolation: each transaction must appear to be executed
as if no other transactions are executed at the same time
• Durability: effect of a transaction must never be lost after
the transaction is completed
Farkas
CSCE 520
22
Transaction Processing
• Logging:
– Log manager
– Recovery manager
• Concurrency control
– Multiple transactions
– Locking protocols
• Deadlock resolution
Farkas
CSCE 520
23
Database System Studies
• Design of the database
– What to store, structure, semantics
– Functionality requirement
– Trade offs
– Security
• Database programming
– How to express database operations, capability
requirements, etc.
• Database implementation
– Query, transaction processing, storage, efficiency
Farkas
CSCE 520
24
Next Class:
Relational Database Modeling
• A First Course: Chapter 2 (2.1, 2.2, 2.3)
Farkas
CSCE 520
25