这个README.md想改的把改动一起附在PR里
数据库大作业,一个简单的电商平台,采用前后端分离的设计。系统模块采用总-分式设计,以角色做区分,包括:
- 登录界面
- 用户登录
- 商城首页
- 购物车
- 订单管理
- 商户登录
- 商品管理
- 供货商管理
- 供货商登录
- 货物管理
- 客户管理
- 平台登录
- 总体管理
其中商户-供货商-平台登录采用相同前端界面设计
数据库设计图
UML类图
老师提的验收要点
- 数据表符合规范
- 数据库设置
- 权限管理
- 硬件环境:单机云服务器
| 硬件 | 说明 |
|---|---|
| CPU | Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz |
| 内存 | 4GiB System Memory |
| 磁盘 | normal 79GiB EXT4 volume |
- 系统:windows 10/11
- 语言:java、JavaScript-Vue
- 工具:IDEA、Navicat、Git
- 项目构建:Maven 3.5.2
- 数据库:MySQL 8.0
选择MySQL 8.0的原因:
开源、经典,资料多,构建方便,功能完备(支持角色权限管理),balabala
- Vue生态
- SpringBoot
- Mybatis
中文
| 表名 | 属性 | 备注 |
|---|---|---|
| 客户 | 账号、密码、余额、地址 | |
| 商品 | ID、商品名称、图片url, 价格, 数量, 所有者 | |
| 商家 | 账号、密码、店铺名 | |
| 供应商 | 账号、密码、公司名 | |
| 购物车 | 客户账号、商品ID、数量 | |
| 订单 | 订单ID、客户账号、商家账号、商品ID、购买数量、是否支付、支付金额、成交时间 | |
| 已发布商品 | 商品ID、商家账号、发布时间 | |
| 货单 | 货单ID、商家账号、供货商账号、商品ID、购买数量、支付金额、成交时间 | |
| 管理员 | 账号、密码 | 不知道需不需要这个表 |
English
| Name | Attribute | Note |
|---|---|---|
| costumers | account, password, balacnce, address | |
| commodities | ID, name, url, price, amount, owner | |
| shops | account, password, name | |
| suppliers | account, password, name | |
| shopping_car | co_account, com_ID, amount | |
| orders | ID, co_account, sh_account, com_ID, amount, is_pay, total, time | |
| online_commodity | com_ID, sh_account, time | |
| contracts | ID, sh_account, su_account, com_ID, amount, total, time | |
| administrator | account, password | not for sure |
中文
| 角色名 | 权限 | 备注 |
|---|---|---|
| 客户 | 查改(客户, {密码、余额、地址}) 增删查改(购物车, {客户账号、商品ID、数量}) 增查(订单, {订单ID、客户账号、商家账号、商品ID、购买数量、是否支付、支付金额、成交时间}) 改(订单, {是否支付}) 增删查(商品, {ID, 价格, 数量}) |
能够对客户表、购物车表有主动更改权限,对有被动更改权限 |
| 商家 | 查改(商户, {密码、店铺名}) 增删查(已发布商品, {商品ID、商家账号、发布时间、商品数量}) 增查(货单, {货单ID、商家账号、供货商账号、商品ID、购买数量、支付金额、成交时间}) 增删查改(商品, {商品名称, 图片url, 价格, 数量}) |
能够对商家表,已发布商品表有主动更改权限,对货单表、商品表有被动更改权限 |
| 供应商 | 查改(商户, {密码、店铺名} 增删查改(商品, {商品名称, 价格, 数量}) |
能够对供应商表,商品表有主动更改权限 |
| 管理员 | 全表增删查改 |
English
| Name | Privilege | Note |
|---|---|---|
| costumer | SELECT,UPDATE(costumers, {password, balacnce, address}) INSERT,DELETE,SELECT,UPDATE(shopping_car, {co_account, com_ID, amount}) INSERT,SELECT(orders, {ID, co_account, sh_account, com_ID, amount, is_pay, total, time}) UPDATE(orders, {is_pay}) INSERT,DELETE,SELECT(commodities, {ID, name, url, price, amount, owner}) |
same as above |
| shop | SELECT,UPDATE(shops, {password, name}) INSERT,DELETE,SELECT(online_commodity, {com_ID, sh_account, time, amount}) INSERT,SELECT(contracts, {ID, sh_account, su_account, com_ID, amount, total, time}) INSERT,DELETE,SELECT,UPDATE(commodities, {name, url, price, amount}) |
same as above |
| supplier | SELECT,UPDATE(suppliers, {password, name}) INSERT,DELETE,SELECT,UPDATE(commodities, {name, price, amount}) |
same as above |
| administrator | root |
在MySQL中使用SHOW STATUS能够查看MySQL数据库的性能参数,我们可以根据这些性能参数来了解MySQL数据库的状态,并制定合理的优化策略。一共有356个。
使用EXPLAIN可列举出查询语句的算子调用栈,查看查询性能瓶颈,对频繁调用的语句进行调优。
对常用数据表建立索引,虽然占内存,但是很提升性能
一主一备
| 时间 | 规划 | 备注 |
|---|---|---|
| 5/27, 5/28, 5/29, 5/30, 5/31, 6/1, 6/2, 6/5, 6/12 | 完成基础功能开发 | 共9天 |
| 6/13, 6/14, 6/15, 6/16 | 对接口&debug | |
| 6/17, 6/18 | 写文档 |
- 登录系统接口定义和对接
- 客户添加购物车接口定义和对接
- 客户结算订单接口定义和对接
- 客户订单管理接口定义和对接
- 商户商品管理接口定义和对接
- 商户客户管理接口定义和对接
- 供应商商品管理接口定义和对接
- 供应商商户管理接口定义和对接
- 登录
- 用户登录、商户登录、供应商登录进入不同页面
- 用户
- 更改账号、密码、地址
- 添加商品到购物车
- 购物车结算生成订单
- 订单查看、订单支付
- 商户
- 更改账号、密码、店铺名
- 发布、删除商品
- 从供应商进货(不一定)
- 查看所有具有合作关系的供应商信息
- 供应商
- 更改账号、密码、公司名
- 向商户供货(不一定)
- 查看所有具有合作关系的商户信息
以下文章都是我们自己写的
有用什么东西就些什么东西,这种用来报告灌水即好看又方便
数据库容器创建&运行
docker run -d --name mysql_ex1 -v /home/shopping:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 12312:22 -p 3366:3306 mysql:8.0这里也很好灌水
根据报告书写要求,增加团队分工表格
| 姓名 | 负责模块 | 特点 |
|---|---|---|
| 廖温建 | ||
| 李一奔 | ||
| 林广兰 | ||
| 孙文祥 | ||
| 张哲 |
