• De-Normalized Database:

    • designed to minimize redundancy
  • Normalized Database:

    • designed to optimize read time

Approaching Small Database Design:

  1. Handle Ambiguity : database questions are often ambiguous by design in order to probe your reasoning your information gathering skills
  2. Define the Core Objects: each core object associated with a system can be translated into a table in our database
  3. Analyze Relationships: How do our core objects relate to each other? Are they many-to-many? Or one-to-many?
  4. Investigate Actions: walk through common use cases and actions taken by users to understand how to store and retrieve data

Approaching Large Database Design:

  • in large databases, joins are generally slow
  • de-normalizing data for large databases can be useful