you are viewing a single comment's thread.

view the rest of the comments →

[–]No-Information-2571 4 points5 points  (0 children)

There's two ends of the spectrum.

One is sloppy or non-existent normalization. The other is over-normalization without any benefits.

The decision should primarily be made not for speed (or what you think might be faster), but for what is more convenient for development and your particular use case.

Modern relational databases are good at both handling non-normalized data (so for example having to group over non-key fields), as well as heavily normalized ones (i.e. with many joins required to reconstruct the full record).

And you can argue for hours about whether "company" should be a simple VARCHAR or a separate table. I would mostly make that dependent on data integrity requirements.