Skip to main content
CF

Relational Databases

18h 30m 22s
English
Paid

Modern business processes depend heavily on data, with most companies relying on complex database management systems (DBMS) for efficient data storage and processing. The rapid development of database technologies, driven by competitive pressures, has resulted in the emergence of powerful and intricate systems. Understanding these systems deeply is essential as errors in their use can be costly. This course aims to provide you with the fundamental knowledge necessary to operate DBMS effectively, enabling you to make informed decisions when designing and utilizing relational databases.

Course Objectives

This course offers hands-on experience through practical exercises where you will craft a basic relational database management system. The exercises encourage independent problem-solving, allowing you to utilize video guides and additional explanations only when needed. The structure is flexible, permitting you to concentrate on essential tasks while exploring interesting additional objectives.

Hands-on Learning

Engage in practical sessions that emphasize real-world application of relational database management principles. These exercises are designed to boost your problem-solving skills and familiarize you with the creation and management of databases.

Flexible Learning Path

The course structure supports a self-paced approach, focusing on critical tasks while offering exploratory paths for advanced learners interested in delving deeper.

Seminars and Advanced Topics

The course includes recorded seminars featuring participants from CS Primer, which delve into complex conceptual topics that are challenging to grasp through exercises alone. It is advisable to attend these seminars after completing the relevant course module, as they provide a deeper understanding of advanced concepts.

In-Depth Seminar Topics

Topics in the seminars cover advanced relational database concepts and strategies. These sessions are valuable for solidifying your understanding and exploring sophisticated database approaches.

Optimal Seminar Timing

To maximize your learning, attend seminars after completing the modules they correlate with; this timing ensures that you have the necessary foundational knowledge to engage deeply with the content presented.

About the Author: Oz Nova (CS Primer)

Oz Nova (CS Primer) thumbnail

Oz Nova is the founder of CS Primer (csprimer.com) and a co-founder of Bradfield School of Computer Science — an unusually rigorous CS-fundamentals education brand aimed at self-taught engineers filling in the formal computer-science foundations they didn't get from a four-year degree. The CS Primer course catalog goes deeper into the fundamentals than essentially any other paid online platform.

The course catalog covers compilers and language design, computer networks (from sockets through application protocols), distributed systems, computer architecture, operating systems, databases at the storage-engine level, and the algorithms / data-structures material taught at the level of a serious CS undergraduate course rather than an interview-prep cheat sheet.

The CourseFlix listing under this source carries 7 CS Primer courses spanning that range. Material is paid; CS Primer runs on per-course or membership pricing on the original platform. Courses are aimed at working software engineers ready to fill the foundational CS gaps that compound across a career.

Watch Online 22 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 22 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 Basic query executor
All Course Lessons (22)
#Lesson TitleDurationAccess
1
001 Basic query executor Demo
58:27
2
002 A brief overview of query execution using EXPLAIN
42:43
3
003 Observing PostgreSQL client and server communication
12:27
4
004 A very brief history of early DBMSs
22:19
5
005 Column vs row stores
08:43
6
006 What is the core of a core dump or out of core sort
04:51
7
007 CSV FileScan
01:03:36
8
008 Heap File
02:06:34
9
009 Basic inserts
01:01:10
10
010 The layout of a PostgreSQL table
35:22
11
011 Nested loops join
01:00:55
12
012 Hash join
40:18
13
013 Sort-merge join
01:38:55
14
014 Aggregation
58:22
15
015 What is a join
20:50
16
016 The three basic join stratgies
18:54
17
017 Nested loop variants and practical considerations
15:25
18
018 Hash join variants and practical considerations
14:58
19
019 Transactions the big picture
30:28
20
020 B tree in memory
01:25:26
21
021 B tree on disk
03:04:07
22
022 What every programmer should know about B trees
45:32
Unlock unlimited learning

Get instant access to all 21 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites should I have before enrolling in this course?
Before starting this course, it is beneficial to have a basic understanding of database concepts and familiarity with SQL. Knowledge of programming principles and data structures will also aid in understanding topics such as B-trees and join strategies. However, the course is designed to guide you through fundamental concepts even if you're new to relational databases.
What practical projects are included in the course?
The course includes hands-on exercises where you will craft a basic relational database management system. These projects focus on building components like a basic query executor and implementing various join strategies. You will also explore data storage techniques, such as heap files and B-trees, both in memory and on disk, enhancing your practical database management skills.
Who is the target audience for this course?
This course is intended for learners who seek foundational knowledge in relational databases and database management systems. It is suitable for beginners as well as those with some experience wishing to deepen their understanding of how DBMSs operate, including students, software developers, and IT professionals.
How does this course compare to other database courses in terms of depth?
This course provides a fundamental understanding of relational databases with a focus on practical implementation. Unlike some introductory courses, it delves into specific topics like query execution, join strategies, and B-trees, offering a balance of theory and hands-on practice, which can be more advanced than basic overviews but less intensive than specialized database engineering courses.
What specific tools or platforms will I learn to use in this course?
The course specifically covers PostgreSQL, with lessons dedicated to understanding client and server communication, the layout of PostgreSQL tables, and how to use the EXPLAIN command for query execution analysis. These elements provide practical insights into using PostgreSQL effectively in real-world scenarios.
What topics are not covered in this course?
This course does not cover non-relational databases or advanced database optimization techniques beyond the foundational concepts. While it provides a strong base in relational database management, it does not include topics such as NoSQL databases, advanced data warehousing strategies, or detailed performance tuning practices.
What is the time commitment required for this course?
The course includes 22 lessons and is designed for flexible, self-paced learning. The time commitment will vary based on your prior experience and the depth of exploration you choose for each topic. On average, dedicating a few hours per week should suffice to grasp the core concepts and complete the practical exercises effectively.