给出以上设计的mysql代码
时间: 2024-02-27 10:55:45 浏览: 85
mysql代码范例
好的,以下是根据上述设计思路编写的 MySQL 代码:
1. 创建产品表
```
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL COMMENT '产品名称',
`unit` varchar(20) NOT NULL COMMENT '计量单位',
`initial_stock` int(11) NOT NULL COMMENT '初始库存',
`stock_upper_limit` int(11) NOT NULL COMMENT '库存上限',
`stock_lower_limit` int(11) NOT NULL COMMENT '库存下限',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品表';
```
2. 创建入库单表
```
CREATE TABLE `inbound_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL COMMENT '产品id',
`quantity` int(11) NOT NULL COMMENT '入库数量',
`date` date NOT NULL COMMENT '入库日期',
PRIMARY KEY (`id`),
KEY `product_id` (`product_id`),
CONSTRAINT `inbound_order_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='入库单表';
```
3. 创建出库单表
```
CREATE TABLE `outbound_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL COMMENT '产品id',
`quantity` int(11) NOT NULL COMMENT '出库数量',
`date` date NOT NULL COMMENT '出库日期',
PRIMARY KEY (`id`),
KEY `product_id` (`product_id`),
CONSTRAINT `outbound_order_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出库单表';
```
4. 创建借出单表
```
CREATE TABLE `borrow_order` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL COMMENT '产品id',
`quantity` int(11) NOT NULL COMMENT '借出数量',
`borrow_date` date NOT NULL COMMENT '借出日期',
`return_date` date DEFAULT NULL COMMENT '归还日期',
PRIMARY KEY (`id`),
KEY `product_id` (`product_id`),
CONSTRAINT `borrow_order_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='借出单表';
```
5. 创建库存变更表
```
CREATE TABLE `stock_change` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL COMMENT '产品id',
`quantity` int(11) NOT NULL COMMENT '变更数量',
`date` date NOT NULL COMMENT '变更日期',
`type` varchar(20) NOT NULL COMMENT '变更类型',
PRIMARY KEY (`id`),
KEY `product_id` (`product_id`),
CONSTRAINT `stock_change_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存变更表';
```
6. 创建统计表
```
CREATE TABLE `statistics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL COMMENT '产品id',
`year` int(11) NOT NULL COMMENT '年份',
`month` int(11) NOT NULL COMMENT '月份',
`inbound_quantity` int(11) NOT NULL COMMENT '入库数量',
`outbound_quantity` int(11) NOT NULL COMMENT '出库数量',
`borrow_quantity` int(11) NOT NULL COMMENT '借出数量',
`return_quantity` int(11) NOT NULL COMMENT '归还数量',
`stock_quantity` int(11) NOT NULL COMMENT '库存数量',
PRIMARY KEY (`id`),
KEY `product_id` (`product_id`),
CONSTRAINT `statistics_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统计表';
```
7. 创建用户表
```
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(50) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
```
8. 创建权限表
```
CREATE TABLE `permission` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL COMMENT '用户id',
`permission` varchar(50) NOT NULL COMMENT '权限',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `permission_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限表';
```
以上是一个简单的数据库设计,具体实现需要根据实际需求进行调整。
阅读全文