Skip to main content

Course Introduction

  • Welcome to Fundamental Database Concepts, the first course in your journey toward understanding how applications store, manage, and work with data. Whether you’re aiming to become a software developer, QA engineer, data analyst, or IT professional, this course will give you the essential building blocks needed to work with relational databases. The goal is to understand core DB concepts, relational models, SQL basics, and essential DB terminology.

What You'll Learn

Introduction to Databases

  • A database is a structured collection of information that allows data to be stored, organized, and retrieved efficiently. In this topic, students learn the difference between relational databases, which store data in tables using rows, columns, and SQL VS NoSQL databases, which handle more flexible or unstructured data formats such as documents or key–value pairs.

  • The lesson also explains the distinction between a DBMS, which manages data in general, and an RDBMS, which specifically supports relational tables, relationships, and SQL-based operations. To complete the overview, students are introduced to widely used relational database systems such as MySQL, PostgreSQL, SQL Server, and Oracle, gaining a basic understanding of the tools commonly used in real-world applications.

Relational Database Concepts

  • This topic introduces the fundamental building blocks of a relational database, where data is organized into tables made up of rows and columns. Students learn how each row represents a single record and each column represents a specific attribute of that record.

  • The lesson covers primary keys, which uniquely identify each record in a table, and foreign keys, which create relationships between tables to maintain data consistency. It also introduces common data types, including numeric, string, date / time, and boolean, helping students understand how different kinds of information are stored and structured within a relational database.

SQL Basics

  • This topic introduces the core components of SQL, the language used to interact with relational databases. Students learn how to retrieve data using the SELECT statement and specify tables with FROM, while filtering results with WHERE conditions.

  • The lesson also covers ordering and limiting results using ORDER BY and LIMIT, as well as selecting unique values with DISTINCT. Basic filtering techniques, such as using comparison operators (>, <), ranges with BETWEEN, and pattern matching with LIKE, are explained to help students query data effectively.

Basic Joins

  • This topic explains how to combine data from multiple tables in a relational database using SQL joins.

  • Students learn the most common types of joins: INNER JOIN, which returns only matching records from both tables; LEFT JOIN, which returns all records from the left table and matching records from the right table; RIGHT JOIN, which returns all records from the right table and matching records from the left table; and FULL JOIN, which returns all records when there is a match in either table.

  • Understanding joins is essential for working with related data across multiple tables.

Basic Data Manipulation

  • This topic introduces the key SQL commands used to modify data within a relational database. Students learn how to INSERT new records into tables, UPDATE existing data, and DELETE records when necessary. The lesson also covers basic transactions, which allow multiple operations to be executed as a single unit of work, ensuring data integrity.

  • Concepts such as COMMIT, which saves changes, and ROLLBACK, which undoes changes, are introduced to help students understand how to manage data safely and reliably.

Basic Data Modeling

  • This topic introduces the principles of organizing and structuring data in a relational database. Students learn what a schema is and how it defines the structure of tables and relationships within a database.

  • The lesson covers ER (Entity-Relationship) diagrams, which visually represent entities and their connections, as well as common relationship types such as One-to-Many and Many-to-Many. Finally, the concept of normalization is introduced with simple explanations of 1NF, 2NF, and 3NF, helping students understand how to reduce redundancy and ensure data integrity.

The module also covers the CREATE TABLE statement. This statement is used to define a tables structure such as its columns, data types, and constraints. Learning this syntax means understanding how to specify the correct combination of options to support any table design.

Who Is This Course For

  • This course is designed for anyone who wants to gain a solid foundation in databases and SQL, regardless of prior experience. It is ideal for aspiring software developers, web developers, data analysts, QA engineers, and IT professionals who need to work with data in applications or testing environments.

  • Beginners with little to no database knowledge will benefit from the clear, step-by-step introduction to relational concepts, while those with some experience can use the course to strengthen their understanding of SQL and data modeling. By the end of the course, learners will have the skills needed to interact confidently with relational databases in real-world scenarios.

How To Go Through The Course

  • It is recommended you go through each module in the course, in the order in which it is presented. Each module in the course is set up very much the same.

Grading

  • The course is graded by completing a post-assessment test and lab at the end of each module. You will only have one attempt at completing the post-assessment test. Your final grade will be determined by the total score for each post-assessment test and lab.

  • When you have completed all the modules, post-assessment tests, and labs, you are required to email your Instructor: roderick.bernardo@georgebrown.ca who will process your grade. In your email, please include the CRN #.

Assistance

  • We wish you well as you go through the course and hope this course meets your needs. If you require any assistance while you go through this course, you can always contact your instructor: roderick.bernardo@georgebrown.ca please indicate which module you require assistance in.