CSCI 485: File and Database Management
Computer Science Department
University of Southern California
Spring 2010, TTH 11-12:20 (KAP 165
)
|
Instructor |
Prof.
Shahram
Ghandeharizadeh |
Office
|
SAL 208 |
|
Phone |
(213) 740-4781 |
E-mail
|
shahram[at]usc[dot]edu
|
Office
Hours
|
Tuesdays
and Thursdays 9 to 10:30 |
TA
|
TBA |
TA Email
|
[at]usc[dot]edu |
TA Office
Hours
|
SAL 200C-
Tuesdays
and
Thursdays 2:00 to 3:30pm |
URL
|
http://dblab.usc.edu/csci485 |
Prerequisite
|
CS201:Data
Structures, knowledge of an
object-oriented programming language |
Text Book
(required)
|
Silberschatz.
Database system concepts, Fifth
Edition, McGrawhill. |
Quick
overview
|
Online
Syllabus |
Overview
File input/output techniques, basic methods for
file organization. File managers, principles of
databases, conceptual data models, and query
languages.
Presently, the relational database technology
plays a pivotal role in the commercial arena.
There is a growing interest in the use, design,
and implementation of these systems. This course
introduces students to the fundamental concept
in relational databases. Students are introduced
to: 1) Conceptual, logical and physical
organization of data, 2) Use of both formal and
commercial (e.g. SQL) query languages, 3)
Indexing techniques for efficient retrieval of
data, 4) The concept of a transaction, 5)
Concurrency control and crash recovery
techniques. These concepts are exercised further
by a term project that involves design and
implementation of services provided by a
relational file system.
Expected Outcomes
At the end of the course, the students are
expected to possess the following skills:
·
Ability
to apply knowledge of ER data model and
relational algebra
·
Knowledge of logical design of a database and
reduction of an ER model to relational data
model
·
Ability
to design a database and write SQL commands to
retrieve and manipulate data
·
Ability to describe different software layers to
implement a database management system
·
Knowledge of file system organization of
relations and their records
·
Ability to describe alternative persistent index
structures and their use for query processing
·
Knowledge of different storages (disk, memory)
and their physical characteristics
·
Knowledge of estimation techniques to implement
a cost-based query optimizer
·
An understanding of designs that preserve
database consistency in the presence of
concurrent users and system crashes
·
Role of caching techniques and their performance
·
An understanding of the concept of a transaction
lock-based concurrency control protocols and
log-based recovery
techniques
·
Terminology essential to communicate with
database practitioners, e.g., normalization,
index structures, relational algebra,
etc
Grading
|
Assignment |
10% |
|
Project |
20% |
|
Exam I (1st midterm) |
35% |
|
Exam II (2nd midterm) |
35% |
Late assignments and
projects will be accepted within 7 calendar days
following the due date. Late assignments and
projects will be penalized 15 + 3×(N-1);
where N is the number of calendar days late.
Assignments and projects submitted more than 7
days will not be accepted and will receive a
grade of 0.
“Make-up” exams will not be given.
Reading List
·
Introduction and
an overview (Chapter 1)
·
Conceptual data Design, Database Design and E-R
Model (Chapter 6)
·
Relational database design (Chapter 7, and “A
Simple Guide To Five Normal Forms in Relational
Database Theory,” by
W. Kent, Communication of the ACM, Vol 16,
Number 2, 1983)
·
Relational data model, relational algebra, and
SQL as a commercial query language (chapters 2 &
3)
·
Design and
implementation of a relational data base
management system
1.
physical organization of
records (Chapter 11)
2.
index methods: clustered
and non-clustered B-tree, hash indexes,
extendible hashing (Chapter 12)
·
Query Processing
Techniques in relational systems (Chapter 13)
·
Transaction and
the concept of atomicity (Chapter 15)
·
Concurrency
control (Chapter 16)
·
Crash recovery
(Chapter 17)
Academic Integrity Policy
All Assignments and
projects must be solved and written
independently, or you will be penalized for
cheating. The USC
Student Conduct Code prohibits
plagiarism. All USC students are responsible
for reading and following the Student Conduct
Code.
In this course we encourage students to study
together. This includes discussing general
strategies to be used on individual assignments.
However, all work submitted for the class is to
be done individually.
Some
examples of what is not allowed by the conduct
code: copying all or part of someone else's work
(by hand or by looking at others' files, either
secretly or if shown), and submitting it as your
own; giving another student in the class a copy
of your assignment solution; consulting with
another student during an exam. If you have
questions about what is allowed, please discuss
it with the instructor.
Students who violate University standards of
academic integrity are subject to disciplinary
sanctions, including failure in the course and
suspension from the University. Since dishonesty
in any form harms the individual, other
students, and the University, policies on
academic integrity will be strictly enforced. We
expect you to familiarize yourself with the
Academic Integrity guidelines found in the
current USCampus.
Violations of the Student Conduct Code will be
filed with the Office of Student Conduct, and
appropriate sanctions will be given.
|