Database Systems

Objectives

Professor


Textbook and General Outline


Attendance


Grades


Exams


Written Assignments


Rules on Giving/Getting Help



Homework Assignments


 


Objectives

  • To understand how a database is different from a traditional file system.
  • To practice constructing E-R diagrams and designing a relational database
  • To learn the basics of Standard Query Language (SQL)
  • To learn database programming with Python
  • To learn how to interface a web page with the database by means of cgi scripts
  • To design and implement a significant project
  • To have the opportunity to present the status of the project at several points along the way for review and critique by the class
  • To create, collect and organize a portfolio of documents for the project.
  • To address social and ethical issues related to database technlogy
  • As time permits to explore additional topics such as transaction management and data mining

Professor

Dr. Christine Shannon 
Olin 115 
Phone: 5406 (Office) 238-7422 (Home) 
e-mail: shannon@centre.edu 
You might also be interested in visiting my home page at http://web.centre.edu/shannon/.

Office hours: I am generally on campus every day between 8 a.m. and 4 p.m. and often later than that.. If I am not in class, I am usually in my office or one of the computer labs. I will try to observe the following office hours and will notify you if I won't be available. 

 

M-W-F: 9:00 - 11:00 a.m..
T-R: 9:30 - 11:00 a.m. 

 

Please feel free to come by at other times and you are always welcome to make an appointment. 

Textbook

Ricardo, Catherine M. Databases Illuminated, Sudbury, MA: Jones and Bartlett Publishers,2004.

 

General Outline

Lecture

Date

Topic

Reading

1

9/1

Course Information; Introductory Database concepts

Chapter 1

2

9/3

Designing a Database

Chapter 2

3

9/8

Introduction to the E-R Model

Chapter 3.1-3.5

4

9/10

Examples of E-R Models

Finish Ch 3

5

9/15

Presentation of database example designs

 

6

9/17

The Relational model

Chapter 4.1-4.5

7

9/22

Relational Data Manipulation Languages

Chapter 4.6

8

9/24

Exercises on the relational model

 

9

9/29

Test 1

 

10

10/1

ER Models presentation/evaluation

 

11

10/6

Normalization

Chap 5.1-5.5

12

10/8

Examples

 

13

10/13

SQL and Defining the Database;  Security

Ch 6.1-6.3; Ch 9.1-9.8

14

10/20

Manipulating the Database

Ch 6.4-6.6

15

10/22

Database Programming with python

Ch 6.7 ff

16

10/27

More SQL

 

17

10/29

Guest lecture on production database

 

18

11/3

Test 2

 

19

11/5

HTML programming

Ch 13

20

11/10

Demonstration of project functionality

 

21

11/12

CGI programming; the python database module

 

22

11/17

Transaction  Management

Ch 10.1-10.4

23

11/19

Transaction Transaction Management

finish Ch 4

24

11/24

Social and Ethical Issues

Ch 14

25

12/1

Data Warehouses and Data Mining

Ch 15

26

12/3

Final project demos

 

Attendance 

I expect students to be present for all classes. Please let me know in advance if you must be absent for a scheduled college activity. Illness might prevent you from being present for a couple of classes during the term but anything beyond that will probably have a detrimental effect on your grade. Those of you who must be absent for college sponsored activities should be particularly careful not to miss any other classes. It is very important that you be present for all examinations. Documentation will be required before you are allowed to make up a test and in general the make up will be the appropriate part of the final exam. Only the Associate Dean can make exceptions to the final exam schedule. If you have a good reason to be absent from class, you are still responsible for the homework assignments. Except in the case of serious illness, all assignments are to be turned in on time. 

 

Grades

Your grade for the course will be determined by the following: 
Tests (2) 125 points each
Homework /Projects/Quizzes 150 points 
Final Exam 150 points

Your final grade will be determined by the total number of points you accumulate out of the 550 possible points. The 150 point homework grade will be composed of the points you gain on the course project and any other written assignments as well as the quizzes over the reading. This will include several presentations. Borderline cases will be determined by improvement on the final and participation in class. Students who are ill-prepared, miss class, or otherwise fail to live as responsible citizens will not get the benefit of any doubt. I will use a 15 point grading scale so that you are guaranteed an A or A- if you score 85 or above, a B-, B or B+ for 70-84, C-,C or C+ for 55-69 a D for 45-54 and anything lower is failing.

Exams

There will be two exams on Tuesday, Sept 29 and Tuesday, November 3. There will also be a cumulative final during the final exam period on Monday, December 7 at 1:30 p.m.

 

Written Assignments and Other Graded Work

There will be reading assignments and exercises assigned each day. The questions should guide your reading and identify important ideas. There will often be an open book reading quiz to take on line once you have finished the reading. These are not a very large portion of you grade but they should help focus your reading of the material.

In addition to these assignments you will all be working on a term long database project which you will complete with a partner. There will be a number of points at which deliverables must be submitted. These will all be graded as part of your project grade. All work must be submitted on time. Late projects will be penalized 10% per day. I do not accept other assignments past the deadline but there will be some "grace" at the end of the semester. 

Occationally there will be an assignment other than a part of the project which I will grade. These will generally be done independently.

You must give credit BY NAME to any person who assists you in completing an assignment. Failure to acknowledge such help is PLAGIARISM and will be dealt with accordingly. 

General Rules for Giving/Getting Help

If you are seeking help: Another person may read your code if you are trying to find a bug. You must acknowledge their help and indicate that they read your code as part of the documentation. You may not read another person's code but it is permissible to talk about the solution of the problem (not the actual code). Anyone with whom you discuss the problem, must be listed in your documentation. 

If you are giving help: you may read another person's code if you are looking for an error. It is their responsibility to list you as a resource. You may not allow another student to read your code "to get the idea". It is permissible to talk about your solution but be judicious about the hints you give. Again, the other student is responsible for listing your help in the