Course Expectations and Tentative Syllabus
CSC:264 Database Management Systems Fall 2003
Room F – Holroyd 101 (some Wed) MWF 2-2:50am
MW
- Olney 211
Professor:
Dr. Michael Redmond
330 Olney Hall (215) 951-1096
redmond@lasalle.edu
http://www.lasalle.edu/~redmond/teach/264
Office Hours: W
10-10:50am; MWF 12-12:50am, TR 2-3pm
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 17; a first installment of the
project will be due Nov 10, the whole
application is due Dec 5 (the last day of class). Projects will be demoed in
class during the week of Dec 1. 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 25 Intro to Class
Aug 27 Intro to Databases, Access (IN LAB) Chapt 1, Section 1.1
Aug 29 Intro to Microsoft Access –
Tables
Sept 1 LABOR DAY – NO CLASS
Sept 3 Files vs Databases Sections
1.2, 1.3
Sept 5 Microsoft Access –
Relationships
Sept 8 Database Models Sections
1.5,1.6
Sept 10 Relational Databases Chapt
2, Sections 2.1-2.3
Sept 12 Microsoft Access – Forms
Sept 15 Relationships and Redundancy Sections
2.6,2.7
Sept 17 Entity Relationship Modeling Section
3.3
Sept 19 E/R Modeling using Visio
Sept 22 Data Abstraction Chapter
3, Sections 3.1,3.2
Sept 24 Entity Relationship Modeling Section
3.3
Sept 26 Entity Relationship Modeling
(NOT in LAB) Section 3.3
Sept 29 MIDTERM #1
Oct 1 The Need for
Normalization Section
4.1.1
Oct 3 Microsoft Access -
Queries
Oct 6 First Normal Form,
Functional Dependencies Sections
4.1.2, 2.2
Oct 8 Second Normal Form Section
4.1.3
Oct 10 Microsoft Access – Reports
and Macros
Oct 13 Third Normal Form Section
4.1.4.
Oct 15 Normalization and DB
Design, Normalization Tradeoffs Sections
4.2, 4.4
Oct 17 Relational Algebra (NOT in
LAB) Section
2.4 Project DB Design Due
Oct 20 FALL BREAK – NO CLASS
Oct 22 Relational Algebra
Oct 24 SQL Queries Using Oracle Sections
5.3.3., 5.4, 5.6.1
Oct 27 SQL Queries
Oct 29 SQL Queries Using Oracle
(IN LAB)
Oct 31 SQL Queries Using Oracle
Nov 3 SQL Queries
Nov 5 SQL Queries – Aggregation
Using Oracle (IN LAB) Sections
5.6.3, 5.6.4
Nov 7 SQL Queries – Aggregation
Using Oracle Project
First Installment Due
Nov 10 SQL Updates Sections
5.3.1, 5.5.6, 5.3.4, 5.3.6
Nov 12 SQL Updates Using Oracle (IN
LAB)
Nov 14 SQL Data Definition Sections
5.1, 5.2
Nov 17 MIDTERM #2
Nov 19 SQL triggers, Stored
Procedures Section
5.8
Nov 21 Transactions (NOT in LAB) Section
9.1
Nov 24 Concurrency Control Section
9.2
Nov 26 &
28 THANKSGIVING BREAK – NO CLASS
Dec 1-3 Locking Section
9.3
Dec 3-5 Group Presentations
Final Exam:
Dec 12 2:30pm