Database Development
This module introduces students to the fundamental concepts of database theory, design, and development. It covers practical aspects of database creation, optimization, and usage, with a focus on applying these skills to real-world software or web applications. Students will explore the design and normalization of databases, learn how to manipulate data using SQL, and delve into advanced database management features such as stored procedures, triggers, and database performance optimization.
Among the topics included in this module are: database design, data modeling, normalization, SQL queries, database management systems (DBMS), and the development of database-driven applications using Flask.
You will cover:
- Introduction to Databases: An overview of databases, their uses, key terminology, types, and database management systems (DBMS).
- Database Design: Conceptual and logical modeling, entity-relationship diagrams (ERDs), and normalization to avoid data redundancy.
- Logical and Physical Models: Understanding relational theory, normalization techniques, and schema creation.
- Structured Query Language (SQL): Writing basic and advanced SQL queries including SELECT, JOIN, GROUP BY, and set operations.
- Updating Databases: Inserting, updating, and deleting records using SQL.
- Extending DBMS Functionality: Views, stored procedures, functions, and triggers to extend database capabilities.
- Database Performance and Scalability: Indexing, query optimization, and other techniques to improve database performance.
- Web Application Development: Introduction to HTML and CSS for front-end development, and integrating databases with Flask web applications.
- NoSQL Databases: Introduction to NoSQL databases, their types, benefits, and use cases.
Delivery
All resources can be found on Blackboard.
Assignment Brief
Component A: Practical portfolio
Students will design, build, and evaluate a database solution to meet specified requirements. This includes data modeling, creating normalized databases (0-3NF), and performing SQL queries. Students will also integrate their database with a software or web application and submit a 600-word evaluation discussing their design choices and alternative approaches.