餐厅点餐管理系统mysql
时间: 2024-12-31 15:28:06 浏览: 9
### 餐厅点餐管理系统 MySQL 数据库设计
#### 表结构设计
为了实现一个高效的餐厅点餐管理系统,数据库的设计至关重要。以下是几个核心表及其字段说明:
- **用户表 (users)**
存储系统用户的个人信息。
| 字段名 | 类型 | 描述 |
|------------|-------------|-------------------|
| user_id | INT(11) | 用户唯一标识 |
| username | VARCHAR(50) | 登录用户名 |
| password | CHAR(32) | MD5 加密后的密码 |
| email | VARCHAR(100)| 用户邮箱 |
```sql
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
password CHAR(32),
email VARCHAR(100)
);
```
- **菜单项表 (menu_items)**
记录所有可供选择的食物条目。
| 字段名 | 类型 | 描述 |
|---------------|-------------|--------------------|
| item_id | INT(11) | 菜单项唯一标识 |
| name | VARCHAR(100)| 名字 |
| description | TEXT | 简介 |
| price | DECIMAL(8,2)| 单价 |
| category_id | INT(11) | 所属分类 ID |
```sql
CREATE TABLE menu_items (
item_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
description TEXT,
price DECIMAL(8,2),
category_id INT
);
```
- **订单表 (orders)**
维护顾客提交的每一个订单的信息。
| 字段名 | 类型 | 描述 |
|--|---------------------|
| order_id | INT(11) | 订单编号 |
| user_id | INT(11) | 下单者 ID |
| total_price | DECIMAL(8,2)| 总金额 |
| status | ENUM('pending', 'completed') | 订单状态 |
| created_at | TIMESTAMP | 创建时间戳 |
```sql
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
total_price DECIMAL(8,2),
status ENUM('pending', 'completed'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
- **订单详情表 (order_details)**
关联具体订单中的各个菜品以及数量。
| 字段名 | 类型 | 描述 |
|---------------|-------------|-------------------------|
| detail_id | INT(11) | 明细记录唯一标识 |
| order_id | INT(11) | 对应订单 ID |
| item_id | INT(11) | 商品 ID |
| quantity | SMALLINT | 数量 |
| sub_total | DECIMAL(8,2)| 小计 |
```sql
CREATE TABLE order_details (
detail_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
item_id INT,
quantity SMALLINT,
sub_total DECIMAL(8,2)
);
```
这些表格共同构成了基本的数据模型,支持了从浏览菜单到完成支付整个流程的功能需求[^4]。
阅读全文