Database
Everything on SkillVeris tagged Database — collected across the glossary, study notes, blog, and cheat sheets.
432 resources across 4 libraries
Glossary Terms(151)
MySQL
MySQL is an open-source relational database management system (RDBMS) and the world's most widely used database for web applications, using structured tables a…
PostgreSQL
PostgreSQL is a powerful, open-source object-relational database management system known for strict ACID compliance, standards compliance, and extensibility th…
MongoDB
MongoDB is an open-source, document-oriented NoSQL database that stores data as flexible, JSON-like documents (BSON) rather than rows and columns in fixed tabl…
Redis
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, supporting strings, hashes, lists, sets, and sorted sets…
Firebase
Firebase is Google's mobile and web application development platform, offering a suite of managed backend services including a real-time database, authenticati…
Supabase
Supabase is an open-source backend-as-a-service platform built around PostgreSQL, providing a managed database, authentication, auto-generated APIs, file stora…
SQLite
SQLite is a lightweight, serverless, self-contained relational database engine that reads and writes directly to a single ordinary disk file, making it one of…
Pinecone
Pinecone is a fully managed, cloud-based vector database designed for storing and querying high-dimensional embeddings at scale. It provides fast approximate n…
Qdrant
Qdrant is an open-source vector database, written in Rust, built for storing and searching high-dimensional embeddings with a focus on performance, filtering,…
Weaviate
Weaviate is an open-source vector database that stores data objects together with their vector embeddings, enabling fast semantic and hybrid search over unstru…
Milvus
Milvus is an open-source vector database designed for storing and searching large-scale embedding vectors, built to support similarity search and retrieval wor…
ChromaDB
ChromaDB (Chroma) is an open-source embedding/vector database designed to be simple to run locally or embed directly in an application, commonly used for stori…
Aerospike
Aerospike is a high-performance, distributed NoSQL database designed for sub-millisecond read/write latency and high throughput at large scale, commonly used i…
YugabyteDB
YugabyteDB is an open-source, distributed SQL database designed for cloud-native applications, offering horizontal scalability with PostgreSQL wire compatibili…
ClickHouse
ClickHouse is an open-source, column-oriented database management system built for online analytical processing (OLAP), capable of executing aggregation and an…
CockroachDB
CockroachDB is an open-source, distributed SQL database designed to survive machine, rack, and datacenter failures while providing strong ACID consistency and…
CouchDB
Apache CouchDB is an open-source NoSQL document database that stores data as JSON documents and exposes an HTTP/REST API as its primary interface, with built-i…
Hibernate
Hibernate is an object-relational mapping (ORM) framework for Java that maps Java classes to database tables, letting developers work with relational data usin…
InfluxDB
InfluxDB is a purpose-built time-series database designed to store and query high-volume, timestamped data such as metrics, sensor readings, and monitoring eve…
BigQuery
BigQuery is Google Cloud's fully managed, serverless data warehouse that lets users run fast SQL analytics over massive datasets without provisioning or managi…
TiDB
TiDB is an open-source, distributed SQL database developed by PingCAP that is MySQL-compatible and designed for Hybrid Transactional/Analytical Processing (HTA…
TimescaleDB
TimescaleDB is an open-source time-series database built as an extension of PostgreSQL, adding automatic partitioning, compression, and query optimizations for…
Umami
Umami is an open-source, privacy-focused website analytics platform that can be self-hosted as a lightweight alternative to Google Analytics, tracking visitor…
Algolia
Algolia is a hosted search-as-a-service platform that provides fast, typo-tolerant, full-text search and discovery APIs that developers embed into websites and…
Showing 24 of 151.
Study Notes(207)
MFC Database Access
MFC's two parallel database frameworks - ODBC-based CDatabase/CRecordset and DAO-based CDaoDatabase/CDaoRecordset - and how record field exchange (RFX/DFX) bin…
Database Access in Web Pages
Learn how the WebMatrix.Data.Database helper connects ASP.NET Web Pages to SQL databases with lightweight Query, Execute, and parameterized SQL methods.
Applying and Reverting Migrations
How to apply pending migrations to a database, generate deployable SQL scripts, and safely roll back schema changes.
Code-First vs Database-First
Comparing the Code-First and Database-First workflows in EF Core and how to choose between them, including hybrid approaches.
VBA and ADO Database Access
Using ActiveX Data Objects (ADO) from VBA to connect to databases, run parameterized queries, and read results into a worksheet or recordset.
ADO.NET and Database Access
Learn how VB.NET applications connect to relational databases using ADO.NET's connection, command, and reader objects, plus disconnected DataSets and transacti…
assert and retract
How Prolog programs modify their own clause database at runtime using assert, asserta, assertz, retract, and retractall.
ACID and Isolation Levels
How PostgreSQL guarantees Atomicity, Consistency, Isolation, and Durability, and how the four SQL isolation levels trade off correctness against concurrency.
B-Tree Indexes Explained
Learn how PostgreSQL's default B-tree index works internally and why it is the right choice for equality and range queries.
Common Table Expressions
Learn how PostgreSQL's WITH clause structures complex queries into named, readable building blocks, including recursive CTEs for hierarchical data.
Connection Pooling with PgBouncer
Learn why PostgreSQL connections are expensive, how PgBouncer's pooling modes work, and how to configure and monitor it safely in production.
Constraints in Depth
A thorough look at PostgreSQL's constraint types -- PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE, NOT NULL, and EXCLUDE -- and how they enforce data integrity at th…
Data Types in Depth
A practical deep dive into PostgreSQL's rich type system, covering numeric precision, text vs. varchar, JSONB, arrays, and enum/domain types.
Deadlocks and How to Avoid Them
How PostgreSQL detects circular lock-wait dependencies, what it does when it finds one, and practical patterns to prevent deadlocks in application code.
GIN and GiST Indexes
Understand when to reach for GIN and GiST index types to accelerate full-text search, JSONB containment, arrays, and geometric or range data.
Index Maintenance and Bloat
Understand why indexes accumulate dead space over time, how to detect bloat, and the tools PostgreSQL provides to reclaim it safely.
Indexing Strategies
Practical guidance for deciding what to index, how to order multicolumn indexes, and how to validate index effectiveness in PostgreSQL.
Join Algorithms in PostgreSQL
Understand the three physical join strategies PostgreSQL can choose — nested loop, hash join, and merge join — and when each one wins.
Locking in PostgreSQL
The row-level and table-level lock modes PostgreSQL uses to coordinate concurrent writers, and how to inspect and reason about lock contention.
Logical Replication
Understand how PostgreSQL's publish/subscribe logical replication decodes row-level changes for selective replication, zero-downtime upgrades, and cross-versio…
MVCC Explained
How PostgreSQL's Multi-Version Concurrency Control lets readers and writers avoid blocking each other by keeping multiple row versions and using visibility rul…
Partial and Expression Indexes
Use partial indexes to index only a relevant subset of rows and expression indexes to index computed values, keeping indexes smaller and more targeted.
Partitioning Large Tables
Learn how PostgreSQL's declarative partitioning splits large tables into manageable pieces for faster queries, easier maintenance, and efficient data lifecycle…
PostgreSQL Architecture Overview
A tour of how PostgreSQL is built internally: the process model, shared memory, the write-ahead log, and the MVCC storage engine that together deliver durabili…
Showing 24 of 207.
Cheat Sheets(52)
SQL Cheat Sheet
Common SQL queries, joins, clauses, and database operations.
MongoDB Cheat Sheet
MongoDB CRUD operations, aggregation pipeline, and indexing strategies.
PostgreSQL Cheat Sheet
Core PostgreSQL commands covering psql navigation, SQL queries, indexing, and common data types for building and tuning relational databases.
MySQL Cheat Sheet
Essential MySQL commands for connecting, writing SQL, managing indexes, and choosing storage engines and data types for reliable relational apps.
SQLite Cheat Sheet
A quick reference for SQLite's CLI, SQL syntax, type affinity, pragmas, and backup commands for embedded, file-based databases.
Redis Cheat Sheet
Redis commands for strings, lists, sets, hashes, sorted sets, pub/sub, and expiration, covering the core in-memory data structure operations.
Cassandra Cheat Sheet
CQL syntax, data modeling concepts, consistency levels, and TTL usage for designing wide-column, horizontally scalable Cassandra tables.
DynamoDB Cheat Sheet
AWS CLI and boto3 commands plus core DynamoDB concepts like partition keys, indexes, and expressions for NoSQL data modeling.
Firebase Firestore Cheat Sheet
Firestore's modular JS SDK for reading, writing, querying, and listening to real-time document data in a NoSQL collection model.
Elasticsearch Cheat Sheet
Elasticsearch REST API essentials for indexing, searching, filtering, and aggregating documents with mappings and analyzers.
Neo4j (Graph Database) Cheat Sheet
Cypher query language essentials for creating nodes and relationships, traversing graphs, and finding shortest paths in Neo4j.
CouchDB Cheat Sheet
CouchDB's HTTP API, document revisions, map/reduce views, and built-in replication model for offline-first JSON document storage.
MariaDB Cheat Sheet
MariaDB SQL basics, storage engines, and the key differences from MySQL, including Aria, Galera clustering, and native features.
Oracle SQL Cheat Sheet
Oracle SQL and PL/SQL fundamentals covering SQL*Plus, data types, sequences, ROWNUM pagination, and stored procedures.
Microsoft SQL Server Cheat Sheet
T-SQL essentials for Microsoft SQL Server covering DDL/DML, clustered vs nonclustered indexes, MERGE statements, and query plan analysis.
InfluxDB (Time Series) Cheat Sheet
InfluxDB line protocol, Flux and InfluxQL query basics, and core time-series concepts like tags, fields, and cardinality.
Database Normalization Cheat Sheet
Normal forms from 1NF through 5NF explained with functional dependency rules and before/after examples for eliminating redundancy.
Database Indexing Strategies Cheat Sheet
Index types, composite column ordering, query plan reading, and common anti-patterns for tuning read performance across relational databases.
ACID Properties Cheat Sheet
The four ACID guarantees, SQL transaction isolation levels, and the concurrency anomalies each isolation level prevents or allows.
Database Transactions Cheat Sheet
Transaction syntax, savepoints, application-level transaction handling, and locking strategies for writing safe, concurrent database operations reliably.
Database Sharding Cheat Sheet
Covers horizontal partitioning strategies, shard key selection, routing, and rebalancing for scaling databases across multiple nodes.
Database Replication Cheat Sheet
Explains synchronous vs asynchronous replication, leader-follower topologies, failover, and replication lag for building highly available databases.
SQL Joins Deep Dive Cheat Sheet
Breaks down INNER, LEFT/RIGHT/FULL OUTER, CROSS, and SELF joins with execution semantics and query examples for combining relational tables.
SQL Window Functions Cheat Sheet
Covers ROW_NUMBER, RANK, LAG/LEAD, and aggregate window functions with OVER, PARTITION BY, and frame clauses for analytical SQL queries.
Showing 24 of 52.
Interview Questions(22)
What is a Deadlock in Database?
A deadlock in a database happens when two or more transactions each hold a lock the other needs, so every transaction involved waits forever and none can proce…
What is Database Partitioning?
Database partitioning is splitting a large table into smaller, more manageable pieces called partitions, while the table is still queried as one logical unit.
Optimistic vs Pessimistic Locking: What is the Difference?
Pessimistic locking locks a row before reading it so no one else can change it, while optimistic locking allows concurrent reads and only checks for conflicts,…
What is a Trigger in SQL?
A trigger in SQL is a stored piece of code that automatically executes in response to a specific event, such as an INSERT, UPDATE, or DELETE, on a table.
What is Denormalization in Database?
Denormalization is the deliberate process of combining data from multiple related tables back into fewer, wider tables to reduce joins and speed up read querie…
Inner Join vs Outer Join
An INNER JOIN returns only the rows that have matching values in both tables, while an OUTER JOIN (LEFT, RIGHT, or FULL) returns matched rows plus unmatched ro…
What is a Composite Key?
A composite key is a primary key made up of two or more columns that, together, uniquely identify a row, even though no single column among them is unique on i…
HAVING vs WHERE Clause
WHERE filters individual rows before any grouping or aggregation happens, while HAVING filters groups after GROUP BY has aggregated them, so HAVING is the only…
What is a Cursor in SQL?
A cursor is a database object that lets a program process a query result set one row at a time, instead of the usual set-based operation that acts on all match…
CHAR vs VARCHAR
CHAR is a fixed-length string type that always stores and pads to its declared length, while VARCHAR is a variable-length type that stores only the actual char…
What is CAP Theorem?
CAP theorem states that a distributed data store can only guarantee two of three properties at once — Consistency, Availability, and Partition tolerance — duri…
What is Connection Pooling?
Connection pooling is a technique where a fixed set of pre-established database connections is reused across multiple requests instead of opening and closing a…
What is the Difference Between GROUP BY and ORDER BY?
GROUP BY aggregates rows that share a common value into summary rows, while ORDER BY simply sorts the result set without changing how many rows are returned.
What is a Materialized View?
A materialized view is a database object that stores the physical result of a query on disk, unlike a regular view which recomputes its result every time it is…
What is Referential Integrity?
Referential integrity is a database rule ensuring that a foreign key value in one table always matches an existing primary key value in the referenced table, p…
What Are Time-Series Databases and When Should You Use One?
A time-series database is a storage engine purpose-built for data points indexed by time, optimizing for high-volume append-only writes, time-range queries, an…
What Are TimescaleDB Hypertables and How Do They Work?
A TimescaleDB hypertable is a PostgreSQL table that is automatically partitioned behind the scenes into many smaller physical tables called chunks, typically s…
How Does the InfluxDB Data Model Work?
InfluxDB organizes data around measurements, which act like tables, and each data point within a measurement is defined by a timestamp, a set of indexed tags (…
What Is Downsampling in Time-Series Databases?
Downsampling is the process of reducing high-resolution time-series data into lower-resolution aggregates (like per-minute or per-hour averages) after it ages…
What Are Retention Policies in Time-Series Databases?
A retention policy is a rule that automatically deletes (or archives) time-series data once it passes a defined age, so storage does not grow without bound as…
GraphQL vs REST: How Do They Fetch Data From Databases Differently?
REST exposes fixed, resource-shaped endpoints that each return a predetermined set of columns and joins decided by the server, while GraphQL exposes a single e…
What Is SQL Injection and How Do You Prevent It?
SQL injection is a vulnerability where an attacker supplies crafted input that gets concatenated directly into a SQL query string, causing the database to exec…