Get familiar with mastering SQL and PostgreSQL for efficient data handling and application integration.
2.
Introduction to PostgreSQL
3 Lessons
Look at PostgreSQL's robust features, essential commands, and extensibility for modern applications.
3.
Part II: Introduction to Structured Query Language
10 Lessons
Examine SQL principles, security measures, data processing, window functions, and style guidelines.
4.
Part III: Writing SQL Queries
1 Lesson
Grasp the fundamentals of writing, debugging, and maintaining SQL queries in application code.
Recognize the importance of strategically placing business logic in PostgreSQL for efficiency.
6.
A Small Application
5 Lessons
Focus on building a small PostgreSQL application, querying data, and handling SQL in Python.
Introduction to a Small Application Loading and Querying the DatabasePython Application for Chinook DatabaseChallenge: Top-N Factbook EntriesSolution Review: Top-N Factbook Entries7.
The SQL REPL: An Interactive Setup
8 Lessons
Master the steps to effectively use psql for interactive SQL testing and regression testing in PostgreSQL.
Introduction to SQL REPLGetting Started with psqlQuery Rewriting and ValidatingChallenge: Testing in PostgreSQLSolution Review: Testing in PostgreSQLRegression TestingChallenge: Regression Testing in PostgreSQLSolution Review: Regression Testing in PostgreSQL8.
Indexing in PostgreSQL
4 Lessons
Learn how to use effective indexing strategies and access methods to optimize PostgreSQL.
Indexing StrategyIndex Access MethodsAdvanced IndexingQuiz: Loading Database, REPL, Testing, and Indexing9.
Part IV: SQL Toolbox
1 Lesson
Get started with enhancing your SQL skills through practical examples and advanced PostgreSQL concepts.
Introduction to SQL ToolboxBreak apart SQL sublanguages, SELECT statement anatomy, data sources, and advanced joins.
Sub-languages of SQLAnatomy of a Select StatementProcessing Function and Data SourcesJoins and Restrictions11.
Managing Output in SQL
9 Lessons
Grasp the fundamentals of optimizing query output, sorting, pagination, and aggregate functions in SQL.
Ordering with the Order ByTop-N Sorts: Limit and PaginationAggregatesRestrict Selected Groups: HavingGrouping SetsCommon Table ExpressionsResult Sets OperationsChallenge: Managing the Output in SQLSolution Review: Managing the Output in SQL12.
Understanding Nulls
6 Lessons
Take a closer look at handling null values in SQL, their implications, and practical applications.
Three-Valued LogicNull in ApplicationsOuter Joins Introduce NullsQuiz: Queries, Output of Queries, and Nulls in SQLChallenge: Understanding NullsSolution Review: Understanding Nulls13.
Window Functions
3 Lessons
Investigate PostgreSQL’s window functions, their frames, partitioning, and analytical capabilities.
Windows and FramesPartitioning into Different FramesUsing Window Functions14.
Relations and Joins
3 Lessons
Piece together the parts of relations and various join types in PostgreSQL.
Understanding RelationsSQL Join TypesQuiz: Window Functions, Relations, and Joins15.
Part V: Data Types
1 Lesson
Get familiar with data types in PostgreSQL crucial for improving correctness and performance.
Introduction to Data Types16.
Serialization and Deserialization
6 Lessons
Unpack the core of serialization, relational theory, data types, and handling date-specific queries in PostgreSQL.
Serialization in SQLSome Relational TheoryAttribute Values, Data Domains, and Data TypesConsistency and Data Type BehaviorChallenge: Generate Specific NumbersSolution Review: Generate Specific Numbers17.
PostgreSQL Data Types 101
12 Lessons
Examine PostgreSQL's diverse data types, effective data handling, encoding, numeric precision, temporal management, and network analysis.
Introduction to PostgreSQL Data TypesBooleanCharacter and TextServer Encoding and Client EncodingNumbersSequences and the Serial Pseudo Data TypeUUID, Bytea, and BitstringDate/Time and Time ZonesTime IntervalsDate/Time Processing and QueryingNetwork Address TypesRanges18.
Denormalized Data Types
9 Lessons
Grasp the fundamentals of PostgreSQL's denormalized data types and their practical applications.
Introduction to Denormalized Data TypesArraysGIN IndexingComposite TypesXMLJSONEnumChallenge: JSON Data TypeSolution Review: JSON Data Type19.
Part VI: Data Modeling
1 Lesson
Take a look at the importance of database schema modeling to simplify operations.
Introduction to Data Modeling20.
Object Relational Mapping and Tooling for Database Modeling
5 Lessons
Simplify complex topics on database modeling, tooling, and schema refinement with PostgreSQL.
Object Relational MappingTooling for Database ModelingWriting a Database ModelModeling ExampleQuiz: Data Types and Data ModelingBuild on normalization principles to ensure data consistency, integrity, and optimal design.
Data Structures and AlgorithmsNormal Forms and AnomaliesNormalization ExamplePrimary and Surrogate KeysConstraints22.
Practical Use Case: Geonames
9 Lessons
Get familiar with normalizing and querying GeoNames data in PostgreSQL effectively.
Loading the GeoNamesFeaturesCountriesAdministrative ZoningGeolocationIndexing and LookupA Sampling of CountriesChallenge: Create a HistogramSolution Review: Create a Histogram23.
Modelization Anti-Patterns
4 Lessons
Unpack the core of PostgreSQL modelization anti-patterns, including EAV models, multiple values per column, and UUIDs.
Entity Attribute ValuesMultiple Values per ColumnUUIDsQuiz: Normalization, GeoNames Database, and Anti-Patterns24.
Denormalization
10 Lessons
Examine denormalization to optimize database performance, manage data efficiently, and address practical coding challenges.
Introduction to DenormalizationPremature Optimization and Functional Dependency Trade-OffsDenormalization with PostgreSQLMaterialized ViewsHistory Tables and Audit TrailsMore About DenormalizationPartitioningDenormalize with CareChallenge: Generating SeriesSolution Review: Generating SeriesGrasp the fundamentals of PostgreSQL's flexibility in handling NoSQL features, durability, and scaling out.
Introduction to Not Only SQLSchemaless Design in PostgreSQLDurability Trade-OffsScaling OutQuiz: Denormalization and NOSQL26.
Part VII: Data Manipulation and Concurrency Control
1 Lesson
Dig deeper into data manipulation, transaction processing, and ensuring data integrity in PostgreSQL.
Introduction to Data Manipulation27.
Another Small Application
6 Lessons
Tackle data manipulation and concurrency control, featuring PostgreSQL’s efficiency in handling inserts, updates, and deletes.
Introduction to Data Manipulation and Concurrency ControlData Manipulation and Concurrency Control: InsertData Manipulation and Concurrency Control: UpdateData Manipulation and Concurrency Control: DeleteChallenge: Data ManipulationSolution Review: Data Manipulation28.
Isolation and Locking
5 Lessons
Build on PostgreSQL's isolation and locking for effective concurrency management in transactions.
Introduction to Isolation and LockingTransactions and IsolationConcurrent Updates and IsolationModeling for ConcurrencyPutting Concurrency to the Test29.
Computing and Caching in SQL
6 Lessons
Step through computing and caching techniques in SQL, including views and materialized views.
Introduction to Computing and Caching in SQLViewsMaterialized ViewsQuiz: Data Manipulation, Concurrency, Isolation, and CachingChallenge: Creating a ViewSolution Review: Creating a ViewGet started with PostgreSQL triggers, their transactional processing, and addressing concurrency issues.
Introduction to TriggersTransactional Event-Driven ProcessingTrigger and Counters Anti-PatternFixing the Behavior31.
Listen and Notify
4 Lessons
Examine PostgreSQL's listen and notify system for asynchronous communication between servers and clients.
Introduction to Listen and NotifyPostgreSQL Event Publication SystemNotifications and Cache MaintenanceLimitations and Support of Listen and Notify32.
Batch Update, MoMA Collection
4 Lessons
Apply your skills to load, update, and manage the MoMA Collection in PostgreSQL.
Loading the DataUpdating the DataConcurrency Patterns and ConflictQuiz: Triggers, Notifications Feature, and Batch Update33.
Part VIII: PostgreSQL Extensions
1 Lesson
Explore PostgreSQL's extensible data types and user-defined extensions, rooted in its original design.
Introduction to PostgreSQL Extensions34.
What’s a PostgreSQL Extension?
3 Lessons
Investigate how PostgreSQL extensions enhance functionality through SQL objects and efficient installation.
PostgreSQL ExtensionsInside PostgreSQL ExtensionsInstalling and Using PostgreSQL Extensions35.
Auditing Changes with hstore
5 Lessons
Master hstore for auditing changes with triggers, testing, and reverting to regular records.
Introduction to hstoreAuditing Changes with a TriggerTesting the Audit TriggerFrom hstore Back to a Regular RecordQuiz: Extensions and Auditing Changes36.
Million Song Dataset
2 Lessons
Learn how to use the Million Song Dataset for importing, querying, and exploring music data.
Loading the DataDiscover the Data Model37.
Using Trigrams for Typos
6 Lessons
Get started with improving fuzzy searches, typo correction, and efficient querying using trigrams in PostgreSQL.
The pg_trgm ExtensionTrigrams, Similarity, and SearchesComplete and Suggest Song TitlesTrigram IndexingChallenge: Find the Words Similarity ScoreSolution Review: Find the Words Similarity Score38.
Denormalizing Tags with intarray
3 Lessons
Work your way through efficient tag indexing and advanced searches using PostgreSQL's intarray extension.
Advanced Tag IndexingSearches and User-Defined TagsQuiz: Trigrams and Denormalizing Tags39.
The Most Popular Pub Names
5 Lessons
Apply your skills to load, geolocate, query, and analyze pub name data in PostgreSQL.
Loading the DataGeolocating the Nearest PubFinding the Nearest PubPubs and CitiesThe Most Popular Pub Names40.
Geolocation with PostgreSQL
6 Lessons
Solve problems in geolocation data processing and querying IP addresses with PostgreSQL.
Geolocation Data LoadingFinding an IP Address in the RangesGeolocation MetadataEmergency PubChallenge: Search for the Nearest CircuitsSolution Review: Search for the Nearest Circuits41.
Counting Distinct Users with HyperLogLog
6 Lessons
Simplify complex topics like HyperLogLog for estimating unique counts with minimal storage.
Introduction to HyperLogLogCounting Unique Tweet VisitorsLossy Unique Count with hllGetting the Visits into Unique CountsScheduling Estimates ComputationsQuiz: Geolocation and HyperLogLogBuild on setting up PostgreSQL, utilizing extensions, and optimizing with noteworthy tools.
PostgreSQL: Setup on the Local MachineThe PostgreSQL extension: How to Find ItA Short List of Noteworthy Extensions