刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(25分)阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。【说明】某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票。开发小组经过设计,给出该系统的部分关系模式如下:航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价)代理商(代理商编号,代理商名称,客服电话,地址,负责人)机票代理(代理商编号,航班编号,票价)旅客(身份证号,姓名,性别,出生日期,电话)购票(购票单号,身份证号,航班编号,搭乘日期,购票金额)在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很差。为此开发小组将机票代理关系模式进行了扩充,结果为:机票代理(代理商编号,航班编号,代理商名称,客服电话,票价)这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。
【问题1】(6分)机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询效率。但这种修改导致机票代理关系模式不满足3NF,会带来存储异常的问题。
1)请具体说明其问题,并举例说明。

2)这种存储异常会造成数据不一致,请给出解决该存储异常的方案。

【问题2】(9分)

在机票销售信息处理系统中,两个代理商的售票并发执行,可能产生的操作序列如表4-1所示。



假设两个代理商执行之前,该航班仅剩1张机票。

1)请说明上述两个代理商操作的结果。

2)并发操作会带来数据不一致的问题,请具体说明3种问题。

【问题3】(10分)

为了避免问题2中的问题,开发组使用库的读写锁机制,操作序列变为表4-2所示。



使用微信搜索喵呜刷题,轻松应对考试!

答案:

见解析

解析:

问题一主要是关于数据库设计中的范式问题以及修改可能导致的数据存储异常问题。关于答案部分:
(1)机票代理关系模式的修改确实导致了不满足第三范式(3NF)的问题。不满足第三范式会产生数据的冗余和修改异常。例如,代理商的名称和客服电话在机票代理关系模式中会重复存储,导致数据冗余。当需要修改代理商的名称或客服电话时,必须在所有相关的元组中进行修改,否则会出现数据不一致的问题,这就是修改异常。
(2)为了解决这种存储异常造成的数据不一致问题,可以采取一些策略。其中一种可能的解决方案是使用触发器。触发器可以在数据发生更改时自动执行某些操作。在这个案例中,可以在代理商关系模式上加一个触发器,当代理商的信息发生变化时,自动更新机票代理关系模式中的相应信息,从而保持数据的一致性。

问题二:

创作类型:
原创

本文链接:试题四(25分)阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。【说明】某航空公司要开发

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share