The course covers the basic principles of database systems as seen by users, application programmers and database administrators. A laboratory assignment develops these topics as a running example throughout the course. These include programming in SQL, as seen by a user querying or modifying an existing database, by a database designer, and by an application programmer invoking SQL from a host language.
Course contents include:
- entity-relationship modeling
- functional dependencies and normalisation
- database querying and manipulation through SQL
- interfacing to a database from a host language (such as Java/JDBC)
- overview of XML and other non-SQL models