Database design is one of the most foundational skills in computer science and software engineering. This guide covers the core concepts from university-level database courses — relational theory, SQL, normalization, indexing, transactions, and NoSQL — providing a rigorous foundation for anyone working with data.