Course Objectives and Overview
Lecture: 3 hours
Discussion: 1 hour
Prerequisite: Course 110
(Data structures and programming)
Grading: Letter; assignments 50%, midterm/final 50%
This course focuses on the design of a database starting from the conceptual
design to the implementation of a database schema and user interfaces
to the database. Students will learn about database design concepts, data
models (Entity-Relationship and Relational Model), the database query language
SQL and components of a database management system. Further topics include
query processing and optimization techniques, transaction management, and
storage and file structures.
The course is heavily design oriented. In most of the projects, students
have to design and implement a database using a commercial database management
system and associated development tools. Students will in particular learn
the database query language SQL and the development of applications using
PL/SQL. The database system used in this course is Oracle 10g (SQL, PL/SQL).
Syllabus (tentative):
-
Overview of Database Systems
Purpose of a database system, data models, database languages, architecture
-
Entity-Relationship Model
Design issues, Entity-Relationship diagrams, mapping to tables
-
Relational Model
Structure of the model, relational algebra
-
SQL
Basic structure, simple & complex select statements, nested subqueries,
aggregate and set functions
-
Database Design
Relational database design concepts, decomposition and normalization,
integrity constraints
-
Storage and File Structures
File organization, organization of records in a file, storage access,
Indexing, B+ tree index files
-
Query Processing
Query cost and cost estimation, selection, sorting and joins
-
Transaction Management
Transaction concepts, concurrent execution, serializability, recovery
-
System Architecture
System components, types of systems, Oracle system architecture
-
Commercial Database Systems
Oracle, DB2, Informix
See also: Department of Computer Science - General
Course Description