Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

DATABASE FUNDAMENTALS

Course Description
This database course is designed for novices who want to learn the practical aspects of working with databases. The course covers both SQL (using
MySQL) and NoSQL (using MongoDB) databases, providing a comprehensive understanding of relational and non-relational database concepts.
Students will gain hands-on experience in designing, implementing, and managing databases, as well as building database-driven web applications.

Course Structure
Total Hours: 25 hours
The course consists of 20 chapters, with the total time allocation being 25 hours. Each chapter focuses on specific topics and includes practical
activities and assignments to reinforce learning.

Chapter Name Time Allocation

Chapter 1: Introduction To Database 1 hour

Chapter 2: Relational Database Concepts 2 hours

Chapter 3: SQL Fundamentals I 2 hours

Chapter 4: SQL Fundamentals II 2 hours

Chapter 5: Advanced SQL Concepts I 1 hour

Chapter 6: Advanced SQL Concepts II 1 hour

Chapter 7: Practical Activities and Projects 1 hour

Chapter 8: Introduction to NoSQL Databases 1 hour

Chapter 9: MongoDB Basics I 1 hour

Chapter 10: MongoDB Basics II 1 hour

Chapter 11: Data Modeling with MongoDB I 1 hour

Chapter 12: Data Modeling with MongoDB II 1 hour

Chapter 13: SQL vs. NoSQL Comparison 1 hour

Chapter 14: Practical Database Design 1 hour

Chapter 15: Database Security and Privacy 1 hour

Chapter 16: Database Administration and Maintenance 1 hour

Chapter 17: Real-world Database Applications 1 hour

Chapter 18: Database Trends and Emerging Technologies 1 hour

Chapter 19: Grocery Store Application with Python and MySQL 2 hours

Chapter 20: Creating a Social Media Database with MongoDB 2 hours

Total Time Allocation 25 hours


CHAPTER 1: INTRODUCTION TO DATABASE
1.1 What is a database?
1.2 Importance of databases in modern applications
1.3 Overview of SQL and NoSQL databases
1.4 Setting up MySQL

LEARNING OUTCOME
By the end of this chapter, students will be able to:
• Define what a database is and understand its role in modern applications.
• Differentiate between SQL and NoSQL databases.
• Successfully set up a MySQL database.

PROGRESSION OF TOPICS (1 HOUR)


Database Essentials (20 minutes)
Learning what a database is and its significance in today's applications.

SQL vs. NoSQL (15 minutes)


Exploring the distinctions between SQL and NoSQL databases.

MySQL Setup (15 minutes)


A step-by-step guide on creating and configuring a MySQL database.

Q&A and Recap (10 minutes)


An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with a visually appealing presentation.
• Use real-world examples to illustrate key points.

Live Demonstration:
• Walk students through the MySQL setup process.
• Provide practical tips and troubleshoot common issues.

Classroom Discussion:
• Encourage students to ask questions and share their thoughts.
• Foster a collaborative learning environment.

Hands-On Practice:
• Encourage students to practice SQL commands during the MySQL setup.

ASSIGNMENT
Task students with setting up a MySQL database on their own, following the provided guidelines.

CHAPTER 2: RELATIONAL DATABASE CONCEPTS


2.1 Understanding tables, rows, and columns
2.2 Primary keys and foreign keys
2.3 Normalization and denormalization
2.4 Entity-Relationship (ER) modeling

LEARNING OUTCOME
By the end of this chapter, students will be able to:
• Understand the fundamental concepts of tables, rows, and columns in a relational database.
• Differentiate between primary keys and foreign keys and their significance in database design.
• Explain the concepts of normalization and denormalization and their impact on database performance.
• Apply entity-relationship (ER) modeling techniques to represent relationships between entities.

PROGRESSION OF TOPICS (2 HOURS)


Tables, Rows, and Columns (15 minutes)
Exploring the basic building blocks of a relational database.

Primary Keys and Foreign Keys (30 minutes)


Understanding the purpose and usage of primary keys and foreign keys in database design.

Normalization and Denormalization (35 minutes)


Discussing the process of normalization and the trade-offs of denormalization.

Entity-Relationship (ER) Modeling (30 minutes)


Introducing ER modeling as a technique to represent relationships between entities.

Q&A and Recap (10 minutes)


An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate key concepts.

Classroom Discussion:
• Encourage students to ask questions and participate in discussions.
• Foster a collaborative learning environment.

Hands-On Activities:
• Provide exercises to practice identifying primary keys and foreign keys.
• Assign a group project to create an ER diagram for a given scenario.

ASSIGNMENT
Task students with normalizing a given set of data and creating an ER diagram based on a provided scenario.

CHAPTER 3: SQL FUNDAMENTALS I


3.1 Basic SQL syntax and commands
3.2 Creating and manipulating tables
3.3 Inserting, updating, and deleting data
3.4 Modifying table structure
LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the basic syntax and commands of SQL.


• Create and manipulate tables using SQL statements.
• Insert, update, and delete data from a database.
• Modify the structure of database tables.

PROGRESSION OF TOPICS (2 HOURS)


Basic SQL Syntax and Commands (15 minutes)
Introducing the fundamental syntax and common commands used in SQL.

Creating and Manipulating Tables (30 minutes)


Exploring the process of creating tables and performing operations on them.

Inserting, Updating, and Deleting Data (30 minutes)


Learning how to insert, update, and delete data in a database using SQL statements.

Modifying Table Structure (30 minutes)


Understanding how to alter the structure of database tables, such as adding or modifying columns.

Q&A and Recap (15 minutes)


An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate SQL syntax and commands.

Live Demonstration:
• Demonstrate the process of creating tables and manipulating data using SQL.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice writing SQL statements for table creation, data manipulation, and table structure modification.
• Encourage students to experiment with different scenarios.

ASSIGNMENT
Task students with creating a database schema, populating it with sample data, and performing various SQL operations, such as inserting, updating,
deleting, and modifying table structure.

CHAPTER 4: SQL FUNDAMENTALS II


4.1 Retrieving data with SELECT statements
4.2 Filtering and sorting data
4.3 Joins and subqueries

LEARNING OUTCOME
By the end of this chapter, students will be able to:
• Retrieve data from a database using SELECT statements.
• Apply filters and sorting techniques to refine query results.
• Understand and utilize joins to combine data from multiple tables.
• Use subqueries to perform complex queries and obtain specific data subsets.

PROGRESSION OF TOPICS (2 HOURS)


Retrieving Data with SELECT Statements (15 minutes)
Exploring the SELECT statement and its various components.

Filtering and Sorting Data (30 minutes)


Learning how to apply filters and sorting techniques to query results.

Joins (45 minutes)


Understanding different types of joins and their usage in combining data from multiple tables.

Subqueries (15 minutes)


Introducing subqueries and their role in performing complex queries.

Q&A and Recap (15 minutes)


An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate the usage of SELECT statements, filters, sorting, joins, and subqueries.

Live Demonstration:
• Demonstrate the process of retrieving data, applying filters, performing joins, and using subqueries.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice writing SELECT statements with filters, sorting, joins, and subqueries.
• Encourage students to experiment with different scenarios and analyze query results.

ASSIGNMENT
Task students with retrieving specific data from a given database using SELECT statements with filters, sorting, joins, and subqueries. Ask them to
explain the rationale behind their queries and analyze the results obtained.

CHAPTER 5: ADVANCED SQL CONCEPTS I


5.1 Triggers in SQL
5.2 Transactions and data integrity
5.3 Indexing and query optimization

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the concept of triggers in SQL and their usage in automating actions based on database events.
• Comprehend transactions and their role in maintaining data integrity and consistency.
• Explore indexing techniques to improve query performance and optimize database operations.
PROGRESSION OF TOPICS (1 HOUR)
Triggers in SQL (20 minutes)
• Exploring the concept of triggers and their implementation in SQL.
• Understanding different types of triggers and their usage scenarios.

Transactions and Data Integrity (15 minutes)


• Understanding the concept of transactions and their role in ensuring data integrity and consistency.
• Exploring transaction control statements and their usage.

Indexing and Query Optimization (15 minutes)


• Introducing indexing techniques to improve query performance.
• Understanding query optimization strategies and best practices.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate the usage of triggers, transactions, indexing, and query optimization.

Live Demonstration:
• Demonstrate the implementation of triggers and transactions in SQL.
• Provide practical tips for indexing and query optimization.

Hands-On Practice:
• Assign exercises to practice writing triggers, performing transactions, and optimizing queries using indexing techniques.
• Encourage students to analyze the impact of triggers, transactions, and indexing on database performance.

ASSIGNMENT
Task students with designing and implementing triggers for specific database events, performing transactions to maintain data integrity, and
optimizing queries using indexing techniques. Ask them to analyze the performance improvements achieved through their implementations.

CHAPTER 6: ADVANCED SQL CONCEPTS II


6.1 Performance tuning techniques
6.2 Advanced joins and subqueries
6.3 Assignment: Optimize a slow-performing SQL query using indexing and query rewriting techniques.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Apply performance tuning techniques to optimize SQL queries and improve database performance.
• Utilize advanced joins and subqueries to retrieve complex data from multiple tables.
• Optimize slow-performing SQL queries using indexing and query rewriting techniques.
PROGRESSION OF TOPICS (1 HOUR)
Performance Tuning Techniques (20 minutes)
• Exploring various techniques to improve the performance of SQL queries.
• Understanding query execution plans and query optimization tools.

Advanced Joins and Subqueries (15 minutes)


• Learning advanced techniques for joining tables and utilizing subqueries in SQL.
• Understanding the performance implications of complex joins and subqueries.

Assignment: Optimize a Slow-Performing SQL Query (15 minutes)


• Providing an assignment to optimize a slow-performing SQL query using indexing and query rewriting techniques.
• Discussing the importance of query optimization and performance improvements achieved.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate performance tuning techniques, advanced joins, and subqueries.

Live Demonstration:
• Demonstrate the process of optimizing SQL queries using indexing and query rewriting techniques.
• Provide practical tips for performance tuning and query optimization.

Hands-On Practice:
• Assign the task of optimizing a slow-performing SQL query using indexing and query rewriting techniques.
• Encourage students to analyze the performance improvements achieved and explain their optimization strategies.

ASSIGNMENT
Task students with optimizing a given slow-performing SQL query using indexing and query rewriting techniques. Ask them to document their
optimization process, explain the rationale behind their choices, and measure the performance improvements achieved.

CHAPTER 7: PRACTICAL ACTIVITIES AND PROJECTS


7.1 Hands-on exercise: Design and implement a database schema for a 'Library Management System.'
7.2 Collaborative project: Build a database-driven web application using MySQL.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Design and implement a database schema for a specific application.


• Collaborate with peers to build a database-driven web application using MySQL.

PROGRESSION OF TOPICS (1 HOUR)


Hands-on Exercise: Design and Implement a Database Schema for a 'Library Management System' (30 minutes)
• Understanding the requirements and functionalities of a library management system.
• Designing the database schema, including tables, relationships, and attributes.
• Implementing the database schema using MySQL.

Collaborative Project: Build a Database-Driven Web Application Using MySQL (30 minutes)
• Forming teams and assigning roles for the collaborative project.
• Designing the architecture and user interface of the web application.
• Implementing the backend using MySQL as the database.
• Integrating the frontend and backend to create a functional web application.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples and guidelines for designing and implementing a database schema for a library management system.
• Discuss the architecture and components of a database-driven web application using MySQL.

Hands-On Practice:
• Assign exercises to practice designing and implementing a database schema for a library management system.
• Encourage students to collaborate and work in teams to build a database-driven web application using MySQL.
• Provide guidance and support throughout the practical activities and projects.

ASSIGNMENT
Task students with designing and implementing a database schema for a library management system. Ask them to consider the requirements
discussed in the chapter and document their schema design, including tables, relationships, and attributes. Additionally, assign them to collaborate
with their peers to build a database-driven web application using MySQL. Ask them to design the architecture, implement the backend using
MySQL, and integrate the frontend to create a functional web application. Finally, ask them to document their process, provide an analysis of their
implementation, and discuss any challenges faced and lessons learned during the project.

CHAPTER 8: INTRODUCTION TO NOSQL DATABASES


8.1 Overview of NoSQL databases
8.2 Benefits and use cases of NoSQL databases
8.3 Setting up MongoDB

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the concept of NoSQL databases and their key characteristics.


• Identify the benefits and use cases of NoSQL databases in modern applications.
• Successfully set up MongoDB, a popular NoSQL database.

PROGRESSION OF TOPICS (1 HOUR)


Overview of NoSQL Databases (15 minutes)
Introducing the concept of NoSQL databases and their differences from traditional SQL databases.
Exploring the various types of NoSQL databases, such as document, key-value, columnar, and graph databases.

Benefits and Use Cases of NoSQL Databases (15 minutes)


Discussing the advantages and use cases where NoSQL databases excel, such as scalability, flexibility, and handling unstructured data.
Providing real-world examples of companies and applications that leverage NoSQL databases.

Setting up MongoDB (20 minutes)


Guiding students through the process of setting up MongoDB, including installation and configuration.
Demonstrating basic operations in MongoDB, such as creating databases, collections, and documents.

Q&A and Recap (10 minutes)


An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Use real-world examples to illustrate the concept, benefits, and use cases of NoSQL databases.

Live Demonstration:
• Demonstrate the process of setting up MongoDB and performing basic operations.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice setting up MongoDB and performing basic operations, such as inserting, updating, and querying documents.
• Encourage students to explore different use cases where NoSQL databases can be beneficial.

ASSIGNMENT
Task students with setting up MongoDB on their own and performing various operations, such as creating databases, collections, and documents.
Additionally, ask them to research and present a use case where a NoSQL database would be a suitable choice, explaining the benefits it provides
over a traditional SQL database.

CHAPTER 9: MONGODB BASICS I


9.1 Creating and managing databases and collections
9.2 Inserting, updating, and deleting documents

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Create and manage databases and collections in MongoDB.


• Perform operations such as inserting, updating, and deleting documents in MongoDB.

PROGRESSION OF TOPICS (1 HOUR)


Creating and Managing Databases and Collections (25 minutes)
• Exploring the process of creating databases and collections in MongoDB.
• Understanding the concept of collections and their relationship to databases.

Inserting, Updating, and Deleting Documents (25 minutes)


• Learning how to insert, update, and delete documents in MongoDB.
• Understanding the syntax and usage of MongoDB commands for these operations.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide step-by-step instructions for creating and managing databases and collections in MongoDB.

Live Demonstration:
• Demonstrate the process of inserting, updating, and deleting documents in MongoDB.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice creating databases and collections, as well as performing operations on documents in MongoDB.
• Encourage students to experiment with different scenarios and functionalities.

ASSIGNMENT
Task students with creating a MongoDB database, designing collections, and performing operations such as inserting, updating, and deleting
documents. Ask them to document their process and provide examples of the commands used for each operation.

CHAPTER 10: MONGODB BASICS II


10.1 Querying data with MongoDB's query language
10.2 Indexing and performance optimization
10.3 Assignment: Design a MongoDB schema for a blogging platform.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Query data using MongoDB's query language.


• Understand indexing techniques and performance optimization in MongoDB.
• Design a MongoDB schema for a blogging platform.

PROGRESSION OF TOPICS (1 HOUR)


Querying Data with MongoDB's Query Language (15 minutes)
• Exploring MongoDB's query language and its various operators.
• Learning how to perform basic and advanced queries on MongoDB collections.

Indexing and Performance Optimization (10 minutes)


• Understanding the importance of indexing in MongoDB and its impact on query performance.
• Exploring different indexing techniques and best practices.

MongoDB Schema for a Blogging Platform (30 minutes)


• Assigning a project to design a MongoDB schema for a blogging platform.
• Guiding students in identifying the entities, relationships, and attributes relevant to the blogging platform.

Q&A and Recap (5 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate MongoDB's query language and indexing techniques.
Live Demonstration:
• Demonstrate the process of querying data and implementing indexing in MongoDB.
• Provide practical tips for schema design and performance optimization.

Hands-On Practice:
• Assign exercises to practice querying data, implementing indexing, and designing a MongoDB schema for a blogging platform.
• Encourage students to analyze the performance improvements achieved through indexing and explain their schema design choices.

ASSIGNMENT
Task students with designing a MongoDB schema for a blogging platform. Ask them to identify the entities, relationships, and attributes necessary
for the platform and document their schema design. Additionally, assign them to perform queries on a given MongoDB collection using MongoDB's
query language and explain the results obtained.

CHAPTER 11: DATA MODELING WITH MONGODB I


11.1 Document structure and schema design
11.2 Embedded documents and references

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the importance of document structure and schema design in MongoDB.


• Differentiate between embedded documents and references in MongoDB.

PROGRESSION OF TOPICS (1 HOUR)


Document Structure and Schema Design (30 minutes)
• Exploring the concept of document structure and its significance in MongoDB.
• Discussing the principles of schema design and best practices.
• Understanding the trade-offs between embedding and referencing data in MongoDB.

Embedded Documents and References (30 minutes)


• Differentiating between embedded documents and references in MongoDB.
• Exploring the use cases and benefits of each approach.
• Discussing strategies for modeling relationships between documents.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate the importance of document structure and schema design in MongoDB.
• Discuss the pros and cons of embedding and referencing data in different scenarios.

Live Demonstration:
• Demonstrate the process of designing document structures and schemas in MongoDB.
• Provide practical tips for making design decisions and modeling relationships.

Hands-On Practice:
• Assign exercises to practice designing document structures and schemas for different scenarios.
• Encourage students to analyze the trade-offs between embedding and referencing data and justify their design choices.
ASSIGNMENT
Task students with designing document structures and schemas for a given set of scenarios. Ask them to explain their design choices and discuss
the benefits and drawbacks of embedding and referencing data in each scenario.

CHAPTER 12: DATA MODELING WITH MONGODB II


12.1 Aggregation framework for complex queries
12.2 Geospatial data and indexing
12.3 Assignment: Implement a MongoDB aggregation pipeline to analyze sales data.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Utilize the aggregation framework in MongoDB to perform complex queries and data analysis.
• Understand the concepts of geospatial data and indexing in MongoDB.
• Implement a MongoDB aggregation pipeline to analyze sales data.

PROGRESSION OF TOPICS (1 HOUR)


Aggregation Framework for Complex Queries (20 minutes)
• Exploring the aggregation framework in MongoDB and its capabilities for complex queries.
• Learning about the various stages and operators available in the aggregation pipeline.
• Understanding how to use the aggregation framework to perform data analysis.

Geospatial Data and Indexing (20 minutes)


• Introducing the concept of geospatial data and its usage in MongoDB.
• Understanding the importance of indexing for geospatial queries in MongoDB.
• Exploring the indexing techniques available for geospatial data.

Analyze Sales Data using MongoDB (20 minutes)


• Implement a MongoDB aggregation pipeline to analyze sales data.
• Providing a dataset and specific requirements for the analysis.
• Guiding students in designing the aggregation pipeline and interpreting the results.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate the usage of the aggregation framework and geospatial data in MongoDB.

Live Demonstration:
• Demonstrate the process of using the aggregation framework and indexing for geospatial data in MongoDB.
• Provide practical tips for designing the aggregation pipeline and optimizing geospatial queries.

Hands-On Practice:
• Assign exercises to practice using the aggregation framework and indexing for geospatial data in MongoDB.
• Encourage students to analyze the results obtained from the aggregation pipeline and interpret the data.
ASSIGNMENT
Task students with implementing a MongoDB aggregation pipeline to analyze sales data. Provide them with a dataset and specific requirements for
the analysis. Ask them to design the aggregation pipeline, execute it, and interpret the results obtained. Additionally, encourage them to optimize
the pipeline and explore the usage of indexing for geospatial queries if applicable.

CHAPTER 13: SQL VS. NOSQL COMPARISON


13.1 Pros and cons of SQL and NoSQL databases
13.2 Choosing the right database for different scenarios
13.3 Migrating data between SQL and NoSQL databases

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the advantages and disadvantages of SQL and NoSQL databases.


• Evaluate and choose the appropriate database type for different scenarios.
• Learn about the process of migrating data between SQL and NoSQL databases.

PROGRESSION OF TOPICS (1 HOUR)


Pros and Cons of SQL and NoSQL Databases (15 minutes)
• Comparing the characteristics, strengths, and weaknesses of SQL and NoSQL databases.
• Discussing factors such as data structure, scalability, flexibility, and consistency.
• Understanding the trade-offs between SQL and NoSQL databases.

Choosing the Right Database for Different Scenarios (20 minutes)


• Exploring different use cases and scenarios where SQL or NoSQL databases are more suitable.
• Discussing considerations such as data complexity, scalability requirements, and transactional consistency.
• Providing guidelines for selecting the appropriate database type.

Migrating Data between SQL and NoSQL Databases (15 minutes)


• Understanding the challenges and strategies involved in migrating data between SQL and NoSQL databases.
• Exploring tools and techniques for data migration.
• Discussing best practices and potential issues during the migration process.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate the pros and cons of SQL and NoSQL databases.
• Discuss real-world use cases to demonstrate the selection process for the appropriate database type.

Live Demonstration:
• Demonstrate the process of migrating data between SQL and NoSQL databases using relevant tools and techniques.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice evaluating different scenarios and selecting the appropriate database type.
• Encourage students to analyze the trade-offs and challenges involved in data migration between SQL and NoSQL databases.

ASSIGNMENT
Task students with evaluating different scenarios and selecting the appropriate database type (SQL or NoSQL) based on given requirements. Ask
them to justify their choices by considering the pros and cons of each database type. Additionally, assign them to research and present a case study
of a real-world data migration between SQL and NoSQL databases, discussing the challenges faced and the strategies employed during the
migration process.

CHAPTER 14: PRACTICAL DATABASE DESIGN


14.1 Analyzing requirements and identifying entities
14.2 Creating ER diagrams and mapping to database schema
14.3 Normalizing and optimizing the database structure
14.4 Assignment: Design a database schema for a library management system.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Analyze requirements and identify entities for a given application.


• Create ER diagrams and map them to a database schema.
• Normalize and optimize the structure of a database.
• Design a database schema for a library management system.

PROGRESSION OF TOPICS (1 HOUR)


Analyzing Requirements and Identifying Entities (10 minutes)
• Understanding the importance of requirements analysis in database design.
• Identifying entities, attributes, and relationships based on the given application requirements.

Creating ER Diagrams and Mapping to Database Schema (10 minutes)


• Learning how to create ER diagrams to visualize the entities, attributes, and relationships.
• Mapping the ER diagram to a database schema, including tables, columns, and relationships.

Normalizing and Optimizing the Database Structure (10 minutes)


• Exploring the concept of database normalization and its benefits.
• Understanding the different normal forms and applying them to optimize the database structure.
• Discussing strategies for optimizing performance, such as indexing and denormalization.

Assignment: Design a Database Schema for a Library Management System (30 minutes)
• Assigning a project to design a database schema for a library management system.
• Providing guidelines for identifying entities, relationships, and attributes relevant to the library management system.
• Guiding students in creating an ER diagram, mapping it to a database schema, and optimizing the structure.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate the process of requirements analysis, ER diagram creation, and database schema design.
Live Demonstration:
• Demonstrate the process of creating an ER diagram, mapping it to a database schema, and optimizing the structure.
• Provide practical tips for database normalization and performance optimization.

Hands-On Practice:
• Assign exercises to practice requirements analysis, ER diagram creation, and database schema design for different scenarios.
• Encourage students to analyze the trade-offs and make design decisions based on the given requirements.

ASSIGNMENT
Task students with designing a database schema for a library management system. Ask them to identify the entities, relationships, and attributes
necessary for the system and document their schema design. Additionally, encourage them to optimize the structure of the database by applying
normalization techniques and explain the rationale behind their design choices.

CHAPTER 15: DATABASE SECURITY AND PRIVACY


15.1 Common security threats and vulnerabilities
15.2 Securing databases against unauthorized access
15.3 Encryption and data privacy regulations

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Identify common security threats and vulnerabilities in databases.


• Implement measures to secure databases against unauthorized access.
• Understand the importance of encryption and data privacy regulations in database security.

PROGRESSION OF TOPICS (1 HOUR)


Common Security Threats and Vulnerabilities (20 minutes)
• Exploring common security threats and vulnerabilities that databases face, such as SQL injection, ... cross-site scripting, and data breaches.
• Understanding the impact of these threats on data integrity, confidentiality, and availability.

Securing Databases Against Unauthorized Access (15 minutes)


• Discussing best practices for securing databases against unauthorized access, including strong authentication, access control, and auditing.
• Exploring techniques such as parameterized queries, input validation, and secure coding practices.

Encryption and Data Privacy Regulations (15 minutes)


• Understanding the importance of encryption in protecting sensitive data.
• Exploring data privacy regulations, such as GDPR and CCPA, and their impact on database security.
• Discussing compliance requirements and best practices for handling personal data.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate common security threats and vulnerabilities in databases.
• Discuss real-world cases of data breaches and their consequences.
Live Demonstration:
• Demonstrate the process of implementing security measures in databases, such as authentication, access control, and encryption.
• Provide practical tips for securing databases against unauthorized access.

Hands-On Practice:
• Assign exercises to practice implementing security measures in databases, such as parameterized queries, input validation, and encryption.
• Encourage students to analyze the impact of data privacy regulations on database security and discuss compliance requirements.

ASSIGNMENT
Task students with analyzing a given database system for security vulnerabilities and proposing measures to secure it against unauthorized access.
Ask them to document their findings and recommendations. Additionally, assign them to research and present a case study of a data breach and
discuss the lessons learned from a security perspective.

CHAPTER 16: DATABASE ADMINISTRATION AND MAINTENANCE


16.1 Backup and recovery strategies
16.2 Performance monitoring and optimization
16.3 Database maintenance tasks
16.4 Troubleshooting common issues
16.5 Assignment: Perform a database backup and restore operation using MySQL.

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Implement backup and recovery strategies for databases.


• Monitor and optimize database performance.
• Perform database maintenance tasks.
• Troubleshoot common database issues.
• Perform a database backup and restore operation using MySQL.

PROGRESSION OF TOPICS (1 HOUR)


Backup and Recovery Strategies (15 minutes)
• Understanding the importance of backup and recovery strategies in database administration.
• Exploring different backup methods, such as full backups, incremental backups, and point-in-time recovery.
• Discussing best practices for ensuring data integrity and availability.

Performance Monitoring and Optimization (15 minutes)


• Learning how to monitor database performance using tools and techniques.
• Identifying performance bottlenecks and implementing optimization strategies.
• Discussing techniques such as indexing, query optimization, and caching.

Database Maintenance Tasks (10 minutes)


• Exploring essential database maintenance tasks, such as data purging, index rebuilding, and statistics updating.
• Understanding the importance of regular maintenance for database performance and stability.

Troubleshooting Common Issues (10 minutes)


• Identifying common database issues, such as connectivity problems, performance degradation, and data corruption.
• Discussing troubleshooting techniques and best practices for resolving these issues.
Database Backup and Restore Operation Using MySQL (10 minutes)
• Assigning a project to perform a database backup and restore operation using MySQL.
• Providing guidelines for selecting an appropriate backup strategy, executing the backup and restore operations, and verifying the data
integrity.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples to illustrate backup and recovery strategies, performance monitoring and optimization techniques, database maintenance
tasks, and troubleshooting common issues.

Live Demonstration:
• Demonstrate the process of performing a database backup and restore operation using MySQL.
• Provide practical tips for monitoring performance, implementing optimization strategies, and troubleshooting common issues.

Hands-On Practice:
• Assign exercises to practice implementing backup and recovery strategies, monitoring performance, performing database maintenance tasks,
and troubleshooting common issues.
• Encourage students to analyze the results obtained from the backup and restore operation and verify the data integrity.

ASSIGNMENT
Task students with performing a database backup and restore operation using MySQL. Ask them to select an appropriate backup strategy, execute
the backup and restore operations, and verify the data integrity. Additionally, assign them to document their process and provide an analysis of the
backup and restore operation, including any challenges faced and lessons learned.

CHAPTER 17: REAL-WORLD DATABASE APPLICATIONS


17.1 Case studies of database-driven applications
17.2 Scalability and high availability considerations
17.3 Big data and analytics with databases

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the implementation of database-driven applications through case studies.


• Evaluate scalability and high availability considerations for database applications.
• Explore the role of databases in big data and analytics.

PROGRESSION OF TOPICS (1 HOUR)


Case Studies of Database-Driven Applications (20 minutes)
• Exploring real-world case studies of database-driven applications in various industries.
• Analyzing the database architecture, design choices, and performance considerations in these applications.

Scalability and High Availability Considerations (15 minutes)


• Understanding the importance of scalability and high availability in database applications.
• Exploring techniques such as sharding, replication, and load balancing for achieving scalability and high availability.
• Discussing best practices and challenges in implementing these techniques.
Big Data and Analytics with Databases (15 minutes)
• Understanding the role of databases in big data and analytics.
• Exploring the integration of databases with big data frameworks and analytics tools.
• Discussing the challenges and considerations in managing and analyzing large volumes of data.

Q&A and Recap (10 minutes)


• An open discussion for student questions and a brief recap of key concepts.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples of real-world database-driven applications in different industries.
• Discuss the database architecture, design choices, and performance considerations in these applications.

Live Demonstration:
• Demonstrate the techniques for achieving scalability and high availability in database applications.
• Provide practical tips for integrating databases with big data frameworks and analytics tools.

Hands-On Practice:
• Assign exercises to practice evaluating scalability and high availability considerations for database applications.
• Encourage students to explore the integration of databases with big data frameworks and perform basic analytics tasks.

ASSIGNMENT
Task students with researching and presenting a case study of a real-world database-driven application. Ask them to analyze the database
architecture, design choices, and performance considerations in the application. Additionally, assign them to explore the scalability and high
availability considerations for a given database application scenario and propose appropriate techniques. Finally, encourage them to research and
discuss the role of databases in big data and analytics, including the challenges and considerations involved.

CHAPTER 18: DATABASE TRENDS AND EMERGING TECHNOLOGIES


18.1 Overview of blockchain databases
18.2 Graph databases and social network analysis
18.3 Time-series databases for IoT applications
18.4 Machine learning and AI in databases

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the concepts and applications of blockchain databases.


• Explore the use of graph databases for social network analysis.
• Learn about time-series databases and their relevance in IoT applications.
• Understand the integration of machine learning and AI in databases.

PROGRESSION OF TOPICS (1 HOUR)


Overview of Blockchain Databases (15 minutes)
• Exploring the fundamentals of blockchain technology and its application in databases.
• Understanding the characteristics and benefits of blockchain databases.
• Discussing real-world use cases and challenges in implementing blockchain databases.
Graph Databases and Social Network Analysis (15 minutes)
• Introducing the concept of graph databases and their advantages in handling complex relationships.
• Exploring social network analysis and its applications in various domains.
• Discussing graph database query languages and algorithms for social network analysis.

Time-Series Databases for IoT Applications (15 minutes)


• Understanding the importance of time-series databases in managing and analyzing IoT data.
• Exploring the characteristics and features of time-series databases.
• Discussing use cases and challenges in handling time-series data from IoT devices.

Machine Learning and AI in Databases (15 minutes)


• Exploring the integration of machine learning and AI techniques in databases.
• Understanding the benefits and challenges of using machine learning and AI in databases.
• Discussing use cases such as predictive analytics, recommendation systems, and natural language processing.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples and use cases to illustrate the concepts and applications of blockchain databases, graph databases, time-series databases,
and machine learning/AI in databases.

Live Demonstration:
• Demonstrate the process of working with blockchain databases, graph databases, time-series databases, and integrating machine learning/AI
techniques in databases.
• Provide practical tips and showcase relevant tools and technologies.

Hands-On Practice:
• Assign exercises to practice working with blockchain databases, graph databases, time-series databases, and implementing machine
learning/AI techniques in databases.
• Encourage students to explore real-world use cases and discuss the benefits and challenges of these emerging technologies in the database
field.

ASSIGNMENT
Task students with researching and presenting a case study or application scenario for one of the emerging technologies discussed in this chapter
(blockchain databases, graph databases, time-series databases, or machine learning/AI in databases). Ask them to analyze the benefits, challenges,
and potential use cases for the chosen technology. Additionally, assign them to explore and discuss the future trends and advancements in the field
of databases related to these emerging technologies.

CHAPTER 19: GROCERY STORE APPLICATION WITH PYTHON AND MYSQL


19.1 Designing the application architecture
19.2 Setting up a Python development environment
19.3 Integrating MySQL database for product inventory and customer information
19.4 Implementing CRUD operations for managing products and customers
19.5 Handling transactions and generating sales reports

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Design the architecture of a local grocery store application.


• Set up a Python development environment for application development.
• Integrate a MySQL database for managing product inventory and customer information.
• Implement CRUD operations for managing products and customers.
• Handle transactions and generate sales reports in the application.

PROGRESSION OF TOPICS (2 HOURS)


Designing the Application Architecture (30 minutes)
• Understanding the requirements and functionalities of a local grocery store application.
• Designing the architecture, including the user interface, business logic, and database components.

Setting up a Python Development Environment (20 minutes)


• Installing Python and necessary libraries for application development.
• Setting up a code editor and configuring the development environment.

Integrating MySQL Database for Product Inventory and Customer Information (20 minutes)
• Creating a MySQL database schema for managing product inventory and customer information.
• Connecting the Python application to the MySQL database using appropriate libraries.

Implementing CRUD Operations for Managing Products and Customers (30 minutes)
• Implementing Create, Read, Update, and Delete (CRUD) operations for managing products and customers in the application.
• Handling user input, validating data, and interacting with the MySQL database.

Handling Transactions and Generating Sales Reports (20 minutes)


• Implementing transaction management for handling sales transactions in the application.
• Generating sales reports based on the data stored in the MySQL database.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples and diagrams to illustrate the application architecture, Python development environment setup, MySQL database
integration, CRUD operations implementation, transaction handling, and sales report generation.

Live Demonstration:
• Demonstrate the process of setting up a Python development environment, integrating a MySQL database, implementing CRUD operations,
handling transactions, and generating sales reports in the application.
• Provide practical tips and troubleshoot common issues.

Hands-On Practice:
• Assign exercises to practice setting up a Python development environment, integrating a MySQL database, implementing CRUD operations,
handling transactions, and generating sales reports in the application.
• Encourage students to analyze the results obtained from the application and discuss potential improvements or additional features.

ASSIGNMENT
Task students with building a local grocery store application using Python and MySQL. Ask them to design the application architecture, set up a
Python development environment, integrate a MySQL database for managing product inventory and customer information, implement CRUD
operations for managing products and customers, handle transactions, and generate sales reports. Additionally, assign them to document their
process, provide an analysis of the application's functionality, and suggest potential improvements or additional features.
CHAPTER 20: CREATING A SOCIAL MEDIA DATABASE WITH MONGODB
20.1 Understanding the requirements of a social media platform
20.2 Designing the database schema for user profiles, posts, and relationships
20.3 Implementing user authentication and authorization
20.4 Storing and retrieving user-generated content using MongoDB
20.5 Implementing features like following/followers, likes, and comments
20.6 Handling real-time updates and notifications

LEARNING OUTCOME
By the end of this chapter, students will be able to:

• Understand the requirements of a social media platform and the corresponding database design considerations.
• Design a MongoDB schema for user profiles, posts, and relationships in a social media context.
• Implement user authentication and authorization in a social media database.
• Store and retrieve user-generated content using MongoDB.
• Implement features like following/followers, likes, and comments in a social media database.
• Handle real-time updates and notifications in a social media database.

PROGRESSION OF TOPICS (2 HOURS)


Understanding the Requirements of a Social Media Platform (10 minutes)
• Exploring the key features and functionalities of a social media platform.
• Understanding the data requirements and challenges in designing a social media database.

Designing the Database Schema for User Profiles, Posts, and Relationships (30 minutes)
• Discussing the design considerations for user profiles, posts, and relationships in a social media context.
• Exploring different approaches for modeling relationships, such as following/followers, likes, and comments.

Implementing User Authentication and Authorization (20 minutes)


• Understanding the importance of user authentication and authorization in a social media database.
• Exploring techniques for implementing secure user authentication and authorization using MongoDB.

Storing and Retrieving User-Generated Content using MongoDB (20 minutes)


• Discussing strategies for storing and retrieving user-generated content, such as posts, images, and videos, in MongoDB.
• Exploring techniques for efficient querying and indexing of user-generated content.

Implementing Features like Following/Followers, Likes, and Comments (20 minutes)


• Understanding the design and implementation of features like following/followers, likes, and comments in a social media database.
• Exploring different approaches for modeling and implementing these features using MongoDB.

Handling Real-Time Updates and Notifications (20 minutes)


• Understanding the challenges and techniques for handling real-time updates and notifications in a social media database.
• Exploring technologies and tools for implementing real-time updates and notifications using MongoDB.

TEACHER DELIVERY APPROACH


Interactive Presentation:
• Engage students with visually appealing slides.
• Provide examples and case studies of popular social media platforms and their database design considerations.
Live Demonstration:
• Demonstrate the process of designing the database schema for user profiles, posts, and relationships in a social media context.
• Provide practical tips and showcase relevant MongoDB features and functionalities.

Hands-On Practice:
• Assign exercises to practice implementing user authentication and authorization, storing, and retrieving user-generated content, and
implementing features like following/followers, likes, and comments in a social media database.
• Encourage students to explore real-world use cases and discuss the challenges and considerations involved in handling real-time updates and
notifications.

ASSIGNMENT
Task students with designing a MongoDB schema for a social media platform of their choice. Ask them to consider the requirements discussed in
the chapter and document their schema design, including user profiles, posts, relationships, and additional features like following/followers, likes,
and comments. Additionally, assign them to implement user authentication and authorization, store and retrieve user-generated content, and
handle real-time updates and notifications in their social media database. Ask them to provide a detailed analysis of their implementation,
including any challenges faced and potential improvements or optimizations.

You might also like