首页 > 解决方案 > 数据库设计 SQL 和转换表

问题描述

我正在从事 SQL 的学术作业,我需要一些帮助来从更大的表模式中安排转换表。我的任务是为以下模式创建转换表:销售模式

这个问题特别问: 在这个数据库设计中哪些表可能被认为是转换表?仅为转换表提供表模式。

我不确定如何处理更大模式的转换表。到目前为止,我想出了:

TransTable1(ReceiptNumber, Prod_ID, SalesCode)
Primary Key: SalesCode
Foreign Key: ReceiptNumber

TransTable2(Invoice_Number, Item_Number, Prod_ID)
Primary Key: SalesCode
Foreign Key: ReceiptNumber

标签: mysqlsql

解决方案


表 Invoice 和 Invoice_Item 可以做成一张转换表,Inventory_Item 和 Inventory_Product 可以做成一张转换表。这是因为写在任何一个表上的触发器语句会直接影响另一个表。例如,Invoice 上的触发器直接影响 Invoice_Item。转换表可以设为只读。

CREATE TRIGGER Invoice_Trigger AFTER UPDATE OF Quantity_Added ON Invoice_Item REFERENCING Invoice_Item AS N_TABLE NEW AS N_ROW FOR EACH ROW WHEN ((SELECT Item_Number FROM N_TABLE) > (*trigger condition comes here*) BEGIN ATOMIC VALUES(INFORM_SUPERVISOR(N_ROW.Item_Number, N_ROW.Quantity_Added, N_ROW.Invoice_Number)); END


推荐阅读