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
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 to keep
the medical records of
U.S. residents
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: 40%
Midterm 2: 45%
Assignments: 15%

First assignment is posted on the web.
Due Tuesday, September 2nd.
Assignments (15%)

Social networking sites:





Visit Twitter.com and sign-up.
Conceptualize and understand Twitter’s
functionality.
Homework 1: Write a description of the
Twitter and its functionality. Draw the ER
diagram for the web site.
Homework 2: Reduce the solution
provided for Homework into a collection
of tables.
Homework 3: Write SQL queries to
implement functionalities of Twitter.