Relational Databases and SQL

Data Abstractions, Data Models, Normalization, Normal Forms, Aggregate Functions, Group By, Joins, Unions, Order by

In this course the students will learn about the different levels of data abstractions, how the humanity developed various data models to store information and why the relational model is still widely used. In order to become a better database architect, the pupil must know what normalization is and how to achieve it. This course will have a plenty of exercises where a data model should be created based on the normal forms. The intricacies of their interconnection will be explained and showed. Disciples will hopefully see through that with the fundamental base of knowledge, abstract and logical thinking the planning process of a database will be easily manageable.

What you’ll learn

  • The different data models and how the concept of databases evolved..
  • The advantages and disadvantages of the relational databases..
  • Knowing about the process of Normalization and Normal Forms..
  • How to use the language SQL to write basic queries – creation of database and CRUD..
  • When and why to use the different ways of Joining data..
  • How to group, filter and sort data..
  • Solving practical and complex tasks..

Course Content

  • Introduction –> 10 lectures • 2hr 5min.
  • Basic SQL Commands –> 6 lectures • 1hr 20min.
  • Normalization and Normal Forms –> 8 lectures • 2hr.
  • Advanced SQL Commands –> 11 lectures • 2hr 5min.

Auto Draft

Requirements

In this course the students will learn about the different levels of data abstractions, how the humanity developed various data models to store information and why the relational model is still widely used. In order to become a better database architect, the pupil must know what normalization is and how to achieve it. This course will have a plenty of exercises where a data model should be created based on the normal forms. The intricacies of their interconnection will be explained and showed. Disciples will hopefully see through that with the fundamental base of knowledge, abstract and logical thinking the planning process of a database will be easily manageable.

Students will also learn the language SQL so that they can not only plan but implement a database for an application. Starting with simple and basic commands (initialization of databases and tables; create, read, update and delete (CRUD) of data) and moving to more complex queries (joining, grouping, sorting and filtering of the data) will be covered in the course. Making complex queries from multiple tables will be required for students to finish their exercises. If you would like to test (and further develop) your SQL skills, then this course is also for you.

Before we start making multi-tier applications a strong foundation of knowledge, skills and experience with solving simple tasks are necessary. This course is the fifth stepping stone towards achieving that goal.

I hope that my students will be benevolent toward each other in the Q&A section of the courses and be successful in their future career as a software developer (and engineer).