> If you need to store a value that has two states, use a boolean

Please refer to the article for context of this discussion.

Because the databases you have worked in are bad means we should not teach or advocate for correct data structure design?

> Because the databases you have worked in are bad

You understand my point about 5th normal form, right? 99.99999999% of all databases are in approx (averaged across all tables) somewhere between 2.5 and 3rd normal form.

This means there are many examples in most databases of data that is implied by some other combination of data elements.

Do you store the calculated discounts and net selling price for line items after running the order through the promotion engine? Most system do store things like that because people need to consume that data and it's either impractical or not possible for each consumer to run the data through the promotion engine every time they need to use that data.

Same thing goes for the total invoice qty, amount, taxes, etc.

This is one small example of the type of data dependencies that exist throughout most complex systems.