Transcript Document

Lecture 1: Overview of CSCI 485
Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA
Shahram Ghandeharizadeh
Associate Professor
Computer Science Department
University of Southern California
Logistics

Required text book:



Database System Concepts, Silberschatz,
Korth & Sudarshan, 5th Edition. Available
in the bookstore.
Please start to read Chapter 6 and Section
7.1 for the next lecture
Pre-req for the course:


CS201: Data Structures
Knowledge of an object-oriented
programming language such as C++,
Java, C#
Instructor Details
Dr. Shahram Ghandeharizadeh
Office: SAL 208
E-mail: [email protected]
Phone: 213-740-4781
Office Hours:
Tuesday: 12:30 to 2 pm
Thursday: 4 to 5 pm
Class URL: http://dblab.usc.edu/csci485
TA
Shahin Shayandeh
Office: SAL 200C
E-mail: [email protected]
Office Hours:
Tuesday: 3:30 to 5 pm
Thursday: 12:30 to 2 pm
Outline



Motivation for DBMS
An outline for the course material
Grading: Assignments and projects
Database Management
Systems (DBMS)

Used almost on a daily basis for either
individual or business use.

Relational database vendors were one
of the fastest growing sectors during
the .COM boom!
DATABASE & DBMS

Database: An integrated collection of
data, usually stored on secondary
storage, typically describing the
activities of one or more related
organizations.

Database management system (DBMS):
A collection of software/programs
designed to assist in maintaining and
utilizing large collections of data.
BEFORE DBMS
User 1
User 2
Application
programs
Application
programs
Data
Data
AFTER DBMS
User 1
Application
programs
DBMS
User 2
Application
programs
Data
managed by
DBMS
WHY A DBMS?
1.
2.
3.
4.
5.
6.
7.
8.
Reduced application development time
Data independence: Application programs not dependent on
data representation and storage details
Data sharing: data is better utilized (discovered and reused),
redundancy of data is minimized
Data integrity and consistency: one may enforce consistency
constraints on data, e.g., number of seats sold ≤ number of seats
on the plane × 1.1
Centralized control: DBA tunes the database to balance user's
needs
Security: mechanisms to prevent unauthorized access. These
mechanisms are based on content instead of file-oriented
approach.
Concurrency control: avoids undesirable race conditions that
arise with simultaneous access/updates to data
Crash recovery: ensures the integrity of data in the presence of
failures
DBMS ARCHITECTURE
User 1
…
DBMS
User n
DB
Physical data
Conceptua
l schema
Data Models
Conceptual
Logical
Physical
Data Models (Example)
Build a database of all my
assets for licensing and
royalty collection
Data Models
Conceptual
Logical
Physical
Challenges
Conceptual
Logical
Physical
Abstraction,
Inheritance,
Encapsulation
Reduction to tables
with minimal: data
duplication,
potential for data
loss and update
anomalies
Effective use of a DBMS,
management of
mismatch between
tables and OO
constructs, Index
structures, CC & Crash
recovery, Optimization
techniques
Challenges
Conceptual
E-R data model
5 Normal Forms
Logical
Physical
Relational Data
model, SQL,
Relational Algebra
Different kinds of
storage, A DBMS
architecture, Index
structures, CC & Crash
recovery, Optimization
techniques, Techniques
to build a DBMS
Relational DBMS

Why?



Performance!
Reduced application development time
Use of SQL makes access to data more
uniform:


Software modularity,
Extensibility
Challenge 2

Two ways to teach this course:

How to implement a DBMS?


How to use a DBMS?



Protocols to realize atomic property of
transactions
Setup a web server with a database and build
a shopping bag
Key difference: discussion at both the
logical and physical levels
Both require use of OO constructs
Grading



Midterm 1: 35%
Midterm 2: 35%
Assignments: 10%


First assignment is posted on the web.
Due Tuesday, September 2nd.
Project: 20%
Assignments (15%)

Social networking sites:






Visit myspace.com and sign-up.
Become my friends – whether you like it or not 
Use the bulletin capability to communicate.
Objective is to understand the functionality of the
bulletin board. First message might be a quick
note about why you have signed up for csci 485.
Homework 1: Write a description of the bulletin
board and its functionality.
Homework 2: Draw the ER diagram for the web
site, focusing on its Bulletin board.
Homework 3: Reduce the ER diagram to a
collection of tables.
Project-ideas (15%)



Implement a Bulletin board using a
centralized database management
system.
Implementation of Bulletin board using
a database partitioned across multiple
servers.
Use of a storage repository to build a
small relational database management
system.