django设计一个报价系统的数据库表结构,包括主键,外键,1对多,多对多,直接生成sql语句,可直接插入到mysql数据库中
时间: 2023-06-26 10:06:25 浏览: 191
对Django外键关系的描述
下面是一个简单的报价系统的数据库表结构设计:
1. 用户表(User)
| 字段名 | 数据类型 | 主键/外键 | 说明 |
| --- | --- | --- | --- |
| id | int | 主键 | 用户ID |
| username | varchar(50) | | 用户名 |
| password | varchar(50) | | 密码 |
| email | varchar(50) | | 邮箱 |
| phone | varchar(20) | | 电话 |
| address | varchar(200) | | 地址 |
2. 产品表(Product)
| 字段名 | 数据类型 | 主键/外键 | 说明 |
| --- | --- | --- | --- |
| id | int | 主键 | 产品ID |
| name | varchar(50) | | 产品名称 |
| description | text | | 产品描述 |
| price | decimal | | 产品价格 |
| image | varchar(200) | | 产品图片 |
| create_time | datetime | | 创建时间 |
3. 报价单表(Quote)
| 字段名 | 数据类型 | 主键/外键 | 说明 |
| --- | --- | --- | --- |
| id | int | 主键 | 报价单ID |
| user_id | int | 外键(User.id) | 用户ID |
| create_time | datetime | | 创建时间 |
4. 报价单明细表(QuoteItem)
| 字段名 | 数据类型 | 主键/外键 | 说明 |
| --- | --- | --- | --- |
| id | int | 主键 | 报价单明细ID |
| quote_id | int | 外键(Quote.id) | 报价单ID |
| product_id | int | 外键(Product.id) | 产品ID |
| quantity | int | | 产品数量 |
根据上述表结构设计,生成的 SQL 语句如下:
```sql
CREATE TABLE `User` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
`password` varchar(50) DEFAULT NULL COMMENT '密码',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`phone` varchar(20) DEFAULT NULL COMMENT '电话',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `Product` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '产品ID',
`name` varchar(50) DEFAULT NULL COMMENT '产品名称',
`description` text COMMENT '产品描述',
`price` decimal(10,2) DEFAULT NULL COMMENT '产品价格',
`image` varchar(200) DEFAULT NULL COMMENT '产品图片',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `Quote` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '报价单ID',
`user_id` int DEFAULT NULL COMMENT '用户ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `Quote_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `User` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `QuoteItem` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '报价单明细ID',
`quote_id` int DEFAULT NULL COMMENT '报价单ID',
`product_id` int DEFAULT NULL COMMENT '产品ID',
`quantity` int DEFAULT NULL COMMENT '产品数量',
PRIMARY KEY (`id`),
KEY `quote_id` (`quote_id`),
KEY `product_id` (`product_id`),
CONSTRAINT `QuoteItem_ibfk_1` FOREIGN KEY (`quote_id`) REFERENCES `Quote` (`id`),
CONSTRAINT `QuoteItem_ibfk_2` FOREIGN KEY (`product_id`) REFERENCES `Product` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
```
阅读全文