• 2016(4)数据库系统,ER模型,规范化理论,并发控制


    试题四(共25分)

    阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。

        某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票。开发小组经过设计,给出该系统的部分关系模式如下:

        航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价)

        代理商(代理商编号,代理商名称,客服电话,地址,负责人)

        机票代理(代理商编号,航班编号,票价)

        旅客(身份证号,姓名,性别,出生日期,电话)

        购票(购票单号,身份证号,航班编号,搭乘日期,购票金额)

        在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很差。为此开发小组将机票代理关系模式进行了扩充,结果为:

        机票代理(代理商编号,航班编号,代理商名称,客服电话,票价)

        这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。

    【问题1】(6分)

    机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询 效率。但这种修改导致机票代理关系模式不满足3NF,会带来存储异常的问题。

    1)请具体说明其问题,并举例说明。

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

    【问题2】(9分)

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

     

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

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

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

    【问题3】(10分)

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

     

     

  • 相关阅读:
    Lucene 02
    企业级-Shell案例5——找出占用CPU 内存过高的进程
    企业级-Shell案例4——一键查看服务器利用率
    企业级-Shell案例3——批量创建多个用户并设置密码
    企业级-Shell案例2——发送告警邮件
    企业级-Shell案例1——服务器系统配置初始化
    Centos搭建docker swarm集群详细教程
    Promethus(普罗米修斯)的Grafana+onealert实现报警功能
    Promethus的Grafana图形显示MySQL监控数据
    Promethus(普罗米修斯)安装Grafana可视化图形工具
  • 原文地址:https://www.cnblogs.com/jianfeijiang/p/10774169.html
Copyright © 2020-2023  润新知