javaweb蛋糕商城数据库
时间: 2024-12-30 16:22:02 浏览: 12
### JavaWeb 蛋糕商城数据库设计
#### 数据库表结构概述
为了构建一个完整的JavaWeb蛋糕商城系统,数据库的设计至关重要。该系统主要涉及多个实体及其关系,包括用户、商品、订单等。
- **用户表 (User)**:存储用户的个人信息以及账户详情。
- `id` INT PRIMARY KEY AUTO_INCREMENT,
- `username` VARCHAR(50),
- `password` CHAR(64), /* 密码应加密 */
- `email` VARCHAR(100),
- `phone_number` VARCHAR(20)
- **商品分类表 (Category)**:用于区分不同种类的商品。
- `category_id` INT PRIMARY KEY AUTO_INCREMENT,
- `name` VARCHAR(50),
- `description` TEXT
- **商品表 (Product)**:记录每种商品的具体信息。
- `product_id` INT PRIMARY KEY AUTO_INCREMENT,
- `title` VARCHAR(100),
- `price` DECIMAL(10, 2),
- `stock_quantity` INT DEFAULT 0,
- `image_url` VARCHAR(255),
- `details` TEXT,
- `category_id` INT FOREIGN KEY REFERENCES Category(category_id)[^1]
- **订单表 (Order)**:保存客户下单的信息。
- `order_id` INT PRIMARY KEY AUTO_INCREMENT,
- `user_id` INT NOT NULL,
- `total_amount` DECIMAL(10, 2),
- `status` ENUM('待付款', '已支付', '已完成'),
- `create_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
- `update_time` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP()
- **订单项表 (OrderItem)**:关联具体订单中的各个产品条目。
- `item_id` INT PRIMARY KEY AUTO_INCREMENT,
- `order_id` INT NOT NULL,
- `product_id` INT NOT NULL,
- `quantity` INT DEFAULT 1,
- `unit_price` DECIMAL(10, 2),
上述表格通过外键相互连接形成了一套合理的数据模型[^3]。
```sql
CREATE TABLE User (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
password CHAR(64),
email VARCHAR(100),
phone_number VARCHAR(20)
);
CREATE TABLE Category (
category_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
description TEXT
);
CREATE TABLE Product (
product_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100),
price DECIMAL(10, 2),
stock_quantity INT DEFAULT 0,
image_url VARCHAR(255),
details TEXT,
category_id INT,
FOREIGN KEY (category_id) REFERENCES Category(category_id)
);
CREATE TABLE Orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
total_amount DECIMAL(10, 2),
status ENUM('待付款', '已支付', '已完成') ,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP (),
update_time TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ()
);
CREATE TABLE OrderItem (
item_id INT PRIMARY KEY AUTO_INCREMENT,
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT DEFAULT 1,
unit_price DECIMAL(10, 2),
FOREIGN KEY (order_id) REFERENCES Orders(order_id),
FOREIGN KEY (product_id) REFERENCES Product(product_id)
);
```
阅读全文