1
我有一个原始表:数据库设计:两个表相同的列,但不同的外键
CREATE TABLE [dbo].[tblSalesOrderPayment]
(
[PaymentID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[SalesOrderID] [int] NOT NULL,
[PaymentType] [int] NOT NULL,
[AmountPaid] [decimal](18, 2) NOT NULL,
[AmountTendered] [decimal](18, 2) NOT NULL,
[PaymentDate] [datetime] NOT NULL,
[Cashier] [int] NOT NULL,
[PaymentStatus] [bit] NOT NULL
)
..我设计了另一台这样
CREATE TABLE [dbo].[tblReturnOrderPayment]
(
[PaymentID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[ReturnOrderID] [int] NOT NULL,
[PaymentType] [tinyint] NOT NULL,
[AmountPaid] [decimal](18, 2) NOT NULL,
[AmountTendered] [decimal](18, 2) NOT NULL,
[PaymentDate] [datetime] NOT NULL,
[Cashier] [int] NOT NULL,
[PaymentStatus] [bit] NOT NULL
)
..正如你所看到的它具有相同数量的列和类型,但它们具有不同的外键。 tblSalesOrderPayment从tblSalesOrder的SalesOrderID和tblReturnOrderPayment从tblReturnOrder ReturnOrderID。
- 一旦销售订单已经恢复,所有的付款细节应转移到tblReturnOrderPayment,但我需要从tblSalesOrderPayment保持记录以供参考。
- 而一旦销售订单已经恢复,日后的款项将会被保存到tblReturnOrderPayment。
应该是什么这些表进行正确的设计?