每个国家/地区都使用自己的测量单位,例如美国的人在F中测量温度,而加拿大和C中的大多数欧洲国家/地区。测量重量,距离等同样适用。 我在应用程序中将测量单位定义为 对于默认语言环境,然后对于法国,我定义类似 到目前为止,到目前为止还算不错,但是要为每个考虑大量重复数据的国家/地区 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我刚刚开始用MySQL / MariaDB学习SQL,我认为一个好的项目是为我(实际)当地的比萨饼店建立一个营养和价格信息数据库。 我的整体概念:
一个表格提供有关成分营养信息的信息。
一张成分价格信息表。
一份食谱表,显示每个披萨中每种成分的含量。
我有几个问题:
营养信息的不同成分和方面通常使用不同的单位:每杯盐的毫克钠,每液体盎司酱的毫克钠,每磅面粉的蛋白质克数,每磅面粉的卡路里等。我该如何处理? 理论上,最干净的方法是测量除卡路里以毫克为单位的所有营养素,以及所有成分(千克),但之后我需要一张密度表(并不总是随时可用)以及一些方法来隔离用户那个烂摊子。 并且卡路里仍然是偏执的。
披萨,面团和酱汁的两个关键方面,作为(几乎)各种比萨饼的“子食谱”。 处理这个问题的正确方法是什么?
由于问题是征求意见,所以很难给你并“回答”这个问题,但我的意见是:
---------------------------------------------- | id | item | quantity | unit | ----------------------------------------------- 1 flour 2 kg 2 eggs 4 count 3 paste 3 g ============================ | unit1 | unit2 | convt | ----------------------------- g kg 0.01
我没有在这里完成,但你有一个单位表,并在转换表中使用他们的ID。 某些单位类型(如count)将无法转换,因此转换表中未找到的任何单位都不允许进行转换。 同样的方法可用于营养元素。
Recipes ------------------------- | id | name | ------------------------- | 1 | dough | | 2 | sauce | | 3 | pizza | Recipe Ingredients --------------------------------------------------------- | recipe | ingredient | quantity | unit | key ref | --------------------------------------------------------- | 1 | flour | 400 | g | NULL | | 1 | egg | 3 | count | NULL | | 1 | water | 5 | foz | NULL | | 2 | tomatoes | 1 | kg | NULL | | 2 | onions | 3 | count | NULL | | 3 | dough | 1 | recipe| 1 | | 3 | sauce | 1 | recipe| 2 |
现在,您的应用程序代码需要捕获recipe
条目并循环回来以获取其“真实”成分并继续这样做,直到没有更多的recipe
条目。 你必须小心确保你的应用程序防止无限循环的可能性,就像一个自己的配方。
有些人会争辩说我在这里使用单位列来保存不是“单位”的数据(记住这实际上只是指向你的单位表的ID)但我认为这是一个没有实际意义的点,可能会争辩说食谱是一个有效的'单位',但嘿。
我不是说这是最好的设计,只是一些想法让你开始提出你提出的两点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.