Hardware is fun but can’t do anything without the software to power it. But getting important data can be hard. Why is the query for getting all the drinks the system can make with what it has on hand hard? Because you can have drinks that are possible based on substitutes. An example of this would be if my drink requires Grey Goose Vodka but I only have Smirnoff, I still should be able to get the drink. This requires a logic that seems normal for us but it a bit hard to express in SQL. First, here is...