
大家好!附件中的图片是我们在MySql工作台中当前数据库设计的屏幕截图。我们把它提交给我们的教授,并说我们的模式是错误的,特别是在Product Categories (蛋糕、Cupcake、Pies)中,因为它应该在products表中。
您能帮助我通过添加更多的表而不只是5个来改进这种模式吗?
发布于 2017-10-02 05:05:34
因为你的其他桌子(蛋糕、馅饼等)不要添加任何新属性,很难想象为什么需要它们。cakes中的行不就是它在products中引用的行的精确副本吗
如果需要区分产品类别,只需在products表中为该类别添加一列即可。
附注:请不要养成在所有表名前加上“tbl”的习惯。这是多余的,因为如果您可以从它进行查询,那么它显然是一个表。只需跳过“tbl”。同样,不要在列名中对数据类型进行编码。如果有一天您需要更改数据类型,该怎么办?它会打破你所有的查询。
附注:不要使用FLOAT作为货币,而要使用NUMERIC。
请参阅https://twitter.com/billkarwin/status/347561901460447232
另请阅读What Every Computer Scientist Should Know About Floating-Point Arithmetic。
https://stackoverflow.com/questions/46516329
复制相似问题