实验7 数据库编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验7 数据库编程
1.用户状态(userstate)表
字段数据类型说明
usid int primary key
userstate varchar(20) not null
description varchar(250)
2.用户(user)表
字段数据类型说明
uid int primay key
name varchar(20) not null
sex bit 0-female,1-male,not null password varchar(8) not null
state int foreign key birthday出生日期datetime
3.书目类别(category)表
字段数据类型说明
cid int primary key category varchar(20) not null
description varchar(250)
4.书目(book)表
字段数据类型说明
bid int primay key
title varchar(50) not null
author varchar(50) not null
press varchar(8) not null
price float not null
category int foreign key
stock int not null
5.订单状态(orderstate)表
字段数据类型说明
osid int primary key orderstate varchar(20) not null
description varchar(250)
6.订单(order)表
字段数据类型说明
oid int primary key
user int foreign key
state int foreign key payment总付款float默认值为0
ordertime提交时间datetime
7.订单详情(orderbook)表
字段数据类型说明
orderid int primary key,foreign key
bookid int primary key,foreign key
quantity int
一、存储过程
使用相应SQL语句,完成如下操作:
1.新建一存储过程proc1,显示指定用户ID的订单信息列表(订单号、成交时间、订单总金额、订单状态及所有订单的平均金额),并成交时间降序排列。
2.新建一存储过程proc6,实现查询与指定用户ID购买过相同商品的用户及购买过相同商品的数量,并按照相同商品数量降序排列。
二、触发器
1.创建一触发器tg1,当往orderbook表中增加记录时,实现商品库存相应减少;当修改orderbook表中相应商品数量时,实现商品数量相应变动。
2.创建一触发器tg2,当往orderbook中增加记录时,如果商品库存量少于10,则不允许购买该商品,并给出相应提示。
3.新建图书订购情况统计表bookstas(包含图书编号、图书名称、图书类别、图书价格和订购册数,数据类型自定),并根据数据库的订单情况将社科类图书的订购情况插入表中。创建一触发器tg3,当往orderbook表中增加记录时,自动更新bookstas 表相应图书的统计信息。