This document provides an overview of database anti-patterns including: - The entity-attribute-value pattern, which stores data in a type-value format and cannot efficiently model constraints. Other options include seeking proper relational models or a "poor man's EAV" approach. - Materialized path trees, which reference the full parent path for each child and violate normalization rules but allow retrieving the entire tree or subtrees with a single query. Moving subtrees only requires updating the path column. - Surrogate keys, which are artificially added unique identifiers that can make queries harder to read but help ensure primary keys remain immutable.