The
final exam is cumulative,
so it covers all the topics we have covered in the course.
These are as follows.
- The Game: Basics and Overview
- What are database systems? [Ch 1]
- evolution of database systems
- what functions database systems provide
- Data Models (& Schemas) [Ch 2: §1–3]
- overview of data models
- what is a data model?
- the relational model, in brief
- the semi-structured model
- the relational model
- basics
- data independence
- defining relational schema in SQL
- Design
- conceptual modelling
[Ch 4: §1–4]
- entity/relationship model
- entity sets, relationship sets, & attributes
- multiway relationsips
- multiplicity in relationships
- “recursive” relationships and roles
- subclasses (“isa”)
- design principles
- fidelity / faithfulness
- brevity: avoiding redundancy
- simplicity
- naturalness
- constraints in the E/R model
- keys!
- referential integrity
- weak entity sets
- converting from E/R diagrams to relational schema
[Ch 4: §5 & §6] &
[Ch 7: §1.1 & 1.2]
- from entity sets to relations (tables)
- from E/R relationships to relations
- combining relations
- handling weak entity sets
- converting subclass structures to relations
- using foreign key contraints
to enforce referential integrity
[Ch 7: §1.1 & 1.2]
- design theory
[Ch 3: §1, §2, §3.1, & §3.3]
- keys & functional dependencies
- keys, superkeys,
& functional dependencies (FDs)
- reasoning about FDs
- the normal forms [design theory slidedeck]
- anomalies
- what each normal form protects against
- how to test a relation for a normal form
- decomposition
[Ch 3: §3.2, §3.4 & §4]
- lossless join decomposition
- dependency preservation
- synthesis
[Ch 3: §5]
Queries
- relational algebra
[Ch 5: §1–3]
- relational algebra operators
- queries
- SQL
[Ch 6: §1–5]
- syntax & conceptual model
- aggregate operators
- NULL values
- queries, queries, queries!
- data modification operations
- constraints & triggers
[Ch 7]
- keys & foreign keys (review)
- check constraints: constraints on attributes and tuples
- handling constraints
- triggers
Applications
- application programming (& database connections)
[Ch 9: §3,5–7]
- programming language / SQL interfaces
- SQL/PL
- embedded SQL (e.g., sqlj)
- CLI (e.g., jdbc)
- cursors
- transaction management (& system overview)
[Ch 6: §6] &
[Ch 8: §1–3]
- database system overview
- transaction management & properties
- serializability
- properties
- atomicity
- consistency
- isolation
- durability
- transactions, views, & indexes
Note that the textbook readings associated with each topic is shown
above.
These readings plus the lecture slides
constitute the materials.
For the exam,
generally
only things that we covered both in the lectures and projects
and in the readings will be tested.
(I do reserve the right to test minor things from the readings.)
Anything additional beyond this will not be.
For the Applications materials,
we went into much less depth than the other sections.
For these materials,
you are expected to be familiar with the basic concepts;
however,
I do not expect the same fluency as with SQL and E/R.
We did discuss XML and XQuery
and we had a lecture on data-warehousing
in class.
These topics are not covered by the exam.
We also had the topic of database authorization
listed in the syllabus;
we did not cover it, however,
so it is not covered by the exam.
These are the
handwritten review-session notes in PDF.
|