Principles of Database Systems
Home Page and Syllabus
Time and Location
Tuesday and Thursday, 1:00 PM - 2:15 PM, MSC G76
Table of Contents
About the Course and its Goals
Welcome to the database course CSC 4480.
The area of database systems is very broad, related on one hand to
applications in business data processing and on the other to abstract,
theoretical computer science. This course is located somewhere between
the two extremes. Its objectives are
In addition, you will become literate in an important commercial
system available at Villanova: Oracle. It is
accessible through the departmental UNIX cluster,
in which you'll
be given an account if you don't yet have one. If you do have one, try to
check it soon to make sure you remember your login (that's UNIX lingo for
and password. Oracle is also available from the vendors as a free
download, as are some other DBMSs.
- to establish an understanding of database principles and the technologies
underlying database management systems.
- to establish an understanding of data models, with an emphasis on the
relational one, data design and querying.
While this course is not intended to teach web programming, it will
give you the opportunity, if you wish to use it, to access back-end
databases through a web interface.
Although the text I've selected for this term (see below)
is the same one that's used in the graduate course, we won't be going through
it so broadly or deeply as that course does.
I expect to cover all or parts of chapters 1-11,
15-16, 20 and 21.
We'll also touch briefly on one of the hot new database-related
topics: Big Data (related to "NoSQL").
The expectation in our department is that, on average, students will spend twice
the number of hours working on a subject outside class what they spend in
class. You'll have pretty much weekly submissions of homework and project
phases, as well as short quizzes on assigned readings (announced in advance).
Usually you'll be asked how much time you've spent in preparing for them.
Now, regarding the timing of assignments: At time it may seem that a quiz,
some homework, and a project phase all come due at once. I'll do my best to
avoid such a situation, but at times it's not possible to do so. You'll
have plenty of advance warning, though.
As a result of taking this course, you should acquire knowledge, skills,
understanding and values:
Past development, current issues and likely future directions of databases
Social and ethical implications of databases
Conceptual database design
Implementation of a database in at least one DBMS
Theoretical data retrieval
Practical data design and manipulation using the industry-standard SQL
Programming environments for accessing back-end databases
Database design theory
Place in Accreditation and
This course is required of Computer Science majors and minors and is an
acceptable elective for the "FiT" (Fluency in Technology) certificate.
It satisfies the Computing Accreditation Commission's curriculum criterion
as "an exposure to a variety of programming languages and systems."
1300 (Discrete Structures)
- R. Elmasri & S. Navathe,
of Database Systems, 7th Edition, Pearson,
2016. Note: most of the material in the chapters we'll be covering is similar
to that of earlier editions.
However, some of the coverage is now in different chapters of the text,
and homework assignments based on the text would be using the 7th
Edition. Bottom line: it's up to you, but it would be
more convenient for you to use the recent edition.
About Exams (including the final!),
Homework and Quizzes:
In this course your learning will be assessed by the
term project, quizzes, and three hourly exams,
with the last one to occur on the last day of class. There will be no
final exam! This will allow us to use the 150-minute slot allotted for the
final for another purpose, namely the team presentations of their database
term project. More information about this appears in the links to Grades, Project and elsewhere.
Regarding the homework, unfortunately it can't be accepted
after class begins on the due date (even if you're not there),
unless explicitly assigned for a different day or time.
Since all homework is submitted as email attachments, we have this
flexibility. Every attached homework assignment must have your name on
All assignments, whether you're present
in class that day or not,
should be submitted by email
to the graduate assistant, with cc to me.
Any text must be word-processed, and the non-text portions must be extremely
Although the direct effect of any single homework assignment's grade
on your course grade is not great, its indirect influence is very important,
because doing the assignments on your own will help you learn the material
(which will affect your performance on quizzes and examinations,
whose effect is critical) better than just listening to explanations by
the TA and me.
There are no restrictions against discussing
assignments, but you are not permitted to copy another student's paper.
Submissions that resemble others too much will be considered violations of
Here's a link to the homework questions.
Here's a link to the pool of quiz questions.
|3 Examinations x 100
|(Feb 14, Mar 28, May 04)
Project: Database development
For letter grades:
A, A-, B+, B, B- C+, etc., start approximately at 93, 90, 87,
83, 80, 77 per cents, resp.
Explicitly, it's only required at examinations; notify me in advance of any
However, I won't be able to administer any makeups on
missed quizzes. Further, the "Other" category counted towards your course
grade includes participation, which would not be helped by excessive
Also, please take note of some of those important dates in our course, such
as the three hourly exams and the date of project
Make sure that your other instructors are aware that your attendance is
required in this class on those days, at its usual scheduled time.
If it's going to be a
problem, let me know early in the term, in case it will be necessary
for you to drop this course during the appropriate period.
Email, This Website and Blackboard:
Besides the Bulletins and Reminders section of this website,
expect to receive some important announcements by email. I will only use your
Villanova LDAP address (@villanova.edu), so you should check it at
least twice weekly (more frequently if there's something special going on),
and you should be sure your inbox is never full. The
email address for the class are Spr17-CSCfirstname.lastname@example.org. Finally, this website, rather than Blackboard, will be the primary
means for such communication. The exception is that you will be able to keep
track of your grades on Blackboard's Grade Center.
Our course is now part of an NSF research grant on techniques in teaching
databases. Like other research that compiles and publicizes data, NSF
needs to be sure that subjects of the research (that's you) are aware
of the implications of their participation. We'll discuss this in class,
and I'll invite you to sign a consent form (which has some further
here's a copy).
The TA for this course
is Ms Sailaja Chagarlamudi (email: email@example.com).
Her office hours will be Wednesdays, 2:30-4:30 PM, in the Software
Engineering Lab (MSC 158).
She'll also be happy to schedule
consultations outside those hours, should they not be convenient for you.
She will be able to help you understand difficult concepts, to serve as a
resource for the unit on database programming, and to round up copies for
handouts you may have missed. Remember also to cc
her on all emailed
questions, to email her all homework submissions and to cc
her on all group
project phases (other than 00, 08 and 15.
Here's why: 99% of the time I'll not only be able to reply myself to your
queries, but I'll be delighted to hear from you. The other 1% of the time I
may be inaccessible, so it's important for the TA to know about your issue.
They will be grading your quizzes and homework submissions,
but I'll be grading everything else. And she
will very likely be more
expert in some of the web programming and other database programming details
than I will.
Other Assistance: Peer Tutors:
The department also has a "peer tutoring" system, where
students who've taken particular courses can help field
questions about them. Details can be found here.
Record. The papers in this journal deal with both
theory and practice.
ACM Transactions on
Database Systems. This is one of the major ACM
journals and presents papers on the frontiers of basic
Surveys. The original database issues were March,
1976 and September, 1979, but other papers on the subject
appear from time to time.
IEEE Transactions on Knowledge and Data Engineering.
This is the technical IEEE journal in the field.
ACM Queue: Architecting
Tomorrow's Computing. ACM publishes this ten times each
year. But you already knew that, since you're probably a member
of Villanova's student ACM chapter.
Ethics for computer scientists:
Students with disabilities who require reasonable academic accommodations
should schedule an appointment to discuss specifics with me. It is the policy
of Villanova to make reasonable academic accommodations for qualified
individuals with disabilities. You must present verification and
register with the Learning Support Office by contacting 610-519-5176 or at
firstname.lastname@example.org. For physical access or temporary
disabling conditions, please contact the Office of Disability Services at
610-519-4095 or email Stephen.email@example.com Registration is
needed in order to receive accommodations.
Bulletins and Reminders:
May 4) Exam 3
Monday, May 8, 8:30-11:00) In this time slot, originally assigned for a final
exam, we'll have our team presentations.
May 10) Phase 15 (final write ups) is due. The specs will be distributed soon.
An extra point will be awarded for submissions by May 9, and heavier than
usual penalties for ones that come in on May 11. That's because of the pressure
to get final grades in. And none will be accepted after the 11th.
Are We Using Oracle or Access or MySQL?
The short answer is "yes." The longer explanation is that the language
spoken in class is Oracle, and, specifically, the version accessible
via the department's UNIX system csdb. You'll be given logins and
passwords on csdb and userid's and passwords on Oracle. The links in the next
section will give you some guidance. More will be provided in class, and the
TA will be your "go-to" guru for questions. You'll be expected to be
completely comfortable with and knowledgeable about that environment.
That said, the vehicle that your group will use on the semester project will be up to
the consensus of your group. As described at that link, though, everyone
in the group needs to be able to access the database, and you must be able to
demo full functionality of your project to the TA.
You're also free to use SQL Developer, a friendly front end for Oracle.
Since the TA's responsibility for support will apply primarily
Oracle on csdb,
you should expect to
be pretty much on your own if you choose to use one of the
acceptable alternate technologies. And here's one more warning: last term
two of the 15 groups in the two sections chose to use MySQL. One of them
said at the end of the term that their advice to future generations of
students was not to use MySQL for this project.
You can find some information here on using
the departmental UNIX cluster.
NOTE: While the departmental website is getting its new nifty design,
you can see that information ghosted here, but
only from a browser within the Villanova domain.
Here are links to guidance on using the departmental
copies of Oracle and MySQL.
The TA will be your resource for
further assistance on using these programs. Let them know (and cc me)
any issues or difficulties you have in accessing these programs.
Other Useful Links:
WinRDBI is free software for
practicing relational query languages. You will find it invaluable for
learning relational algebra and SQL querying syntax. Note that it assumes
that you have a 32-bit JRE (Java Runtime Environment). If yours is 64-bit,
then just download the 32-bit one, and point WinRDBI to it during that
Conceptual Database Design.
(Click on the opening screenshot of
This is handy for introducing
conceptual design, specifically ERD's, and mapping them
to RDB schemas. It will provide good practice in preparing for Exam 1,
especially the "Checkpoint" topic at the end.
Introduction to Querying. (Again, click on the
opening screenshot of
This one is useful for understanding the
ideas behind querying databases. It's part of the coverage of Exam 2.
Introduction to Relational Databases. (Again, click on the
opening screenshot of
This is handy for motivating
relational databases and normalization. The normalization topic goes with
Homework can't be accepted after
the morning class has
begun on the due date (because that's when the solution key is distributed and
discussed), while project phases can come in up to midnight on the due date.
Further, late homeworks aren't accepted at all, while late project submissions
accepted, but with penalty. However, there are exceptions to these
rules of thumb. They are clearly stated when the assignment is made.
There won't be any opportunities for extra credit in this class. The reason
is that it's too difficult to administer this in a consistent manner that is
fair to everyone.
Last updated: May 4, 2017