数据库实验八:水果商店综合

一、实验要求

1.根据实验一~五描述其应用需求(可根据题来说明)
2.设计并绘出此数据库的E-R图
3.将E-R图转换成关系模式
4.针对已给定的数据库及应用需求,提出优化或改进措施并实现(至少三项)。

二、实验内容

1.应用需求

实验一:创建数据库fruitshop及用户、水果、订单等相关信息的数据表,用以展示数据及进行导入导出等操作。
实验二:利用简单查询和多表查询,可快速从数据库中查找到所需要的信息。
实验三:能够根据实际需要创建不同的用户并授以不同的权限,方便系统管理;且能针对不同级别的用户定义不同的视图,以保证系统的安全性。
实验四:创建存储过程、游标,通过属性匹配,在表中实现自动操作。
实验五:添加触发器对表中数据进行操作,免于手工启动,由事件来触发,更加灵活方便,且保证了数据完整性。

2.E-R图

在这里插入图片描述

3.关系模式

客户(客户编号,客户名,客户地址,城市,邮编,联系人,电子邮箱)
订单(订单号,订单项,购入数量,单价)
水果(水果编号,水果名,价格,库存数量)
供应商(供应商编号,供应商名,城市,邮编,电话)
提交(订购日期,客户编号,订单号)
订购(订单号,订单项,水果编号)
提供(供应商编号,水果编号)

4.功能改进

①查询当前销量最好的水果,考虑下次增加其进货量。
源码:

SELECT* FROM(
	SELECT f_id,sum(quantity) FROM orderitems
	GROUP BY f_id
	ORDER BY sum(quantity) DESC)s LIMIT 1

运行截图:
在这里插入图片描述
②限制每一位客户每次购买的水果不能超出库存量。
源码:

CREATE TRIGGER lim_fruits BEFORE INSERT ON fruits FOR EACH ROW 
	BEGIN
		DECLARE f_quantity INT;
		SELECT quantity INTO f_quantity FROM fruits WHERE fruits.f_id=new.f_id;
		IF f_quantity<new.quantity THEN
			SIGNAL SQLSTATE 'HY000' SET message_text='购买数量不得超过商品库存!';
		END IF;

	END

运行截图:
在这里插入图片描述
③在customers表中直接展示客户已购买订单得总价格。
源码:

ALTER TABLE customers
ADD ex_price DECIMAL(8,2)

CREATE PROCEDURE add_price()
	BEGIN
	DECLARE ex_num INT;
	DECLARE ex_price decimal(8,2); 
	DECLARE ex_update CURSOR FOR SELECT sum(pay) AS ex_sum FROM orders;
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET ex_num=1;
	SET ex_num=0;

OPEN ex_update;
FETCH next FROM ex_update INTO ex_price;
WHILE (ex_num=0) DO
	UPDATE customers SET ex_price =(SELECT sum(pay)AS ex_sum FROM orders
	WHERE orders.c_id = customers.c_id);

FETCH next FROM ex_update INTO ex_price;

END WHILE;

CLOSE ex_update;
END

运行截图:
在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
利用Transformer实现自回归机制来生成给定词语排列出的真实句子序列是可行的。Transformer模型在自然语言处理领域广泛应用,并在生成任务中取得了很好的效果。以下是评价可行性和改进的一些考虑: 1. 可行性评价: - 自回归机制:Transformer模型中的解码器可以采用自回归机制,即将已生成的词语作为输入,生成下一个词语,从而逐步生成完整的句子序列。 - 上下文理解:Transformer模型通过自注意力机制,能够捕捉输入句子中的上下文信息,从而生成具有一定上下文连贯性的句子序列。 - 生成多样性:通过训练大量对话数据,模型可以学习到不同的句式和表达方式,从而实现生成多样性的句子序列。 2. 改进方向: - 提高生成质量:可以增加模型的深度和宽度,使用更多的注意力头或增加层级,以提高生成句子序列的质量。 - 控制生成风格:通过引入条件信息或设计合适的输入表示,可以控制生成句子序列的风格和特征。 - 解决信息丢失和重复问题:可以引入更长的上下文信息,如上下文编码器或全局注意力机制,来避免生成过程中信息丢失或重复的问题。 - 更好的训练数据和筛选:使用高质量的对话数据集,并进行筛选和预处理,可以提高生成结果的准确性和流畅性。 - 结合其他技术:可以结合强化学习方法,如强化学习的指导生成策略,或者结合预训练模型来初始化Transformer模型。 总而言之,利用Transformer实现自回归机制来生成给定词语排列出的真实句子序列是可行的。通过改进模型结构、增加训练数据和筛选、优化训练方法等手段,可以进一步提升生成质量和多样性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moonee_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值