Imagine if in the real world, the only place you could put food is your refrigerator...
The machine isn't the real world. In particular: People often like to have software do things for them. But software has no intelligence. So we have to design a system that both the human and the software can understand.
If you had a personal robot that would automatically throw out, and reorder, any food that's more than six months past the expiration date -- but only if the food is in the refrigerator -- you might find that you would rather store 100% of your food in the refrigerator than have to deal with your own shopping.
Then, a few years later, when you smell the six-month-old food that you accidentally forgot to put in the fridge, you may find yourself wishing for a system that actively constrains you from storing food outside the fridge. And then hides the fridge from you, so that all you see is a list of foods and you don't even have to care about where those foods are being kept.
This is the age-old art of database design. On the one hand, databases often feel constrained and clunky. On the other hand, if you learn to deal with the constraints, magical machines can come along and save you thousands of hours.
The machine isn't the real world. In particular: People often like to have software do things for them. But software has no intelligence. So we have to design a system that both the human and the software can understand.
If you had a personal robot that would automatically throw out, and reorder, any food that's more than six months past the expiration date -- but only if the food is in the refrigerator -- you might find that you would rather store 100% of your food in the refrigerator than have to deal with your own shopping.
Then, a few years later, when you smell the six-month-old food that you accidentally forgot to put in the fridge, you may find yourself wishing for a system that actively constrains you from storing food outside the fridge. And then hides the fridge from you, so that all you see is a list of foods and you don't even have to care about where those foods are being kept.
This is the age-old art of database design. On the one hand, databases often feel constrained and clunky. On the other hand, if you learn to deal with the constraints, magical machines can come along and save you thousands of hours.