CMT207: Information Modelling and Database Systems
|School||Cardiff School of Computer Science and Informatics|
|External Subject Code||I240|
|Number of Credits||20|
|Language of Delivery||English|
|Module Leader||Professor Irena Spasic|
How the module will be assessed
Coursework: the coursework will allow students to demonstrate their knowledge and practical skills and to apply the principles taught in lectures.
Exam: a written exam (2 h) will test the student’s knowledge and understanding as elaborated under the learning outcomes.
The potential for reassessment in this module
How the module will be delivered
This module will be delivered through a combination of lectures, supervised lab sessions, example classes and tutorials, as appropriate.
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 third generation and NOSQL database technology. The module also highlights how database systems are at the core of modern information-rich Web sites, and explores the role of XML and “Web of data” technologies. Systems for data mining and business intelligence will be discussed.
On completion of the module a student should be able to
1. Understand how to design a relational database, i.e. map conceptual models to efficient representations in a database schema.
2. Understand how to query a relational database.
3. Understand the principles of other types of database management systems – object-oriented, object-relational, NoSQL, cloud, distributed.
4. Understand the principles of data mining algorithms and their applications in business intelligence.
5. Understand how markup languages and Semantic Web technologies are used to model and manage information in a Web context.
Skills that will be practised and developed
Be able to understand the role of information in decision making.
Be able to define and contrast the terms: data, information and knowledge.
Be able to design a relational database including:
(1) conceptual design (build a model independent of the choice of a database management system)
(2) logical design (create the database in a chosen database management system)
(3) physical design (physically store the database on disk)
Be able to understand issues concerning database applications including database security and data integrity.
Be able to access relational databases from computer programs.
Be able to use markup languages (XML and JSON) and Semantic Web to model information.
Be able to design and query object-oriented and object-relational databases.
Be able to understand the difference between relational and NoSQL databases.
Be able to select appropriate techniques for mining large data sets.
Be able to identify ways in which systems can be designed to support business operations by providing business intelligence.
|Written Assessment||50||Data Modelling Exercise||N/A||1||N/A|
|Examination - Spring Semester||50||Information Modelling & Database Systems||2||1||N/A|
Essential Reading and Resource List
Connolly, T. & Begg, C. (2009), Database Systems: A Practical Approach to Design, Implementation and Management , 5th edition, Addison Wesley, ISBN: 0-321-523067
Dietrich, S. & Urban, S. (2005), An Advanced Course in Database Systems: Beyond Relational Databases , Prentice Hall, ISBN: 0130428981
Background Reading and Resource List
Students will also be directed to a selection of public-domain Web resources, and to appropriate journals and other material available as electronic resources via the University Voyager system. It is expected that, due to the nature of the subject, the set of recommended materials will change from year to year.
Introduction to databases
Information, data and knowledge
Relational data model
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
SQL and programming languages (Java)
Markup languages and NoSQL databases
XML, XPath and XQuery
Similarity and distance