CS145 - Autumn 2011
Introduction to Databases
- The midterm exam will be held on Wednesday November 2,
11:00-12:15. It will be held in the Gates Computer Science Building
room B01 (the Hewlett-Packard Auditorium in the basement), not in
the regular classroom. All students must attend the exam
at the specified time and place. There will be no early or makeup exams.
- The exam will be closed book. However, each student may bring up
to three pages of prepared notes. That's six total sides of writing
on 8.5"x11" paper.
- A sample midterm exam (from Prof. Widom's Fall '10 offering of
CS145) is linked to the Exams page. We will
not be distributing sample solutions. Solutions will be discussed
during the review session (next bullet), and students can bring questions about the sample exam to staff office hours.
- An optional review session will be conducted by one of the TAs during
the regular class meeting on Monday October 31. It will not be
recorded. As a default the TA will review the sample midterm, but please feel free to bring other questions.
The exam will cover:
- All video lectures following the Course
Schedule through Querying XML
- All components of Assignments #1-4, including the challenge problems. (A sample solution for the problems in Assignment #4
will be posted by early morning Tuesday November 1.)
In-class guest lectures will not be on the exam; nor will the in-class activities specifically, although their main function was to reinforce the topics that will be covered.
What follows is a rough outline of the material covered
through Querying XML. All of this material is fair game
for the midterm exam.
- Basic motivation and database terminology
- Relational databases
- Relations (tables), attributes (columns), tuples (rows)
- Schema versus instance
- Keys, null values
- Querying relational databases
- XML data
- Well-formed and valid XML
- DTDs -- as covered in lecture examples, quizzes, and exercises
- ID and IDREF(S) attributes
- XML Schema -- as covered in lecture examples and quizzes
- Relational algebra
- Basic operators: select, project, Cartesian product, union, difference, rename
- Abbreviations: natural join, theta join, intersection
- Tree notation and assignment (linear) notation
- SQL
- Data definition:
create table, drop table
- Data manipulation:
select command
- Set operators, subqueries, aggregates, duplicates, null values
- Data modification:
insert, delete, update
- Relational design theory
- Design flaws: redundancy, update & deletion anomalies
- Functional dependencies (FDs): motivation, definitions, rules
- Closure of attribute set with respect to FDs
- Boyce-Codd Normal Form (BCNF): motivation, definition, decomposition algorithm
- Multivalued dependencies (MVDs): motivation, definitions, rules
- Fourth Normal Form (4NF): motivation, definition, decomposition algorithm
- Shortcomings of BCNF/4NF
- Querying XML
- XPath -- as covered in lecture examples and exercises
- XQuery -- as covered in lecture examples and exercises
- XSLT -- as covered in lecture examples and exercises