销售订单标准化

问题描述 投票:0回答:1

enter image description here

我想标准化这个数据库。

我这样做了:

(sales_order_num为主键,sales_order_date,clerk_num,clerk_name,cus_number作为外键,order_total)

((sales_order_num 作为外键,item_order 作为外键,两者作为复合主键)

(item_order为主键,描述,数量,unite_price,总计)

(cust_number为主键,cust_name,cust_address)

sql database-design database-normalization
1个回答
0
投票

如果您想为销售订单创建标准化数据库,您可以从考虑 5 个表开始:

  1. 客户:这将存储客户数据,其表结构如下:
CREATE TABLE Customer (
    Id INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(255),
    Address VARCHAR(255)
);
  1. 职员:这将存储职员数据,其表结构如下:
CREATE TABLE Clerk (
    Id INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(255)
);
  1. Items:这将存储项目数据,其表结构如下所示:
CREATE TABLE Item (
    Id INT PRIMARY KEY AUTO_INCREMENT,
    Description VARCHAR(255),
    UnitPrice DECIMAL(10, 2)
);
  1. 销售订单:这将存储销售订单数据,其表结构如下:
CREATE TABLE SalesOrder (
    Id INT PRIMARY KEY AUTO_INCREMENT,
    CustomerID INT,
    OrderDate DATE,
    ClerkID INT,
    FOREIGN KEY (CustomerID) REFERENCES Customer(Id),
    FOREIGN KEY (ClerkID) REFERENCES Clerk(Id)
);

销售订单是您的主订单表,其中包含客户和职员 ID 作为外键

  1. 销售订单详细信息:这将存储每个订单的详细数据,其表结构如下:
CREATE TABLE SalesOrderDetail (
    Id INT PRIMARY KEY AUTO_INCREMENT,
    SalesOrderID INT,
    ItemID INT,
    Quantity INT,
    Total DECIMAL(10, 2),
    FOREIGN KEY (SalesOrderID) REFERENCES SalesOrder(SalesOrderID),
    FOREIGN KEY (ItemID) REFERENCES Item(ItemID)
);

销售订单详细信息是您的订单详细信息表,由销售订单(主表)和作为外键的项目 ID 组成

这个结构将帮助你实现3NF

© www.soinside.com 2019 - 2024. All rights reserved.