首先,这里是数据库新手。我正在尝试创建一个系统,用于将销售订单处理为采购订单,然后将采购订单拆分为运输容器。系统需要能够将销售订单行项目拆分为 2 个或更多采购订单,将采购订单行项目拆分为 2 个或更多运输容器。
会有一些(很多)来回调整,一旦销售订单行项目被拆分并放入多个采购订单,它可能会在以后以不同的方式拆分。当采购订单行项目被处理成运输容器时也是如此。我一生都无法最好地处理这个操作。
如果有帮助,这里是我到目前为止的表格,为简洁起见,排除了一些细节:
CREATE TABLE PurchaseOrder (
Id INTEGER UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
PurchaseOrderNumber VARCHAR(15) UNIQUE,
PRIMARY KEY(Id)
);
CREATE TABLE Container (
Id INTEGER UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
ContainerName VARCHAR(20) UNIQUE,
PurchaseOrderId INTEGER UNSIGNED,
PRIMARY KEY(Id),
FOREIGN KEY(PurchaseOrderId) REFERENCES PurchaseOrder(Id),
);
CREATE TABLE SalesOrder (
Id INTEGER UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
ClientId INTEGER UNSIGNED,
SalesOrderNumber VARCHAR(10),
PRIMARY KEY(Id),
FOREIGN KEY(ClientId) REFERENCES Client(Id)
);
CREATE TABLE SalesOrderLineItem (
Id INTEGER UNSIGNED UNIQUE NOT …
Run Code Online (Sandbox Code Playgroud)