|Delivery Type||Delivery length / details|
|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||COURSE WORK: REGULAR WORKSHEETS.||10%|
|Semester Assessment||COURSE WORK: DESIGN A MULTI-TABLE RELATIONAL DATABASE||30%|
|Semester Exam||2 Hours Written Exam||60%|
|Supplementary Assessment||2 Hours Resit failed examination and/or resubmission of failed/non-submitted coursework components or ones of equivalent value.||100%|
On successful completion of this module students should be able to:
Design and validate a relational database from a given enterprise description, justifying design decisions.
Implement a relational database design using a modern DBMS.
Access a relational database through an appropriate programmatic interface.
Explain and provide a rationale for relational, object, object-relational and semi-structured data model concepts.
Implement a given design in a relational system, making effective use of appropriate tools.
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.
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 I - 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. Standard Interfaces - 1 Lecture
Forms; binding, GUI items, user support. Reports.
8. Integration with general high level languages - 2 Lectures
Embeddings and APIs. DBMS connections and services. ODBC, JDBC. Application development. The data dictionary.
9. Introduction to Object Databases - 2 Lectures
Perceived weaknesses of the relational model. Possible benefits of an object model. ODMG model.
10. Building and Manipulating Object Databases - 2 Lectures
Design. ODL, OQL and OML.
11. Object Relational Systems - 3 Lectures
Comparisons of relational and object systems. Object oriented extensions to relational systems. SQL3.
12. The semi-structured database model and XML - 5 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.
13. Mixed solutions - 4 lectures
Relational/XML/object library mappings. Tools to generate mappings.
14. Large Scale DBMS - 3 Lectures
Concurrency. Security. Distributed Databases.
|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.|
Reading ListGeneral Text
Connolly, Thomas M. (2010.) Database systems :a practical approach to design, implementation, and management /Thomas M. Connolly, Carolyn E. Begg. 5th Primo search
This module is at CQFW Level 5