Overview

Data is a fundamental pillar of modern software engineering. This section covers database fundamentals and practical data access tools used in production applications.

What You’ll Learn

  • Databases - SQL fundamentals and PostgreSQL database management
  • Data Tools - Object-relational mapping with Spring Data JPA and Elixir Ecto

Available Content

Databases

SQL - Master the standard language for relational databases

  • Query fundamentals (SELECT, WHERE, JOIN)
  • Data manipulation (INSERT, UPDATE, DELETE)
  • Schema design and table relationships
  • Indexing and query optimization
  • Transactions and constraints

PostgreSQL - Advanced open-source relational database

  • PostgreSQL-specific features and extensions
  • JSON and advanced data types
  • Window functions and CTEs
  • Performance tuning and optimization
  • Backup, recovery, and replication

Data Access Tools

Spring Data JPA - Java persistence framework

  • Entity mapping and relationships
  • Repository pattern for data access
  • Query methods and JPQL
  • Transaction management
  • Integration with Spring Boot

Elixir Ecto - Elixir database wrapper and query generator

  • Schema definitions and changesets
  • Composable queries with Ecto.Query
  • Migrations and schema evolution
  • Multi-database support
  • Association handling

Learning Approach

Each topic provides By Example tutorials with practical, runnable code:

  • Beginner - Core concepts and basic operations
  • Intermediate - Production patterns and optimization
  • Advanced - Complex queries and performance tuning

Start with SQL fundamentals, then explore database-specific features and ORM tools for your language stack.

Getting Started

  1. SQL Fundamentals - Start here to learn database querying
  2. PostgreSQL - Explore advanced features
  3. Choose your ORM: Spring Data JPA for Java or Elixir Ecto for Elixir
Last updated