-
De-Normalized Database:
- designed to minimize redundancy
-
Normalized Database:
- designed to optimize read time
Approaching Small Database Design:
- Handle Ambiguity : database questions are often ambiguous by design in order to probe your reasoning your information gathering skills
- Define the Core Objects: each core object associated with a system can be translated into a table in our database
- Analyze Relationships: How do our core objects relate to each other? Are they many-to-many? Or one-to-many?
- 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