Databases – MSIT 5210
Developing and managing efficient and effective database applications requires understanding the fundamentals of database management systems, techniques for the design of databases, and database administration principles. This course will focus on three key areas related to databases: understanding fundamental concepts, practical application, and staying abreast of emerging trends. Special emphasis will be placed on the hands-on design of databases and the development of database applications using contemporary software tools.
Learning Objectives and Outcomes:
By the end of this course students will be able to:
- Analyze and articulate the necessity for a Relational Database Management System (RDBMS) through conducting a comparative assessment with traditional file processing systems.
- Design an E-R model and a relational database for a given problem using a commercial or open-source DBMS with appropriate justifications based on database principles.
- Examine and apply database administration techniques, emphasizing ethical considerations, in areas such as transaction management, processing, security, and backup and recovery.
Compare and contrast emerging database models in the context of the design implementation and query languages.
Course Schedule and Topics
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).
Week 1: Unit 1 – Database Systems Fundamentals
Week 2: Unit 2 – Entity-Relationship Modelling
Week 3: Unit 3 – Relational Data Modelling
Week 4: Unit 4 – Structured Quesry Language
Week 5: Unit 5 – Database Administration
Week 6: Unit 6 – Transaction Management
Week 7: Unit 7 – Database Security, Backup and Recovery
Week 8: Unit 8 – Emerging Database Technologies
Learning Guide
The following is an outline of how this course will be conducted, with suggested best practices for students.
Week 1: Unit 1 – Database Systems Fundamentals
- Evaluate the need of database systems over traditional file processing systems.
- Describe the impact of employing a DBMS in a real-world system.
- Analyze the impact of relationships on entities and their impact on database design.
Week 2: Unit 2 – Entity-Relationship Modelling
- Analyze and compare conceptual, internal, and physical design models in the context of a specific business scenario.
- Describe the fundamental concepts of the E-R model.
- Apply the fundamental concepts of the E-R model to solve a real-world problem or scenario.
Week 3: Unit 3 – Relational Data Modelling
- Apply the fundamental concepts of the relational model to evaluate and critique existing database schemas.
- Design a comprehensive relational database design for a complex set of requirements.
Week 4: Unit 4 – Structured Quesry Language
- Describe the purpose of SQL.
- Determine and justify the most appropriate keys and constraints based on business requirements.
- Develop SQL scripts using necessary DDL and DML statements.
Week 5: Unit 5 – Database Administration
- Describe the role of the database administrator and standard database administration processes.
- Analyze a database schema and optimize its performance by strategically implementing views and indexes.
- Create SQL queries to create views and indexes.
Week 6: Unit 6 – Transaction Management
- Describe database transactions.
- Explain the need to adhere to Atomicity, Consistency, Isolation and Durability (ACID) properties of a transaction.
- Explain concurrent transactions and issues of deadlock.
- Appy Transaction Control Language (TCL) statements for maintaining data consistency.
Week 7: Unit 7 – Database Security, Backup and Recovery
- Describe the threats to data and database security techniques.
- Explain the different levels of database back-ups.
- Examine the different recovery operations for restoring data.
Week 8: Unit 8 – Emerging Database Technologies
- Describe the architecture of distributed databases.
- Compare centralized database system with distributed databases.
- Explain the benefits of cloud-based database service.