小编tug*_*erk的帖子

在 SQL Server 中的表上有多个可为空的 FK 是否被认为是一种不好的做法

在我的 SQL Server 数据库结构中,我有 3 种类型的产品,它们需要有关订单的不同信息。因此,我创建了一张Customers表和三个不同的订单表:OrdersForProductAsOrdersForProductBsOrdersForProductCs。所有订单表在表上都有一对多的关系Customers

我还有另一张桌子,Payments里面有付款细节。但我在这里对如何构建它有疑问。

由于我有多种产品类型,并且客户可能同时订购多种产品,因此我需要将这三个订单表关联到Payments表。

另一个问题是客户可能只订购一种产品。因此,表上的 FK 列Payments需要为nullable.

我的问题是nullable,从长远来看,这些FK 专栏是否会让我头疼?一般来说,在表上拥有可为空的 FK 列是否被认为是一种不好的做法?

sql-server-2008 database-design sql-server sql-server-2008-r2

14
推荐指数
2
解决办法
4097
查看次数