CMT220: Databases and Modelling
School | Cardiff School of Computer Science and Informatics |
Department Code | COMSC |
Module Code | CMT220 |
External Subject Code | 100366 |
Number of Credits | 20 |
Level | L7 |
Language of Delivery | English |
Module Leader | Professor Irena Spasic |
Semester | Spring Semester |
Academic Year | 2020/1 |
Outline Description of Module
Database systems are the most widely used software systems in commerce and industry. Database management systems are used to store and manage the complex integrated information resources of organisations. This module introduces the theoretical and practical issues relating to the design and use of these systems. In addition to the provision of a sound foundation in traditional, second generation database systems, it explores the representation and management of complex information resources with NoSQL database technology.
On completion of the module a student should be able to
- Design a relational database, i.e. map conceptual models to efficient representations in a database schema
- Manage relational database systems
- Use SQL to define and query a relational database
- Discuss and evaluate the principles of data integrity, security and concurrency control
- Model and manage information using markup languages
- Describe and evaluate the principles behind other types of database management systems, for example NoSQL
How the module will be delivered
Modules will be delivered through blended learning. You will be guided through learning activities appropriate to your module, which may include: • on-line resources that you work through at your own pace (e.g. videos, web resources, e-books, quizzes), • on-line interactive sessions to work with other students and staff (e.g. discussions, live streaming of presentations, live-coding, team meetings) • face to face small group sessions (e.g. help classes, feedback sessions)
Skills that will be practised and developed
Understanding the role of information in decision making
Designing relational databases (including conceptual design, logical design, physical design)
Evaluation of issues concerning database applications, including security and data integrity
Modelling information using markup languages (XML and JSON)
Awareness of the differences between relational and NoSQL databases
How the module will be assessed
A blend of assessment types which may include coursework and portfolio assessments, class tests, and/or formal examinations.
Assessment Breakdown
Type | % | Title | Duration(hrs) |
---|---|---|---|
Portfolio | 0 | Reflective Portfolio And Learning Log | N/A |
Written Assessment | 50 | Timed Practical Implementation | N/A |
Class Test | 50 | Class Test | N/A |
Syllabus content
Introduction to databases
Information, data and knowledge
Database systems
Relational data model
Structured Query Language (SQL)
Relational algebra
Database design
Conceptual database design (ER diagrams)
Logical database design (ER to SQL)
Physical database design (indexes)
Security, transactions and concurrency
Security and integrity
Transactions and recovery
Concurrency control
Markup languages and NoSQL databases
XML, XPath and XQuery
JSON
NoSQL
Essential Reading and Resource List
Connolly, T. & Begg, C. (2015), Database Systems: A Practical Approach to Design, Implementation and Management , 6th edition, Addison Wesley,
Dietrich, S. & Urban, S. (2005), An Advanced Course in Database Systems: Beyond Relational Databases , Prentice Hall, ISBN: 0130428981
Harrison, G. (2015) Next generation databases NoSQL, NewSQL, and Big Data, New York: Apress, ISBN: 1484213297