作为一个个人项目,我基本上想要创建一个web应用程序,允许用户提交特定音调的放大器设置,这将呈现图像,并为特定放大器创建吉他音调存档。
我知道我首先应该设计一个数据库来支持这个web应用程序。在阅读了关于关系数据库与规范化的文章之后,我已经开始起草一个数据库,但是在这个过程中,我对自己感到困惑。
到目前为止,我已经创建了以下表:
tbl_Makes (放大器品牌列表):
tbl_Models (由MakeID字段链接到其品牌的放大器型号列表):
但是我对如何设计剩下的桌子有点不知所措。我想我需要一个tbl_Settings表,该表包含MakeID和ModelID作为外键,但也需要某种列来保存放大器设置。我目前面临的问题是,大多数放大器都有不同的设置,所以我不知道该如何处理。我是否需要一个额外的表为每个放大器模型,以保持其特定的设置?
有什么建议吗?我目前的数据库设计是否正常,还是需要修改?
发布于 2013-12-25 01:27:34
你可能把它弄得太过分了。一张带有Make和Model的桌子可能足够好。但是,使用当前的设计,您将使MakeID成为make表的主键(ID)的外键。
然后就会有一个“设置”表,它有一个ModelID、属性和值--因为每个AMP都可能有不同的属性。如果您想要控制属性类型(有PK和FK关系),您可能希望拥有一个属性表并使用attributeID。
哦,看在上帝的份上,请不要在表格前加上tbl_
https://stackoverflow.com/questions/20768308
复制相似问题