Course Expectations and Tentative Syllabus

 

CSC:264      Database Management Systems                                                 Fall 2001

                      Room  Olney 319, Lab – Olney 201                                       MWF  10-10:50am

 

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 2-2:50pm, T  5:00-6:00pm

                          And at other times by appointment.

 

Text:

Database Systems Design, Implementation, & Management by Peter Rob and Carlos Coronel. Fourth Edition. Publisher: Course Technology Year: 2000  ISBN 0-7600-1090-0

 

On Reserve:

Books on Microsoft Access 

 

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 19; the whole application is due Dec 7 (the last day of class). Projects will be demoed in class during the week of Dec 3. 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.

Books on Access are being put on reserve in the department tutor lab. Share nicely. You may want to obtain your own book; if so get a comprehensive book that will be useful beyond this semester (i.e. not a Learn Access in 24 Hours book).


Grading:

                Midterm                                              15%

                Final Exam                                       25%

                   Individual Assignments                    20% (5% for SQL assignment, 15% for all others combined)

                Group Application                           40% (5% initial hand-in + 30% 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.

 

                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.

 

                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 half 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 27                   Intro to Class

Aug 29                   Intro to Databases                                             Chapt 1

Aug 31                   Files vs Databases                                             Sections 1.2, 1.3

 

Sept 3                     LABOR DAY – NO CLASS

Sept 5                     Database Models                                                               Sections 1.5,1.6

Sept 7                     Relational Databases                                         Chapt 2, Sections 2.1-2.3

 

Sept 10                   Relationships and Redundancy                         Sections 2.6,2.7

Sept 12                   Data Abstraction                                                           Chapter 4, Sections 4.1,4.2

Sept 14                   Entity Relationship Modeling                               Section 4.3

 

Sept 17                   Entity Relationship Modeling                               Section 4.3

Sept 19                   Entity Relationship Modeling                               Section 4.3

Sept 21                   Converting E/R into DB design                    Section 4.4

 

Sept 24                   More on E/R Diagrams                                        Examples and Handouts

Sept 26                   ERWIN Software                                                                Handouts

Sept 28                   The Need for Normalization                        Section 5.1.1

 

Oct 1                       First Normal Form, Functional Dependencies Sections 5.1.2, 2.2

Oct 3                       Second Normal Form                                         Section 5.1.3

Oct 5                       Third Normal Form                                         Section 5.1.4.

 

Oct 8                       Normalization and DB Design,                  Sections 5.2, 5.4 

                                Normalization Tradeoffs

Oct 10                     Intro to Microsoft Access – Tables and Relationships

Oct 12                     Relational Algebra                                              Section 2.4

 

Oct 15                     MIDTERM

Oct 17                     Relational Algebra

Oct 19                     SQL Data Definition                                     Sections 3.1, 3.2, Project DB Design Due

                                                                                                               

Oct 22                     FALL BREAK – NO CLASS

Oct 24                     Microsoft Access – Forms                                    

Oct 26                     SQL Queries                                                  Sections 3.3.3., 3.4, 3.6.1

 

Oct 29                     SQL Queries

Oct 31                     Microsoft Access - Queries

Nov 2                     SQL Queries

 

Nov 5                     SQL Queries – Aggregation                         Sections 3.6.3, 3.6.4

Nov 7                     SQL using Oracle

Nov 9                     SQL Updates                                                 Sections 3.3.1, 3.5.6, 3.3.4, 3.3.6

 

Nov 12                   SQL catchup

Nov 14                   Microsoft Access – Reports, Macros

Nov 16                   Database Lifecycle                                             Section 6.4

 

Nov 19                   Transactions                                                        Section 9.1

Nov 21 & 23                 THANKSGIVING BREAK – NO CLASS

 

Nov 26                   Concurrency Control                                         Section 9.2

Nov 28                   Locking                                                                  Section 9.3

Nov 30                   Recovery                                                              Section 9.6

 

Dec 3-7                   Group Presentations

Final Exam: TBD (Dec 10-14)