Module Information

Module Identifier
CS27020
Module Title
Modelling Persistent Data
Academic Year
2015/2016
Co-ordinator
Semester
Semester 2 (Taught over 2 semesters)
Pre-Requisite
Other Staff

Course Delivery

Delivery Type Delivery length / details
Lecture 20 x 1 Hour Lectures
Lecture 22 x 1 Hour Lectures
 

Assessment

Assessment Type Assessment length / details Proportion
Semester Exam 2 Hours   Written Exam  60%
Semester Assessment Regular Worksheets  10%
Semester Assessment Design a Multi-table Relational Database  30%
Supplementary Exam 2 Hours   Written Exam  60%
Supplementary Assessment Design Database  Note - Students must resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.  40%

Learning Outcomes

On successful completion of this module students should be able to:

Design and validate a database from a given enterprise description, justifying design decisions.

Implement a database design using a modern DBMS.

Access a database through an appropriate programmatic interface.

Explain and provide a rationale for relational, semi-structured and alternative data model concepts.

Explain key principles of database and information security.

Brief description

This module develops the concepts of database design, and implementation and use. The emphasis is on relational and semi-structured (XML) systems but object databases are introduced. It covers practical topics concerned with modelling and effective use of the facilities provided by a modern Database Management System (DBMS). Theoretical topics include data modelling, placing particular emphasis on the data model, relational algebra and the realisation of the relational model in a DBMS.

Content

1. Database System Concepts - 2 lectures

Review and persistence, outline history. The value of general models: relational; object oriented; semi-structured. Databases, DBMS and applications programs. DBMS as reuse.

2. Relational Modelling - 6 lectures

Entities and relationships. Connection traps. The design of relations. Transformation of an E-R model into a relational schema. Use of UML.

3. The Relational Model - 6 lectures

Domains, relations and tuples. Primary and foreign keys. Referential integrity. Relational algebra. Null values and the outer join. Data normalisation. Validating a design.

4. SQL and implementation - 4 lectures

Introduction. Status. DDL statements. SELECT clauses. Constraints. Built-in functions. Queries and views. Nested SELECT. Stored procedures.

5. Additional relational integrity constraints - 2 lectures

Table and database level constraints. Triggers. Use of stored procedures.

6. Transactions - 2 lectures

Introduction to transactions. ACID properties. Rollback.

7. Integration with general high level languages - 2 lectures

Embeddings and APIs. DBMS connections and services. ODBC, JDBC. Application development. The data dictionary.

8. The semi-structured database model and XML - 8 lectures

The model: outline; perceived advantages. The XML standard. XMLSchema: overview; type constraint; keys and keyrefs; comparison with SQL. XPath and XQuery: syntax; power. XML databases: native databases; extensions to RDBMS.

9. Database and Information Security - 5 lectures

Threats to database and information. Techniques to secure persistent data, such as cryptography, steganography, access control and hashing.

10. Not Only SQL (NoSQL) - 3 lectures

The original NoSQL, a collection of shell utilities. Object-relational databases. Not only SQL, implemetations and applications.

11. The Java Persistence API - 4 lectures
Introduction to and practical demonstation of the Java Persistence API.

Module Skills

Skills Type Skills details
Communication Requirements analysis is a major component. This requires careful and insightful reading and analysis of customer documents, followed by reflection of requirements back to the customer to verify mutual understanding.
Improving own Learning and Performance Systematic and comprehensive analysis and design require good working practices, which are explored in the module.
Information Technology Database systems are central to much IT.
Subject Specific Skills Use of UML (industry standard modelling language). Use of SQL and XML languages, plus additional aspects of Java. Experience of a major DBMS.

Notes

This module is at CQFW Level 5