Module ICP-1021:
Database Systems 1

Module Facts

Run by School of Computer Science and Electronic Engineering

10 Credits or 5 ECTS Credits

Semester 1

Organiser: Mr Andrew Harbach

Overall aims and purpose

To provide students with an introductory level of understanding of database systems: concept of a database, database management systems, ER and EER modelling and the relational model, normalization, and SQL.

Course content

Concept of a Database What is a database; their uses and benefits; what came before; what is a DBMS. What information can be stored. Issues over storing user data in a database. Ethics of storage, dissemination and use. Principles: Accessible, Confidential, Completeness.

Database Modeling Database Design Concepts, Entity Relationship Modeling, UML diagrams and Extended Entity Relationship Modeling.

Relational Databases Basic concepts of relational model; relational algebra (eg. select, project, union, intersection, Cartesian, theta join).

Normalisation First, second, and third normal forms.

SQL Creating, updating and querying tables using SQL; linking of SQL to relational algebra.

Learning outcomes mapped to assessment criteria

  threshold

40%

good

60%

excellent

70%

Understand and describe the major characteristics of a relational database.

Can explain in outline the concept of a database. Can describe some of the problems assocaited with the traditional file based approach. Can describe the structure of a DBMS and identify the principal components. Can describe in outline the ANSI-SPARC three layer model. Can offer a sophisticated explanation of the ANSI-SPARC three layer model.

Use SQL to create, query and update a database.

Can understand and write a range of basic SQL statements(both DDL and DML) Can understand and write queries involving multiple tables (Joins and Nested Queries). Can develop and interrogate a non-trivial database (e.g. containing five or more tables). Can define appropriate key structures, referential actions and indexes.

Understand the relational model and have an awareness of relational algebra.

Be able to recognise basic relational algebra expressions involving select and projection A basic understanding of Cartesian and join operators. Be able to write and understand simple relational algebra operations.

Apply E/R modelling to particular applications. Apply EER modeling to particular applications.

Can describe 1NF, 2NF and 3NF. Can explain why these forms are important in the process of database design. Can examine a given set of relations and if necessary convert to 1NF. Can examine a given set of relations and if necessary convert to 3NF.

Use normalisation techniques.

Can create a simple ER model that does not contain too many relationships. Can create an ER/EER model involving many relationships and subclasses. Can create a large, complex ER/EER model involving many different types of relationships and subclasses.

Assessment Methods

Type Name Description Weight
EXAM Examination 40
COURSEWORK Assignment 1 20
COURSEWORK Assignment 2 20
COURSEWORK Assignment 3 20

Teaching and Learning Strategy

Hours
Private study

To include working on lab assignments and self-study.

52
Lecture

24 hours over 12 weeks

24
Laboratory

24 hours over 12 weeks including guided work and assignments.

24

Transferable skills

  • Literacy - Proficiency in reading and writing through a variety of media
  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Analyse if/how a system meets current and future requirements
  • Deploy theory in design, implementation and evaluation of systems
  • Knowledge of information security issues
  • Specify, design or construct computer-based systems
  • Deploy tools effectively
  • Development of general transferable skills
  • Deploy systems to meet business goals
  • Methods, techniques and tools for information modelling, management and security
  • Knowledge of systems architecture
  • System Design
  • Knowledge and/or understanding of appropriate scientific and engineering principles
  • Knowledge and understanding of mathematical principles
  • Principles of appropriate supporting engineering and scientific disciplines

Resources

Pre- and Co-requisite Modules

Courses including this module