Course Expectations and Tentative Syllabus
CSC:264 Database
Management Systems Fall 2002
Room M – Olney 201 MWF 10-10:50am
WF
Olney 215,
Professor:
Dr. Michael Redmond
330 Olney Hall (215) 951-1096
redmond@lasalle.edu
http://www.lasalle.edu/~redmond/teach/264
Office Hours: MWF 11-11:50am, MW 12-12:50pm
And at other times by appointment.
Text:
Database
Systems Design, Implementation, & Management by Peter Rob and Carlos
Coronel. Fifth Edition. Publisher: Course Technology Year: 2002 ISBN 0-619-06269-X
Recommended:
A
comprehensive book on Microsoft Access, such as
Microsoft
Access 2000 Bible by Cary N. Prague,
Michael R. Irwin, John
Wiley & Sons; ISBN: 0764532863; 1st edition (April 1999), Average Customer Review:
(you
will want to make sure that the book you choose is for developers, not users,
and has intermediate material as well as beginner material (e.g. NOT something
like a Learn Access in 24 Hours book). Sure books are expensive, all the more
reason that you will want a comprehensive book
--- that will be useful beyond this semester)
Course Description:
Databases
are everywhere. Data is a crucial resource for most organizations, so effective
storage and access of that data is an important concern.
This
course is intended to introduce the student to the important principles of
database management systems and the design of databases. In addition, the student
will gain experience working with practical database management packages:
Oracle and Microsoft Access. Most of the course lectures will focus on the
theory; some lab time for learning the packages is planned. The student will develop a database application
using Access; it is expected that the student can learn some of the details
about Access on their own. Oracle is a
large professional package, with many features including design and development
tools; our work with Oracle will focus on SQL.
This
course focuses on Relational Database
theory - which is the current technology. The text reflects that emphasis.
There may be some discussion of
previous database organizations that are still found in industry (hierarchical
and network). We may also discuss new technology (object-based databases).
The
course is intended for students in both computer science and information
technology, as well as other students who have an interest in developing
databases.
Project:
You
will develop an application working in a group of 3 people. You will be
assigned to groups. The most efficient approach is to use meetings to divide up
work, monitor progress, ensure consistency, etc, with the brunt of the work
done outside meetings. Note also that,
to discourage slackers, 1) included in the project hand-in, you will specify
which parts of the project each person was responsible for, and 2) you may be
asked to rate the level of effort of group members at the end of the semester.
In most cases, the effort should be equal, especially since all students know
ahead of time that they must pull their weight. Or 3) I may interview people
about aspects of the design / development. Note that if you do not do your
share of the project you can get a lower grade than the group grade. If there
appears to be a problem in a group, first try to solve it internally. If that
doesn't solve the problem, as a last resort (but before the end of the term), I
may have to mediate.
The
project will be a prototype, it will not be a complete bullet-proof application.
Information about the application will be distributed shortly. However, you
will not be able to make much progress on the project until after you
thoroughly understand database design (covered in early part of course). The
database design for your project is due Oct 18; a first installment of the
project will be due Nov 11, the whole
application is due Dec 7 (the last day of class). Projects will be demoed in
class during the week of Dec 6. Groups will present their database design and
their prototype. All students are
expected to be present and to participate equally in the group presentation.
Work done in Access before your database design is correct may require
substantial re-work (i.e. the first priority is to get the database design
right). Thus, you may find it useful to turn in your design early.
Grading:
Midterm
#1 15%
Midterm #2 15%
Final
Exam 15%
Class Participation 5%
Individual
Assignments 10% (5%
for SQL assignment, 5% for all others combined)
Group Application 40%
(5% DB design; 10% first installment; 20% final product; 5% presentation)
Final Grades:
A 92-100 A- 90-91
B+ 88-89 B 82-87 B- 80-81
C+ 78-79 C 72-77 C- 70-71
D+ 68-69 D 60-67 F <
60
·
There will
be several, varied (mostly short) assignments over the course of the semester.
The largest will involve using SQL in Oracle. The second largest will probably
be E/R diagrams using Visio.
·
Do your own assignments !!!!
Work that is copied or done with somebody (when not assigned to a group)
will be punished. If in a group/pair, your group
must do its own work.
·
Late Assignments
-20% per weekday (NOTE - NOT per CLASS)
UNLESS SPECIFIED
OTHERWISE ASSIGNMENTS ARE DUE AT THE BEGINNING OF CLASS
-10% if handed in after start of class and
before I leave for the day.
·
Class
participation grades will be assigned systematically using attendance, plus
participation including questions, comments, and responding to instructor’s
questions in class. Deductions could be made for insufficient participation in
team work (in addition to any deductions on project grade).
·
Makeup
exams only by advance arrangements or for documented real emergencies, such as
medical problems. Makeup may involve double-counting your final exam.
·
The Final
Exam is cumulative, though it will focus more on the (previously untested)
final section of the course.
Students
generally do better in courses if they read the section of the textbook BEFORE
it is presented in class, since they are prepared to ask questions. Working
end-of-chapter exercises is a good test of your understanding.
Course
Objectives
Concepts:
1.
The student should understand the benefits of database management systems.
2.
The student should understand the process of semantic data modeling including
the entity-relationship approach.
3.
The student should understand the principles that should be used in designing a
relational database, including normalization techniques.
4.
The student should understand the issues and possible ways of handling
relational data integrity constraints.
5.
The student should understand the relational algebra.
6.
The student should understand the importance of views, to provide logical data
independence and some degree of privacy.
7.
The student should understand the issues involved in transaction processing.
Applications:
1.
The student should gain some exposure and experience with a commercial
relational database management system (RDBMS). The student should be able to
define and set up a relational database using the RDBMS.
2.
The student
should gain experience working on a group database application development
project.
3.
The student should understand how to define database structures and how to
specify database queries using SQL, and gain experience writing SQL queries on
a practical system.
Tentative
Course Plan:
Date Material Reading
Aug 26 Intro to Databases, Access
Aug 28 Intro to Class Chapt
1
Aug 30 Files vs Databases Sections
1.2, 1.3
Sept 2 LABOR DAY – NO CLASS
Sept 4 Database Models Sections
1.5,1.6
Sept 6 Relational Databases Chapt
2, Sections 2.1-2.3
Sept 9 Intro to Microsoft Access –
Tables
Sept 11 Relationships and Redundancy Sections 2.6,2.7
Sept 13 Entity Relationship Modeling Section 3.3
Sept 16 Microsoft Access –
Relationships
Sept 18 Data Abstraction Chapter
3, Sections 3.1,3.2
Sept 20 Entity Relationship Modeling Section 3.3
Sept 23 E/R Modeling using Visio
Sept 25 Entity Relationship Modeling Section
3.3
Sept 27 MIDTERM #1
Sept 30 Microsoft Access – Forms
Oct 2 The Need for
Normalization Section
4.1.1
Oct 4 First Normal Form,
Functional Dependencies Sections 4.1.2, 2.2
Oct 7 Microsoft Access -
Queries
Oct 9 Second Normal Form Section
4.1.3
Oct 11 Third Normal Form Section
4.1.4.
Oct 14 Microsoft Access – Reports
and Macros
Oct 16 Normalization and DB
Design, Normalization Tradeoffs Sections
4.2, 4.4
Oct 18 Relational Algebra Section
2.4 Project DB Design Due
Oct 21 FALL
BREAK – NO CLASS
Oct 23 Relational Algebra
Oct 25 SQL Data Definition Sections
5.1, 5.2
Oct 28 SQL Using Oracle
Oct 30 SQL Queries Sections
5.3.3., 5.4, 5.6.1
Nov 1 SQL Queries
Nov 4 SQL Using Oracle
Nov 6 SQL Queries
Nov 8 SQL Queries – Aggregation Sections 5.6.3,
5.6.4 Project First Installment Due
Nov 11 SQL using Oracle
Nov 13 SQL Updates Sections
5.3.1, 5.5.6, 5.3.4, 5.3.6
Nov 15 MIDTERM #2
Nov 18 SQL triggers, Stored
Procedures Section
5.8
Nov 20 Transactions Section
9.1
Nov 22 Concurrency Control Section
9.2
Nov 25 Locking Section
9.3
Nov 27 &
29 THANKSGIVING BREAK – NO CLASS
Dec 2-4 Group Presentations
Dec 4-6 Recovery Section
9.6
Final Exam:
TBD (Dec 9-13)