This upper-level undergraduate course is an introductory course in the area of
databases, with a focus on database models and languages. Topics to
be covered include: database design with the Entity-Relationship model, the
relational data model and its algebra, SQL and database programming, the
theory of relational database design; additional topics will be covered as
- Knowledge of fundamental concepts of file and database management.
- Knowledge of database design principles, and ability to model real-world
environments using the ER model.
- Knowledge of the formal principles of the relational database model and
its query languages, and ability to design relational databases and express
queries in the relational algebra and calculus.
- Knowledge of the Structured Query Language (SQL) and database programming
principles, and ability to author SQL queries and implement Java database
applications using the Oracle database system.
Knowledge of the basic principles of the mathematical theory of database
design, and ability to design databases that adhere to Boyce-Codd Normal Form.
Experience in the complete database creative process: from database design,
to database constuction, to database programming.
Time and Place
Tuesday and Thursday, 12:00-1:15
Dr. Ami Motro
Office hours: Wednesday and Thursday 3:00-4:00
Office hours: TBA
Grade of C or better in CS 310 (Data Structures) and CS 330 (Formal
Methods and Models).
Specifically, good background in
Note: prerequisites are strictly enforced!
Discrete mathematics (e.g., set theory and mathematical logic)
Programming (good knowledge of C or Java)
Data structures and algorithms
Computer architecture and operating systems
Two exams and about eight homework assignments and projects, most
involving computer work (approximate weights are indicated in
Homework assignments (30%)
Midterm exam (30%)
Final exam (40%)
The first book is required, the second is recommended.
Database Systems: An Application-Oriented Approach, Introductory Version,
by Lewis, Kifer & Bernstein
Oracle 10g Programming: A Primer
by Sunderraman, Addison-Wesley, 2008.