When we need to use 1-to-1 relationship in database design?

  1. Vertical partitioning for large tables to reduce I/O and cache requirements — separate columns that are queried often vs rarely.

  2. Adding a column to a production system when the alter table is “too expensive”.

  3. Super-type/subtype pattern.

  4. Vertical partitioning to benefit from table (join) elimination — providing optimizer
    supports it (again to reduce I/O and cache) .

  5. Anchor modeling — similar to 4, but down to 6NF.

Leave a Comment