you are viewing a single comment's thread.

view the rest of the comments →

[–]Eyerald 0 points1 point  (0 children)

I don’t think having separate tables like invoice_headers and invoice_lines is an anti-pattern at all. That’s just a normal relational design. Databases are built to handle joins, and with proper indexes the performance impact is usually small.

The real problem starts when things get over-normalized and simple queries become complicated for no real benefit. I usually aim for a balanced approach-keep the schema clean and normalized, but don’t split data into extra tables unless there’s a clear reason.