Skip to content

Latest commit

 

History

History
39 lines (23 loc) · 1.99 KB

README.md

File metadata and controls

39 lines (23 loc) · 1.99 KB

Databases

Relational and Non-Relational Data and Database Systems

About

This three-week program aims to introduce the fundamental concepts of data entities and data storage.

Key Objectives

By the end of this module, students should have a familiarity with and basic understanding of the following:

  • Entities
  • The relational model
  • The Structured Query Language (SQL)
  • The construction of a database system
  • MySQL as an example of a relational database system
  • Non-relational data and NoSQL
  • MongoDB as an example of a NoSQL database

Lesson Plan

Lesson 1: Retrieving Data

In this class, students will be introduced to retrieving data from a MySQL database using SELECT queries.

Objective: Students should be able to retrieve data from a database table using SELECT statements that include WHERE, GROUP BY, ORDER BY, LIMIT, and JOIN.

Lesson 2: Data Models, Relationships, and Schemas

In this class, the students will learn how to use more complex SQL queries to retrieve information across tables, and interact with data including write operations.

Objective: the students should be able to build CRUD functionality using SQL statements, including INSERT INTO, UPDATE and DELETE. The students should also be able to create an entity relationship diagram based on a qualitative description of data requirements, and translate that into a MySQL database schema.

Lesson 3: Security and Non-Relational Databases

In the final week, the students will be introduced to SQL injection and how to use MySQL permissions to avoid it. MongoDB, as an example of a non-relational database, will also be introduced, as well as the benefits and drawbacks of relational and non-relational models.

Objective: the students should know how SQL injection happens, and how to define user permissions in MySQL to avoid part of it. The students should also be able to compare and contrast relational (like MySQL) and NoSQL databases (considering their benefits and drawbacks).