Thứ nhất, cơ sở dữ liệu người mới ở đây. Tôi đang cố gắng tạo một hệ thống để xử lý Đơn đặt hàng thành Đơn đặt hàng và sau đó chia Đơn đặt hàng thành Container vận chuyển. Các hệ thống cần có thể chia Mục hàng đơn hàng thành 2 đơn hàng trở lên và Mục hàng đơn hàng mua thành 2 hoặc nhiều Container vận chuyển.
Sẽ có một số (rất nhiều) điều chỉnh qua lại trong đó một khi Mục hàng của Đơn đặt hàng được phân tách và đưa vào nhiều Đơn đặt hàng, nó có thể được phân chia khác nhau sau này. Và tương tự khi một Mục hàng Đơn đặt hàng được xử lý thành Container vận chuyển. Cả đời tôi không thể xử lý tốt nhất hoạt động này.
Nếu nó hữu ích, đây là các bảng tôi có cho đến nay với một số chi tiết bị loại trừ cho ngắn gọn:
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 NULL AUTO_INCREMENT,
SalesOrderId INTEGER UNSIGNED,
ProductId INTEGER UNSIGNED,
Qty INTEGER,
Price DECIMAL(5,2),
Cost DECIMAL(5,2),
PRIMARY KEY(Id),
FOREIGN KEY(SalesOrderId) REFERENCES SalesOrder(Id),
FOREIGN KEY(ProductId) REFERENCES Product(Id)
);
CREATE TABLE PurchaseOrderLineItem (
Id INTEGER UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
PurchaseOrderId INTEGER UNSIGNED,
SalesOrderId INTEGER UNSIGNED,
ProductId INTEGER UNSIGNED,
ClientId INTEGER UNSIGNED,
MfgId INTEGER UNSIGNED,
PRIMARY KEY(Id),
FOREIGN KEY(PurchaseOrderId) REFERENCES PurchaseOrder(Id),
FOREIGN KEY(SalesOrderId) REFERENCES SalesOrder(Id),
FOREIGN KEY(ProductId) REFERENCES SalesOrder(Id),
FOREIGN KEY(ClientId) REFERENCES Client(Id),
FOREIGN KEY(MfgId) REFERENCES Mfg(Id)
);
Tôi đang suy nghĩ để tạo các bảng kết hợp bổ sung giữa Mục hàng đơn hàng và Đơn đặt hàng mua và để mua Mục hàng và bộ chứa đơn hàng để theo dõi loại chia tách và trả lại này?
Giúp đánh giá cao!