Databases - Design and Implementation
Run by School of Computer Science and Electronic Engineering
10.000 Credits or 5.000 ECTS Credits
Organiser: Mr Andy 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.
• 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
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.
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.
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 conceptual model for a limited scenario involving a small number of entities.||Can distinguish conceptual, logical and physical designs. Can read and understand a simple ER model.||Can design a conceptual model for a realistic scenario involving a substantial number of entities.|
Understand and apply a logical database design methodology for the relational model.
|Can describe in outline how a set of normalised relations can be derived from a conceptual model||Can design a logical model for a realistic scenario involving a substantial number of entities.||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 fully explain the details of all the storage techniques and discuss their applicability.||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.|
Understand database security issues.
|Can describe a range of common threats to a database system.||Can provide basic mitigation against security threats.||Can provide comprehensive mitigation against security threats and understand a DMZ.|
Understand transaction and recovery issues.
|Can test transactions for serialiability; can apply concurrency control techniques to non trivial transactions.||Can explain the fundamentals of transactions and why concurrency control mechanisms are needed.||Can explain the concurrency control techniques; can understand how a transaction log is used in database recovery|
Understand the basic concepts of Distributed DBMSs
|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-2037.html
Courses including this module
Compulsory in courses:
- G400: BSC Computer Science year 2 (BSC/CS)
- G40B: BSc Computer Science (4 year with Incorporated Foundation) year 2 (BSC/CS1)
- GN41: BSC Computer Science for Business year 2 (BSC/CSFB)
- GN4B: BSc Computer Science for Business (4 year with Incorp Found) year 2 (BSC/CSFB1)
- I102: BSc Computer Science (with International Experience) year 2 (BSC/CSIE)