|Contact||Lectures: 10 | Tutorials: 0 | Labs: 10
Homework / Private Study: 80
|Assessment||Individual assignments worth 60% and a 1 hour written examination worth 40%|
|Resit||The resit assessment will involve completing an assignment and/or taking a 1 hour exam|
|Lecturer||Professor Crawford Revie|
The aim of the class is to build on a basic understanding of the relational database approach, covering more complex SQL query design and efficient execution, as well as transactional design using database triggers/stored procedures or by embedding SQL code within other programming environments.
On completion of this class students will be able to:
- display knowledge of declarative versus procedural approaches to access databases and the relative benefits / costs associated with each;
- display skill to construct complex SQL queries;
- demonstrate ability to utilise triggers / stored procedures within a commercial database management platform;
- understand how to appropriately embed SQL queries within other programming languages and environments;
- display an appreciation for the importance of database indexing in the context of supporting complex queries on ‘big data’;
- display knowledge of transactional processes within database systems and understand their relevance to code design and execution.
- Complex SQL queries versus embedding SQL in a programmatic framework.
- Triggers and stored procedures in commercial DBMS.
- Transactional processes: ACID properties, concurrency, locking protocols, logging, commits and roll-back.
- Query optimisation and database indices.
- ODBC, JDBC, no-SQL and the ‘post-relational’ environment.
* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.