Tentative Syllabus
CIS:523 Data Processing
and Database Management Fall 2000
Bucks Campus - Room
??, Lab - Room 125 Tue
6:15-9:00pm
Professor:
Dr. Michael Redmond
330 Olney Hall (215) 951-1096
redmond@lasalle.edu
Office Hours: T
5:00-6:15pm
And at other times by appointment.
Also, by phone and e-mail.
Text:
Elmasri, R., and Navathe, S. B.,
Fundamentals of Database Systems, Third Edition, Addison-Wesley, 1999
Recommended:
A comprehensive book on Microsoft Access
(not a beginners book)
such as: Prague, C. N., and Irwin, M.
R., Microsoft Access Bible, IDG Books
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 a lot of
the details about Access largely on their own. The recommended book should be
helpful. 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 will also discuss new technology (object-based databases).
The
course is intended for students who did not previously have a junior/senior
level course in database systems, or who need an update/refresher.
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.
8. (time
permitting) The student should understand the concepts behind object-oriented
databases.
Applications:
1. The
student should gain some exposure and experience with a commercial relational
database manager.
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.
Grading:
Midterm 20%
Final Exam 30%
Individual Assignments 15%
(5% for SQL assignment, 10% for all others combined)
Group Application 35% (5% initial hand-in + 30%
final product)
Fall
semester 1999 brought the debut of the A, A-, B+, B, B-, C, F grading scheme. I
will assign +’s and –‘s, but the number will probably be small, limited to
people close to grade boundaries.
No
make up exams unless arranged in advance.
Final
exam is cumulative, but will focus more heavily on the (previously untested)
final half of the course.
There
will be several, varied (mostly short) assignments over the course of the
semester. The largest will involve using SQL in Oracle.
You
will develop an application working in a group of 2-3 people. 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.
Information
about the application will be distributed shortly. I recommend that at least
two members of each group obtain a complete Microsoft Access reference book (In
fact, it would probably be beneficial for members to obtain different
books so that the weaknesses of one can be compensated for by the other). The books
need to cover enough to at least enable you to build an application for a naive
user, so that preferably the user do not have to learn a lot about Microsoft
Access. Thus, it should cover at least up through Macros (and/or modules using
VBA, which is now the recommended approach).
Note that not having the book is not an acceptable excuse for an
inferior application.
Choose
your groups with care; you will almost certainly have to meet at times in
addition to class times - you will be better served by choosing teammates with
compatible time schedules, and geographic location rather than just choosing
your friends. 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
database design for your project is due Oct 17; the whole application is due
Dec 5 (the last day of class). Projects will be demoed in class on Dec 5. All
students are expected to be present and to participate equally in the group
demo. 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.
Tentative
Course Plan:
Date Material Reading
---- -------- --------
Aug 29 Intro
to Class,
Overview
of Database Management Chapt
1
A Sample
Database Application
Sep 5
Database
Architecture & Chapt 2
Intro to Relational Databases
Intro to Microsoft Access
Sep 12 Data
Modeling Using Entity- Chapt
3
Relationship
Model
Sep 19 Relational
Data Model Sections
7.1-7.2
Relational
Data Integrity Section
7.3
Sep 26 Design,
Normalization Section
9.1,Sections 14.1-14.4
Functional
dependencies
Oct 3 Relational Algebra Sections 7.4-7.6
Intro
to SQL Chapt
8
Oct 10 MIDTERM
Access
Queries
Oct 17 SQL Chapt
8, Project DB Design Due
Oct 24 NO CLASS – FALL BREAK
Oct 31 SQL
using Oracle
Nov 7 Access Forms, Reports, Menus,
Macros SQL Assignment Due
Nov 14 File
Organization and Indexing Chapt 5,6
Nov 21 Transaction
Processing Chapt
19
Nov 28 Intro
to Distributed Databases Section 17.1,
Sections 24.1,24.3, 24.6, 24.7
Dec 5 Project Demos Project Due
Dec 12 Final
Exam