Databases - Design & Implement
Run by School of Computer Science and Electronic Engineering
10 Credits or 5 ECTS Credits
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, data storage techniques, and security.
• 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.
• Writing SQL to implement a database design.
• 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)
Learning outcomes mapped to assessment criteria
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.
Write SQL to create database tables, and understand appropriate data types
|CLASS TEST||Class Test||
Class test covering theoretical and practical content.
Teaching and Learning Strategy
Formal lectures covering theory and demonstrating practical topics.
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.
To include reading around the subject, revision, finishing lab work and completing assignments.
Interactive sessions covering writing SQL, case studies, and revision.
- 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
Talis Reading listhttp://readinglists.bangor.ac.uk/modules/icp-3027.html
Pre- and Co-requisite Modules
Courses including this module
Compulsory in courses:
- NG10: BA Business and Computer Information Systems year 3 (BA/BCIS)
- I110: BSc Computer Information Systems year 3 (BSC/CIS)
- I11B: BSc Computer Information Systems (4 year with Incorp Found) year 3 (BSC/CIS1)
- IN00: BSc Computer Information Systems for Business year 3 (BSC/CISB)
- IN0B: BSc Computer Information Sys for Bus (4 year w Incorp Found) year 3 (BSC/CISB1)