MySQL设计工厂管理数据库(Ⅰ)—表结构设计
时间: 2023-11-21 15:05:44 浏览: 66
作为一个工厂,其管理数据库的设计需要考虑到生产、仓储、销售等方面。下面是一个MySQL设计工厂管理数据库的表结构设计。
1. 员工表
员工表记录了工厂所有员工的基本信息,包括员工编号、姓名、性别、出生日期、身份证号、电话号码、所属部门、职位、入职日期、离职日期等。
CREATE TABLE employee (
emp_id int(11) NOT NULL AUTO_INCREMENT,
emp_name varchar(50) NOT NULL,
emp_gender varchar(10) NOT NULL,
emp_birthday date NOT NULL,
emp_idcard varchar(20) NOT NULL,
emp_phone varchar(20) NOT NULL,
emp_department varchar(50) NOT NULL,
emp_position varchar(50) NOT NULL,
emp_hiredate date NOT NULL,
emp_leavedate date DEFAULT NULL,
PRIMARY KEY (emp_id)
);
2. 产品表
产品表记录了工厂生产的产品信息,包括产品编号、产品名称、产品类型、产品规格、单位、单价、生产日期、保质期等。
CREATE TABLE product (
prod_id int(11) NOT NULL AUTO_INCREMENT,
prod_name varchar(50) NOT NULL,
prod_type varchar(50) NOT NULL,
prod_spec varchar(50) NOT NULL,
prod_unit varchar(10) NOT NULL,
prod_price decimal(10,2) NOT NULL,
prod_proddate date NOT NULL,
prod_shelflife int(11) NOT NULL,
PRIMARY KEY (prod_id)
);
3. 原料表
原料表记录了工厂所使用的原料信息,包括原料编号、原料名称、原料类型、原料规格、单位、单价等。
CREATE TABLE material (
mat_id int(11) NOT NULL AUTO_INCREMENT,
mat_name varchar(50) NOT NULL,
mat_type varchar(50) NOT NULL,
mat_spec varchar(50) NOT NULL,
mat_unit varchar(10) NOT NULL,
mat_price decimal(10,2) NOT NULL,
PRIMARY KEY (mat_id)
);
4. 仓库表
仓库表记录了工厂的所有仓库信息,包括仓库编号、仓库名称、仓库地址等。
CREATE TABLE warehouse (
wh_id int(11) NOT NULL AUTO_INCREMENT,
wh_name varchar(50) NOT NULL,
wh_address varchar(100) NOT NULL,
PRIMARY KEY (wh_id)
);
5. 入库表
入库表记录了原料或成品的入库信息,包括入库编号、入库时间、入库商品类型、入库数量、入库仓库等。
CREATE TABLE instock (
in_id int(11) NOT NULL AUTO_INCREMENT,
in_time datetime NOT NULL,
in_type varchar(10) NOT NULL,
in_count int(11) NOT NULL,
in_warehouse int(11) NOT NULL,
PRIMARY KEY (in_id),
FOREIGN KEY (in_warehouse) REFERENCES warehouse (wh_id)
);
6. 出库表
出库表记录了成品的出库信息,包括出库编号、出库时间、出库商品类型、出库数量、出库仓库,以及销售信息等。
CREATE TABLE outstock (
out_id int(11) NOT NULL AUTO_INCREMENT,
out_time datetime NOT NULL,
out_type varchar(10) NOT NULL,
out_count int(11) NOT NULL,
out_warehouse int(11) NOT NULL,
sale_id int(11) DEFAULT NULL,
PRIMARY KEY (out_id),
FOREIGN KEY (out_warehouse) REFERENCES warehouse (wh_id),
FOREIGN KEY (sale_id) REFERENCES sale (sale_id)
);
7. 销售表
销售表记录了工厂的销售信息,包括销售编号、销售时间、销售员工、销售数量、销售金额等。
CREATE TABLE sale (
sale_id int(11) NOT NULL AUTO_INCREMENT,
sale_time datetime NOT NULL,
sale_employee int(11) NOT NULL,
sale_count int(11) NOT NULL,
sale_amount decimal(10,2) NOT NULL,
PRIMARY KEY (sale_id),
FOREIGN KEY (sale_employee) REFERENCES employee (emp_id)
);
8. 出库明细表
出库明细表记录了每个销售订单的成品出库信息,包括订单编号、出库编号、出库数量等。
CREATE TABLE outstock_detail (
order_id int(11) NOT NULL,
out_id int(11) NOT NULL,
od_count int(11) NOT NULL,
PRIMARY KEY (order_id,out_id),
FOREIGN KEY (order_id) REFERENCES sale (sale_id),
FOREIGN KEY (out_id) REFERENCES outstock (out_id)
);
以上是MySQL设计工厂管理数据库的表结构设计,需要根据具体情况进行调整和扩展。