在我的 SQL Server 数据库结构中,我有 3 种类型的产品,它们需要有关订单的不同信息。因此,我创建了一张Customers表和三个不同的订单表:OrdersForProductAs、OrdersForProductBs、OrdersForProductCs。所有订单表在表上都有一对多的关系Customers。
我还有另一张桌子,Payments里面有付款细节。但我在这里对如何构建它有疑问。
由于我有多种产品类型,并且客户可能同时订购多种产品,因此我需要将这三个订单表关联到Payments表。
另一个问题是客户可能只订购一种产品。因此,表上的 FK 列Payments需要为nullable.
我的问题是nullable,从长远来看,这些FK 专栏是否会让我头疼?一般来说,在表上拥有可为空的 FK 列是否被认为是一种不好的做法?
sql-server-2008 database-design sql-server sql-server-2008-r2