Prisma's Data Guide

Learn how databases work, how to choose the right one, and how to use databases with your applications to their full potential.

Introduction to databases

Learn the basics of what databases are, why they are so important for most software, and how they work. Start from the fundamentals to give yourself a solid foundation.

What are databases?Comparing database types: how database types evolved to meet different needsIntroduction to database schemas

Data Modeling

A crash course in (relational, although not ignoring others) designing data models. Parts are published as they're written, and concentrating first on situating databases and data modeling problems in an organization and systems design context, as well as covering some of the less-prominent areas of database functionality. Published in partnership with Dian Fay.

Intro (Don't Panic)Know Your Problem SpaceTables, Tuples, TypesCorrectness and ConstraintsMaking ConnectionsFunctional UnitsIn Vivo: Information Ecosystems

Database types

Each style of database has its own strengths and weaknesses. Learn more about common database types to help choose which one is best for you.

Relational databases

Relational databases are great at handling highly structured data and making it accessible with flexible querying. Discover why the relational paradigm has stood the test of time.

Comparing SQL, query builders, and ORMs


PostgreSQL is a feature rich object-relational database that offers incredible power and flexibility while maintaining standards compliance. Learn how to configure and use PostgreSQL to take advantage of its best features.

The benefits of PostgreSQLGetting to know PostgreSQL5 ways to host PostgreSQL databasesSetting up a local PostgreSQL databaseConnecting to PostgreSQL databasesAuthentication and authorization  •  An introduction to authorization and authentication in PostgreSQL  •  Managing roles and role attributes in PostgreSQL  •  Configuring PostgreSQL user authentication  •  Managing privileges in PostgreSQL with grant and revokeHow to create and delete databases and tables in PostgreSQLAn introduction to PostgreSQL data typesAn introduction to PostgreSQL column and table constraintsInserting and modifying data  •  How to insert and delete data in PostgreSQL  •  How to update existing data in PostgreSQL  •  How to use `INSERT ON CONFLICT` to upsert data in PostgreSQL  •  Importing and exporting data in PostgreSQL  •  Understanding and using transactions in PostgreSQLReading and querying data  •  How to perform basic queries with `SELECT` in PostgreSQL  •  How to filter query results in PostgreSQL  •  Using joins to combine data from different tables in PostgreSQLShort guides  •  How to use single and double quotes in PostgreSQL


MySQL is one of the most popular relational databases in the world, offering fast performance and production-ready power. Learn how to take advantage of MySQL's features for your project or website.

Setting up a local MySQL databaseImporting and exporting data in MySQLAuthentication and authorization  •  An introduction to authorization and authentication in MySQL  •  How to manage users and authentication in MySQL  •  How to use `GRANT` and `REVOKE` to manage privileges in MySQL  •  How to manage privileges with roles in MySQL


SQLite is a collection of a library, file format, and command line utility that provides self-contained relational database capabilities in local environments. Learn how to care for your application's data using SQLite's versatile, reliable data management capabilities.

Setting up a local SQLite databaseImporting and exporting data in SQLite

Database tools

Tools dedicated to improving your interactions with databases.

Top 11 Node.js ORMs, Query Builders & Database Libraries in 2020Top 8 TypeScript ORMs, Query Builders, & Database Libraries: Evaluating Type Safety