Data Modeling easy
What is the primary objective of normalizing a relational database schema (e.g., to 3NF)?
- A To maximize query throughput by combining all related datasets into a single, flat table for rapid file-system level streaming.
- B To implement row-level encryption and ensure that sensitive user attributes are cryptographically isolated from public records.
- C To reduce redundant data and improve integrity by ensuring that each fact is stored in exactly one place, preventing anomalies.
- D To transform the database into a schemaless format that allows for high-velocity ingestion of unstructured sensor and log data.
Answer: C. To reduce redundant data and improve integrity by ensuring that each fact is stored in exactly one place, preventing anomalies.
Normalization (e.g., to 3NF) breaks data into smaller, related tables to ensure that every piece of information is stored exactly once. This minimizes data redundancy and prevents 'Update Anomalies' where changing a value in one location might leave stale copies elsewhere. While this improves data integrity, it often requires more JOINs during reads, which is a common performance trade-off compared to denormalized models.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- When modeling a Distributed Transaction using the Saga Pattern (Choreography or Orchestration), what type of consistency do you achieve?
- Which practice prevents SQL Injection attacks?
- What is 'Bi-Temporal' data modeling (e.g., in SQL:2011 standard)?
- Adding an Index to a database column generally improves Read performance. What is the negative trade-off?
- Log Systems Merge (LSM) Trees (used in RocksDB, Cassandra) optimize for fast writes. What is their primary downside regarding Disk I/O?
- You are modeling a 'Likes' counter for a global social network. You choose an AP model. What anomaly must your data model handle?