我的数据库模型的有效性
Validity of my database model
在此设计之前,我的数据库模型没有 orderProducts
,这意味着 products
和 orders
之间存在多对多关系,因为 [=17] 中的所有字段=] 有订单。我是否使用连接点 table 正确解决了这个问题?此外,我不确定如何将 userType
table 与 table 相关联。谢谢。
orderProducts table 的解析很有意义,但您可以将 productName 排除在外(因为它可以来自 Product table)以减少数据冗余。同样,价格可以在产品 table.
中
至于将用户与现有 table 相关联,请考虑用户与订单之间的关系 - 大概每个用户可以有多个订单,但每个订单只会有一个用户,所以你有一个 -从用户到订单的多对多关系,并且可以在订单 table.
中将 user_ID 作为 FK
将 UserID 之类的内容添加到 orderProducts Table 中,然后您应该可以根据需要使用 SQL JOIN。
正如 Stidgeon 所说,您需要在订单中添加用户 ID table。由于 orderID 是唯一的,因此每个用户可以有多个订单。您不需要桥接这些 table。
您的 userType table 似乎是一个查询 table 并且应该有一个 userTypeID 字段作为主键,而不是 userID。然后将一个 UserTypeID 字段作为外键添加到您的用户 table.
请注意 table 名称应该是单数(用户、订单等)
在此设计之前,我的数据库模型没有 orderProducts
,这意味着 products
和 orders
之间存在多对多关系,因为 [=17] 中的所有字段=] 有订单。我是否使用连接点 table 正确解决了这个问题?此外,我不确定如何将 userType
table 与 table 相关联。谢谢。
orderProducts table 的解析很有意义,但您可以将 productName 排除在外(因为它可以来自 Product table)以减少数据冗余。同样,价格可以在产品 table.
中至于将用户与现有 table 相关联,请考虑用户与订单之间的关系 - 大概每个用户可以有多个订单,但每个订单只会有一个用户,所以你有一个 -从用户到订单的多对多关系,并且可以在订单 table.
中将 user_ID 作为 FK将 UserID 之类的内容添加到 orderProducts Table 中,然后您应该可以根据需要使用 SQL JOIN。
正如 Stidgeon 所说,您需要在订单中添加用户 ID table。由于 orderID 是唯一的,因此每个用户可以有多个订单。您不需要桥接这些 table。
您的 userType table 似乎是一个查询 table 并且应该有一个 userTypeID 字段作为主键,而不是 userID。然后将一个 UserTypeID 字段作为外键添加到您的用户 table.
请注意 table 名称应该是单数(用户、订单等)