作为个人项目,我基本上想创建一个Web应用程序,允许用户提交特定音调的放大器设置,这将呈现图像并为特定放大器创建吉他音调存档。
我知道我首先应该设计一个数据库来支持这个Web应用程序。在阅读了relational databases and normalization后,我开始起草一个数据库,但我在这个过程中感到很困惑。
到目前为止,我已经创建了以下表格:
tbl_Makes (放大器品牌列表):
tbl_Models (放大器型号列表,由MakeID字段链接到其品牌):
但我对如何设计剩余的表格感到有点失落。我假设我需要一个 tbl_Settings 表,其中包含MakeID和ModelID作为外键,还包含一些用于保存放大器设置的列。我目前面临的问题是大多数放大器都有不同的设置,所以我不确定我是如何处理的。我是否需要为每个放大器型号增加一个表来保持其特定设置?
有什么建议吗?我当前的数据库设计是否正常,还是需要修改?
答案 0 :(得分:2)
你可能会把它分解得太远。 Make和Model的表格可能足够好。但是,根据您当前的设计,您可以将MakeID作为Make表的主键(ID)的外键。
然后你有一个“设置”表,它有一个ModelID,属性和值 - 因为每个AMP可能有不同的属性。如果要控制属性类型(具有PK和FK关系),您可能希望拥有属性表并使用attributeID。
哦,为了上帝的爱,请不要在表格前添加tbl_