Week 1 |
Introductory lecture
Introduces the module, outlining its relevance to the field and connections to other topics. It provides an overview of the content structure, key references, and assessment details. |
Week 2 |
Data Modelling
Understand the foundations of data modelling by exploring concepts like Entity-Relationship Diagrams (ERD). Learn why proper data modelling is critical for efficient database design and data integrity. |
Week 3 |
Relational Databases
Dive into relational databases (SQL) to comprehend their structure and use cases. Learn how to perform CRUD operations as well as essential querying techniques such as Joins, Aggregation, and Grouping. Learn why relational databases are reliable and how they ensure data integrity through ACID properties. |
Week 4 |
NoSQL Databases
Explore various NoSQL databases and their unique capabilities. Understand why they are preferred for specific use cases, especially for handling large volumes of unstructured data. Learn about primary and secondary indexes how to query data from popular NoSQL database engines. |
Week 5 |
NewSQL Solutions
Examine NewSQL databases that aim to bridge the gap between traditional SQL systems and NoSQL. Learn why they are emerging as potential solutions for scalability while maintaining transactional consistency. |
Week 6 |
Cloud Databases
Investigate cloud-based database services like AWS RDS, Google Cloud SQL, and Azure SQL. Understand why organisations are increasingly moving to the cloud for database solutions and the benefits and limitations of these services. |
Week 7 |
Transaction Management
Explore the principles of transaction management, including ACID properties for SQL databases and eventual consistency for NoSQL systems. Understand why robust transaction management is crucial for maintaining data reliability. Learn to implement data integrity and constraints using Primary and Foreign Keys, Referential Integrity, Indexes, Constraints, and Triggers. |
Week 8 |
Database Scalability
Learn about the challenges of scalability and strategies for vertical versus horizontal scaling. Understand how distributed databases can be used for scaling data, and how to use modern techniques for replication, sharding, and partitioning. Explore Consistency, Availability, and Partition Tolerance (CAP Theorem) and the role of load balancing for high availability. |
Week 9 |
Database Security
Learn the essentials of database security, including authentication, authorisation, encryption, and access control. Understand common threats like SQL injection and insider attacks, and explore tools for monitoring and auditing to maintain data integrity and confidentiality. |
Week 10 |
Emerging Technologies
Stay abreast of current trends and technologies like graph databases, data lakes, and multi-model databases. Understand why it is vital to keep up with these emerging technologies for future-proofing database solutions. Explore how in-memory databases fill an essential gap. |