进销存数据库设计sql
时间: 2024-08-31 13:00:41 浏览: 91
进销存数据库设计通常包含商品信息、库存信息、进货信息、销售信息等关键模块。以下是一个简化版的进销存数据库设计的SQL示例,包括了一些基本的表和字段设计。
```sql
-- 创建商品信息表
CREATE TABLE products (
product_id INT PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(100) NOT NULL,
product_price DECIMAL(10, 2) NOT NULL,
product_desc TEXT,
product_category VARCHAR(50),
create_time DATETIME,
update_time DATETIME
);
-- 创建库存信息表
CREATE TABLE inventory (
inventory_id INT PRIMARY KEY AUTO_INCREMENT,
product_id INT,
quantity INT NOT NULL,
location VARCHAR(50),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
-- 创建进货信息表
CREATE TABLE purchases (
purchase_id INT PRIMARY KEY AUTO_INCREMENT,
product_id INT,
purchase_date DATETIME NOT NULL,
purchase_quantity INT NOT NULL,
purchase_price DECIMAL(10, 2) NOT NULL,
supplier_id INT,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
-- 创建销售信息表
CREATE TABLE sales (
sale_id INT PRIMARY KEY AUTO_INCREMENT,
product_id INT,
sale_date DATETIME NOT NULL,
sale_quantity INT NOT NULL,
sale_price DECIMAL(10, 2) NOT NULL,
customer_id INT,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
-- 创建供应商信息表
CREATE TABLE suppliers (
supplier_id INT PRIMARY KEY AUTO_INCREMENT,
supplier_name VARCHAR(100) NOT NULL,
contact_name VARCHAR(100),
contact_phone VARCHAR(20),
address TEXT,
create_time DATETIME,
update_time DATETIME
);
-- 创建客户信息表
CREATE TABLE customers (
customer_id INT PRIMARY KEY AUTO_INCREMENT,
customer_name VARCHAR(100) NOT NULL,
contact_name VARCHAR(100),
contact_phone VARCHAR(20),
address TEXT,
create_time DATETIME,
update_time DATETIME
);
```
这些表的结构提供了进销存系统中最基础的数据模型。在实际应用中,可能还需要添加更多的字段和表,比如员工信息、订单详情、退货记录等,以满足更复杂的业务需求。同时,还需要考虑表之间的关系,如一对多、多对多的关系,并设计相应的外键约束来保证数据的完整性。
阅读全文