Module ICP-3027:
Databases - Design & Implement

Module Facts

Run by School of Computer Science and Electronic Engineering

10 Credits or 5 ECTS Credits

Semester 2

Organiser: Mr Andrew Harbach

Overall aims and purpose

To provide an in depth understanding of the database design process, and a range of implementation issues including transactions and recovery, query processing, distributed DBMSs and security.

Course content

• Database design methodologies;conceptual, logical and physical design; conceptual database design methodology;use of ER modelling to build a conceptual data model.

• Deriving a set of relations from a conceptual model; validation using normalization techniques; validation with respect to transactions;merging local data models to obtain a global model.

• Mapping a logical design to a physical design; designing base relations for a target DBMS; designing general constraints; selecting file organizations for transaction processing; using indexes; designing user views; security mechanisms.

• The need for database security; Types of threats; Mitigation techniques; MySQL grant tables; Understand how a firewall can protect a database in a web based environment.

• Properties of transactions; concurrency control; database backup and recovery; the database administrator role. Understand professional issues and responsibilities (e,g, backup)

• Query processing; query decomposition; query optimization; the cost of queries.

• Introduction to distributed DBMSs and their architecture; data allocation and fragmentation; transparencies; data replication.

Learning outcomes mapped to assessment criteria

  threshold

Equivalent to 40%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.

good

Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.

excellent

Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.

Understand and apply a conceptual database design methodology

Can design a logical model for a limited scenario involving a small number of entities. Can design a logical model for a realistic scenario involving a substantial number of entities. Can distinguish conceptual, logical and physical designs. Can read and understand a simple ER mode

Understand and apply a logical database design methodology for the relational model.

Can design a logical model for a realistic scenario involving a substantial number of entities. Can describe in outline how a set of normalised relations can be derived from a conceptual mode Can design a logical model for a limited scenario involving a small number of entities.

Understand and apply a physical database design methodology for a relational database.

Can understand the basic differences between the different types of storage/organization techniques. Can distinguish the appropriate type of storage/organization for a set of requirements. Can fully explain the details of all the storage techniques and discuss their applicability.

Understand database security issues.

Can provide basic mitigation against security threats. Can provide comprehensive mitigation against security threats and understand a DMZ. Can describe a range of common threats to a database system.

Understand transaction and recovery issues.

Understand the basic concepts of Distributed DBMSs

Assessment Methods

Type Name Description Weight
CLASS TEST Class Test

Class test covering theoretical and practical content.

40
COURSEWORK Assignment 1 20
COURSEWORK Assignment 2 20
COURSEWORK Assignment 3 20

Teaching and Learning Strategy

Hours
Lecture

Formal lectures covering theory and demonstrating practical topics.

14
Laboratory

Practical sessions writing SQL and using appropriate modelling techniques to design a database system. Includes marking where students are expected to explain their work to a member of staff. Also includes class tests.

18
Private study

To include reading around the subject, revision, finishing lab work and completing assignments.

63
Tutorial

Interactive sessions covering writing SQL, case studies, and revision.

5

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
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Deploy theory in design, implementation and evaluation of systems
  • Knowledge of information security issues
  • Specify, design or construct computer-based systems
  • Evaluate systems in terms of quality and trade-offs
  • Methods, techniques and tools for information modelling, management and security
  • Knowledge of systems architecture
  • Specify, deploy, verify and maintain information systems
  • Defining problems, managing design process and evaluating outcomes
  • System Design
  • Knowledge and/or understanding of appropriate scientific and engineering principles
  • Knowledge and understanding of mathematical principles
  • Specify, deploy, verify and maintain computer-based systems

Resources

Pre- and Co-requisite Modules

Courses including this module