IS214

数据库原理课程项目——电商平台模拟

关系与属性:

customers(user):

​ customerId primary key auto_increment

​ balance

​ customerCredit

customersBlacklist: 用于记录信用为负数的顾客

​ customerId

ecshop:

​ ecshopId primary key auto_increment;

​ discount

​ isOnSale

​ ecshopCredit

​ ecshopProfit 商家的盈利

ecshopBlacklist: 用于记录credit为负数的商家

​ ecshopId

product: 产品库,存放所有产品

​ productId

​ ecshopId 此二者均为主码

​ productprice

​ productNumber 剩余产品数目

PaymentRecord:

​ paymentId 主码

​ customerId

​ ecshopId

​ productId

​ customerState 记录商家此次交易中是否没有出现问题

​ ecshopState 记录顾客在此次交易中是否没有出现问题

​ payment 此次交易的金额

trigger 内容:

1.当更新商店信息不为 isOnSale 时,将商店折扣取消

2.当用户金额不足时,抛出异常

3.当用户金额足够,检测交易双方是否出现问题,更新双方信用

4.当用户或商店信用不足(小于0)时,将用户Id和商店Id拉入黑名单,并从用户表和商店表中删除用户、商店

5.当交易成功时,更新商品库的商品数目

6.当交易成功时,更新商店profit与用户余额

procedure 内容:

1.用户购买商品时,检测用户Id是否存在或商铺Id是否存在(包括检查二者是否在黑名单中),若不存在,抛出异常终止交易

这里关于用户的state和商铺的state是随机数

2.商铺更新产品的数目(进货)

3.商铺更新产品种类,并进货

4.商铺更新自己的活动与折扣

5.创建用户

待增加的功能:

procedure:

5.建立店铺

6.加入用户