Learn how to use the PostgreSQL open-source relational database management system (RDBMS) in order to explore topics ranging from database design to database architecture and deployment. Explore the benefits that PostgreSQL provides over other solutions, such as MySQL, when dealing with large datasets. These four specialized classes cover JSON, NoSQL, natural language processing, and more. The skills gained in these courses are useful for anyone interested in data mining, application development, or machine learning.
Overview
Syllabus
Course 1: Database Design and Basic SQL in PostgreSQL
This first course in PostgreSQL for Everybody explores the use of SQL in the PostgreSQL environment and introduces SQL techniques and commands. This course also explores data modeling and database relationships, while introducing hands-on assignments to work within PostgreSQL.
Course 2: Intermediate PostgreSQL
This second course in PostgreSQL for Everybody explores a wide range of SQL techniques to aggregate and transact data in PostgreSQL.This course also explores handling, reading, and parsing data with PostgreSQL and working with text in databases with regular expressions.
Course 3: JSON and Natural Language Processing in PostgreSQL
In this third course in PostgreSQL for Everybody, learners will learn how PostgreSQL creates and uses JSON and natural language content. Learners will explore using multiple sources of data and how text is structured within PostgreSQL.
Course 4: Database Architecture, Scale, and NoSQL with Elasticsearch
In this fourth and final course in PostgreSQL for Everybody, learners will explore database architectures, CRUD operations and how ACID requirements are implemented in PostgreSQL. Learners will compare how to scale SQL and NoSQL database services and build NoSQL applications using ElasticSearch.
Courses
-
In this course you will learn more about the historical design of databases and the use of SQL in the PostgreSQL environment. Using SQL techniques and common commands (INSERT INTO, WHERE, ORDER BY, ON DELETE CASCADE, etc) will enable you to create tables, column types and define the schema of your data in PostgreSQL. You will learn about data modeling and how to represent one-to-many and many-to-many relationships in PostgreSQL. Students will do hands-on assignments creating tables, inserting data, designing data models, creating relational structures and inserting and querying relational data in tables.
-
This course covers a wide range of SQL techniques, beyond basic CRUD (Create, Read, Update, and Delete) operations in PostgreSQL. You will learn the specifics of aggregation, transactions, reading and parsing CSV files and inserting data into a database. You’ll also take a look at how PostgreSQL handles and indexes text data.
Specifically, students will do assignments that alter table schemas, create stored procedures, construct advanced queries, explore sorting and grouping query data, and techniques for working with text in databases including regular expressions.
-
Within this course, you’ll learn about how PostgreSQL creates and uses inverted indexes for JSON and natural language content. We will use various sources of data for our databases, including access to an online API and spidering its data and storing the data in a JSON column in PostgreSQL. Students will explore how full-text inverted indexes are structured. Students will build their own inverted indexes and then make use of PostgreSQL built-in capabilities to support full-text indexes.
-
Within this course, you will explore database architecture, PostgreSQL, and various scalable deployment configurations. You will see how PostgreSQL implements basic CRUD operations and indexes, and review how transactions and the ACID (Atomicity, Consistency, Isolation, Durability) requirements are implemented.
You’ll learn to use Elasticsearch NoSQL, which is a common NoSQL database and a supplement to a relational database to high-speed search and indexing. We will examine Elasticsearch as an example of a BASE-style (Basic Availability, Soft State, Eventual Consistency) database approach, as well as compare and contrast the advantages and challenges associated with ACID and BASE databases.
Taught by
Charles Severance