小编Use*_*007的帖子

数据库表设计问题

首先,这里是数据库新手。我正在尝试创建一个系统,用于将销售订单处理为采购订单,然后将采购订单拆分为运输容器。系统需要能够将销售订单行项目拆分为 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)

database-design

7
推荐指数
1
解决办法
1980
查看次数

标签 统计

database-design ×1