Introduction to DataBase Management Systems
Department of Mathematics and Computer Science
- Meeting times: 3 - 3:50 MTThF Thompson 322
- Final Exam: Tuesday, May 11, 8:00 AM required
- Bob Matthews (email email@example.com)
- Thompson 502
- Extension 3561
- Office hours (tentative):
- 11:00 - 11:50 MWF
- Or by appointment.
If you catch me free at any time, please feel free to drop in.
Messages sent via email are welcome, and can be used to ask a
question or to set up an appointment.
- Required: Elmasri and Navathe Fundamentals of
Database Systems (Second Edition). Addison-Wesley, 1994 We
will cover chapters 1 - 3, 6 - 8, 10 - 13, and, as time
permits, 21, 22, 24, 4, 5 (the last two chapters may be
assigned as reading). Starred sections will sometimes be
omitted. For detailed reading, check the current week's
- Required: Sunderraman, Rajshekhar, Oracle
Programming: A Primer, Addison-Wesley, 1999 (bundled with
E&N;). We will cover chapters 1 - 4 (5 if time permits).
- Course Notes: Course notes from last year will be on
reserve at the library.
All books are currently available at the Bookstore. Additional
references can frequently be found at Boarders.
Weekly reading and lecture schedule
- Three hour exams + a comprehensive final: 50% (The final exam
will have the weight of two hour exams)
- Written and programming exercises: 30%
- Group project: 20%
Programming exercises will be graded on style and documentation as
well as correctness. Programs and control scripts must include header
documentation as well as adequate internal documentation unless
otherwise specified. Late assignments will generally not be accepted,
will incur an increasing penalty when accepted, and will certainly
not be accepted after the graded exercise is returned to the class
unless I have asked you to correct and resubmit the exercise. Late
exercises must be submitted in hard-copy form with listings of the
assignment source and of test runs. Programs marked for correction
and re submission must be turned in within a week of the day that the
assignment was returned to the class. If a program or control script
meets requirements, works OK, is readable, and at least minimally
documented (header documentation and some internal documentation at
important points, it earns between 70% and 80% of the points
possible. If a program or control script is well structured, meets
all tests (tests are driven from the statement of the assignment, and
the specific tests I will use on your program will be taken from the
problem description in the assignment write-up, but the specific
tests will not generally be provided in advance), and is well
documented, it will earn between 80% and 95% of the total possible
points. To earn 100% of the total possible points, the program or
control script must meet all of the above and do something
exceptional beyond the statement of the program.
A minimum grade of 50% on exams and 50% on homework assignments is
a necessary (but not necessarily sufficient) condition for a passing
grade. All assignments turned in must represent individual effort:
work done by a committee cannot be accepted except where a group
effort is a clearly stated part of the assignment. All students in
Computer Science classes at the University of Puget Sound are
responsible for the material contained in the document on academic
honesty published by the Department of Mathematics and Computer
Science and included in the Academic Handbook The final exam will
have the weight of two hour exams.
The final exam for this class will be Tuesday, May 11, 8:00 AM. It
will be a comprehensive, two hour in-class examination.
Should you find yourself in difficulty at any point in the semester,
please make arrangements to meet with me as quickly as possible.
COMPUTER SCIENCE 455 DATABASE MANAGEMENT
- A. Catalog Description The design and implementation
of database management systems with emphasis on the relational and
object-oriented models for data. Topics will include data models,
design methods and tools for design, SQL, database tools, and
implementation issues, and will include substantial work with a
commercial main-frame relational database management system and
associated tools. A group term project will be a significant part
of the course. Prerequisites: CSci 261, (MA 132 or MA
257). It is expected that CSB majors will have taken CSci 255
before taking CSci 455
- B. Purpose CSci 455 is the capstone course in the
Computer Science/Business curriculum. Its purpose is to present
the basics of database management systems and the role these
systems play in the modern business world. Students study the four
basic data models for database management systems (with emphasis
on the relational and object oriented models), database design,
and implementation techniques, and gain substantial experience
with a commercial main-frame relational database system and
associated tools. A writing-intensive group project will be a
significant part of the course. The course is also designed as an
elective course in the Computer Science/Mathematics curriculum.
- C. Prerequisites CSci 261, (MA 132 or MA 257). A grade
of C- is required in the prerequisite courses. It is expected that
CSB majors will have taken CSci 255 before taking CSci 455
II. Required Topics
- A. PROGRAMMING TECHNIQUES.
- Review of file organizations.
- File techniques.
- Access methods in relative files.
- The structure of indexed files.
- The role of a file management system (e.g.., RMS)
- Implementing relational operations using indexed files
- B. Database Techniques.
- Data models for Database Management Systems
- Object oriented models
- Structured Query Language (SQL)
- Data definition
- Data manipulation
- The relational calculus and the relational algebra
- The data dictionary
- Other database systems/languages
- Postgres (an object oriented database system)
- Knowledge base systems
- C. Software Engineering Techniques.
- The database design process.
- Entity-relationship diagrams (top-down design)
- Forms-based design (bottom-up design)
- Resolution of top-down and bottom-up design
- Data-flow diagrams
- Data normalization
- Database development tools
- Forms development
- Report Writers
- Applications development
- Embedded database languages
- The software engineering process in the design and
implementation of information systems.
Class exercises will include practice with actual database
management systems. The University of Puget Sound has a commercial
copy of the Oracle relational database management system which is
used for the majority of database exercises in the class. In
addition, software developed at the University of Puget Sound will be
used for exercises in the relational algebra and relational calculus.
Postgres may be used for exercises in object-oriented database
systems. The term project will involve a substantial effort in the
specification, design and implementation of a information system
using Oracle. The information system will include data entry/enquiry
forms, possibly embedded SQL code in C programs, and the use of
Note: Please note that, except for scheduled University
events and exam dates, the schedule of topics, readings, and
assignments is tentative. Please refer to the current weekly
schedule posted above. It may be necessary to change an exam date: if
that happens, I will give you at least a week's notice and make
alternate arrangements for students unable to take the exam on the
rescheduled date. Please inform me of any conflict between the dates
entered here and those in the catalog and course schedule. In the
event of any conflicts, the catalog and course schedule have the
final say. Please note: It is not possible to change
the date or time of the final examination. All students in the
class must take the exam at the date and time given in the
final exam schedule. The course is in roughly four parts:
- Introduction to Database systems, Oracle, and SQL
- Database design
- Database tools
- More theory and future directions
The tentative schedule of readings and examinations is as follows.
Several of the readings overlap, particularly in the reference
material to which we will return several times during the semester.
CSci 455 A Lecture Schedule
- This should be considered very much a document in development.
While I will try as much as possible to stick to the posted exam
dates, the schedule of lectures and homework may change as the
term progresses. Updates, and detailed weekly plans, will be
CSci 455 home page.
- Please note that reading assignments for an individual lecture
should be completed before the lecture. Readings may include
handouts to be provided, and may also include readings in books on
I will try very hard to adhere to the following exam schedule. If it
becomes necessary to change the date of an exam (except, of course,
the final exam over which I have no control), I will give the class
advance notice, and work to make arrangements for students who can
not take the exam on the changed date.
The date and time of the final exam is fixed by the Registrar. Should
the date and time I have for this exam conflict with the announced
schedule, the Registrar's schedule will apply.
- Exam 1: Friday, Feb. 12
- Exam 2: Friday, Mar. 26
- Exam 3: Tuesday, April 27 (Please note that this is in
the last full week of classes.)
- The Final Exam for this class will be on Tuesday, May 11, 8:00
Unless otherwise specified, readings refer to Elmasri and Navathe
Week 1 Monday, Jan. 18
Week 2 Monday, Jan. 25
- Topics: Introduction to database systems / Survey of data
- Reading assignment: Elmasri and Navathe, chapters 1, 2. Also
skim sections 10.1, 10.5, and 11.1
Week 3 Monday, Feb. 1
- Topics: Entity-relationship models and the Relational model
- Reading assignment: chapters 3, 6, EasyAlg handout
Week 4 Monday, Feb. 8
- Topics: Relational model / introduction to Oracle
- Reading assignment: Chapter 7, Sunderraman Chapter 1
- First SQL exercise
- Monday is the last day to drop without record
Week 5 Monday, Feb. 15
- Topics: SQL
- Reading assignment: Chapter 7, Sunderraman 2
- First Hour Exam Friday, Feb. 12
- Topics: Tables, indexes, and views. The database loader
- Discussion of group project
- Reading assignment: as last week
- Monday is the last day to drop with an automatic "W".
Week 6 Monday, Feb. 22
Week 7 Monday, March 1: Happy St. David's Day!
- Topics: Top-down (Entity-Relationship) database design
- Reading assignment: Section 6.8, chapter 14
- Group meetings should begin
- Project Proposals Due
- Topics: Database design: An introduction to bottom-up design
and data normalization
- Requirements document due
- Reading assignment: Chapter 12
Week 8 Monday, Mar. 8
Monday, Mar. 15 Spring Break (no classes) Week 9
Monday, Mar. 22
- Topics: Database tools: The report writer
- Reading assignment: Handout and Oracle Help Files
- Friday, Mar. 13 is midterm (no exam, just the date of the
middle of the term)
Week 10 Monday, Mar. 29
- Topics: Database tools: Forms
- Reading assignment: Handouts, Oracle help files
- Preliminary design due
- SQL*Forms practical and assignment
- Introduction to PL/SQL.
- Second hour exam Friday, Mar. 26
Week 11 Monday, Apr. 5
- Advanced SQL
- Embedded SQL
- Reading assignment: E & N; Chapter 7, Sunderraman chapters
- Second SQL exercise
- Design document due
Week 12 Monday, Apr. 12
- Topics: PL/SQL
- Practical and assignment on triggers in forms
- Reading assignment: Sunderraman chapter 4
- Topics: Continued discussion on Developer 2000
- Reading: As before
Week 13 Monday, Apr. 19
Week 14 Monday, Apr. 26
- Topics: Relational algebra/calculus, data dictionary
- User's document due
- Reading assignment: Chapters 8, sections 6.5 - 6.7, handout.
Week 15 Monday, May 3 (Last week of classes)
- Topics: Object oriented database systems
- Reading assignment: Chapters 21, 22
- Third Hour Exam Tuesday, April 27 (note: during last full
week of classes)
Final Exam Week, Monday, May 10
- Topics: Group presentations. Individual sign-off meetings
should be scheduled before your presentation.
- All group project material due 5:00 Wednesday, May 5.
- Final Exam Tuesday, May 11, 8:00 AM
Return to my