Course Expectations and Tentative
Syllabus
CSC:240
Database Management
Systems Fall 2006
Room
Olney 200 MWF
11:00-11:50am
Professor: Dr. Michael Redmond
330 Olney Hall (215) 951-1096
redmond@lasalle.edu
http://www.lasalle.edu/~redmond/teach/240
Office Hours: MWF
10-10:50am, M 2-3pm, Th 10:30am-12:20pm
And at other times by appointment.
Text:
Database Systems Design, Implementation,
& Management by Peter Rob and Carlos Coronel. Seventh Edition.
Publisher: Course Technology Year: 2007 ISBN 1-4188-3593-5
Recommended:
A
comprehensive book on Microsoft Access, such as
Microsoft Access 2003 Bible by Cary N. Prague,
Michael R. Irwin, Jennifer Reardon, John Wiley & Sons; ISBN: 0-7645-3986-8;
1st edition (October 2003),
(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.
During
lectures, students SHOULD NOT be distracted by being in the lab.
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 computer science, information technology, and
Digital Arts, 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. As an experiment,
this semester I will allow students to choose your own groups. Start to think
about possible teammates early in the semester. Pay attention to compatible
schedules (don’t just choose people you already know). 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 17, the whole application is due Dec 8
(the last day of class). Projects will be demoed in class during the week of Dec
4. 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; 5% first installment; 25% 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 class day late (e.g. due Wed,
turned in Fri is -20%)
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 a little more heavily on any
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.
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
Aug 28 Intro to Class
Aug 30 Intro to Databases, Access,
Access Tables (Some Hands on)
Sept 1 Intro to Databases Chapt 1, Section 1.1-1.3
Sept 4 LABOR DAY - NO CLASS
Sept 6 Intro to Databases Chapt 1, Section 1.1-1.3
Sept 8 Files vs
Databases Sections
1.4, 1.5
Sept 11 Database Models Chapt 2, Sections 2.1-2.4
Sept 13 Database Models Chapt 2, Sections 2.1-2.4
Sept 15 Database Models Sections 2.5
Sept 18 Relational Databases Chapt 3, Sections 3.1-3.3
Sept 20 Relationships and Redundancy Sections 3.6,3.7
Sept 22 Access – Relationships
Sept 25 Entity Relationship Modeling Chapt 4
Sept 27 Entity Relationship Modeling Chapt 4
Sept 29 E/R Modeling using Visio
Oct 2 E/R Modeling using Visio
Oct 4 Entity Relationship
Modeling Chapt 4
Oct 6 The
Need for Normalization, Normal Forms Section
5.1
Oct 9 MIDTERM #1
Oct 11
Oct 13
Oct 16 Microsoft Access – Forms
Oct 18 Relational Algebra Section
3.4; Project DB Design Due
Oct 20 Relational Algebra
Oct 23 FALL BREAK – NO CLASS
Oct 25 Microsoft Access - Queries
Oct 27 Microsoft Access – Queries
Oct 30 Microsoft Access – Reports
Nov 1 SQL Queries (Using Oracle) Sections
7.3.3, 7.4, 7.6.1, 7.6.2
Nov 3 SQL Queries (Using Oracle)
Nov 6 SQL Queries (Using Oracle)
Nov 8 SQL Queries – Joins and
Aggregation and Grouping Sections
7.8, 7.6.3, 7.6.4
Nov 10 SQL Queries – Joins and
Aggregation and Grouping Sections
7.8, 7.6.3, 7.6.4
Nov 13 SQL Updates Section
7.3
Nov 15 SQL Updates Section
7.3
Nov 17 SQL Data Definition Sections
7.1, 7.2
Project
First Installment Due
Nov 20 MIDTERM #2
Nov 22-24 THANKSGIVING – NO CLASS
Nov 27 Transactions and Concurrency
Control Sections
10.1, 10.2
Nov 29 Transactions and Concurrency
Control Sections
10.1, 10.2
Dec 1 Transactions
and Concurrency Control Sections
10.1, 10.2
Dec 4,6 Group
Presentations
Dec 8 Group Presentations Final
Project Due
Final Exam: Fri
Dec 15 10:30-12-20 (tentative!!)