我在 SQL 中有数据,其粒度与以下类似。
Person ID Dish Restaurant Cost
1 Pasta The Spaghetti House 5
2 Burgers Burger Factory 7
3 Pasta The Spaghetti House 5
4 Pizza The Cheesy Slice 4
这只是一个例子,但它抓住了我的数据的本质,并提供了一个很好的例子。我需要从这些数据中抽象出一个“膳食”(一个超集),其中一顿饭由一道菜、餐厅和成本组成。我需要生成一个唯一的“膳食”ID。需要注意的是,我需要将一个人与一顿饭联系起来。
PersonID MealID
1 1
2 2
3 1
4 3
到目前为止,我想出的最佳解决方案是从菜、餐厅和成本列中生成校验和。这让我可以唯一地识别每顿“餐”,还可以通过计算每个人的行的校验和来将每个人与每餐联系起来。
我什至不知道这个提取超级数据集的过程叫什么,更不用说如何正确地完成了。(我为这个问题的标题而苦苦挣扎)。我不确定使用校验和是最优雅的选择,尽管它似乎确实有效。
是否有提取超数据集的过程,同时仍保留 SQL 中的孩子(人)与其父母(一顿饭)之间的关系?