This is the way they want it to work. Database check constraints and stored procedures are used to track things, do things, and protect data integrity. There are limitations, so players are expected to do manual inventory management. Making those database entities more complex may make things worse, in several ways.
"No sadder words of tongue or pen are the words: 'Might have been'." -- John Greenleaf Whittier
"Do or do not. There is no try." -- Yoda
On planet Earth, there is a try.
Indeed, in a world and life full of change, the only constant is human nature (A is A, after all :P).
We old vets need to keep in mind those who come after us.