免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2019年上半年 数据库系统工程师 下午试卷 案例
  第3题      
  知识点:   认证   实体   结构设计   逻辑结构设计

 
【说明】
某快递公司对每个发出的快递进行跟踪管理,需要建立一个快递跟踪管理系统,对该公司承接的快递业务进行有效管理。
【需求描述】
1.公司在每个城市的每个街道都设有快递站点。这些站点负责快递的接收和投递。站点信息包括站点地址、站点名称、责任人、一部联系电话、开始营业时间、结束营业时间。每个站点每天的营业时间相同。每个站点只能有一个责任人。
2.系统内需记录快递员、发件人的基本信息。这些信息包括姓名、身份证号、一个联系地址、一部联系电话。快递站点的责任人由快递员兼任,且每个快递站点只有一个责任人。每个快递员只负责一个快递站点的揽件和快递派送业务。发件人和快递员需实名认证
3.快递需要提供详实的信息,包括发件人姓名、身份证号、一部发件人电话号码、发件人地址、收件站点、收件人姓名、收件地址、一部收件人电话、投递时间、物品类别、物品名称及物品价值。每个发件人和收件人在系统里只能登记一个电话和地址。
4.每个快递员接手一份快递后,需在系统中录入每个快递的当前状态信息,包括当前位置、收到时间、当前快递员和上一段快递员。状态信息包括待揽件、投递中、已签收。如果快递已签收,应记录签收人姓名及一个联系电话。每个快递在一个站点只能对应一个负责的快递员。
注:试题不需要考虑快递退回的相关问题。
【逻辑结构设计
根据上诉需求需求,设计出如下关系模式:
快递(快递编号,收件人姓名,收件地址编号,收件人电话,投递时间,物品类别,物品名称,物品价值),其中收件地址编号是地址实体的地址编号。
快递员(姓名,身份证号,电话号码,联系地址编号,工作站点编号)
快递站点(站点编号,站点名称,责任人编号,站点地址编号,开始营业时间,联系电话,结束营业时间)。责任人编号是负责该站点的快递员的身份证号。
地址(地址编号,所在省,所在市,所在街道,其他),其他信息是需补充的地址信息。
快递投递(快递编号,快递员编号,发件人姓名,发件人身份证号,发件人电话号码,发件人地址编号),其中发件人地址编号为发件人地址的地址编号,揽件站点编号为接收该快递的站点编号。
快递跟踪(快递编号,当前快递员编号,上一段快递员编号,当前状态,收到时间,当前站点编号)。
快递签收(快递编号,签收人姓名,签收人联系电话)。
 
问题:3.1   (6分)
对关系“快递投递”,请回答以下问题:
(1) 列举出所有候选键。
(2) 它是否为3NF,用100字以内文字简要叙述理由。
(3) 将其分解为BCNF,分解后的关系名依次为:快递投递1,快递投递2,…,并用下划线标示分解后各关系模式的主键。
 
问题:3.2   (6分)
对关系“快递跟踪”,请回答以下问题:
(1) 列举出所有候选键。
(2) 它是否为2NF,用100字以内文字简要叙述理由。
(3) 将其分解为BCNF,分解后的关系名依次为:快递跟踪1,快递跟踪2,…,并用下划线标示分解后各关系模式的主键。
 
问题:3.3   (3分)
快递公司会根据快递物品和距离收取快递费,每件快递需由发件人或收件人支付快递费给公司。同一个发件人同时发起多个快递,必须分别支付。快递公司提供预支付和到付两种支付方式。为了统计快递费的支付情况(详细金额和时间),试增加“快递费支付”关系模式,用100字以内文字简要叙述解决方案。
 
 
 

   知识点讲解    
   · 认证    · 实体    · 结构设计    · 逻辑结构设计
 
       认证
        认证又分为实体认证和消息认证两种。实体认证是识别通信对方的身份,防止假冒,可以使用数字签名的方法。消息认证是验证消息在传送或存储过程中有没有被篡改,通常使用报文摘要的方法。
               基于共享密钥的认证
               如果通信双方有一个共享的密钥,则可以确认对方的真实身份。这种算法依赖于一个双方都信赖的密钥分发中心(Key Distribution Center,KDC),如下图所示,其中的A和B分别代表发送者和接收者,KA、KB分别表示A、B与KDC之间的共享密钥。
               
               基于共享密钥的认证协议
               认证过程如下:A向KDC发出消息{A,KA(B,Ks)},说明自己要和B通信,并指定了与B会话的密钥KS。注意,这个消息中的一部分(B,KS)是用KA加密了的,所以第三者不能了解消息的内容。KDC知道了A的意图后就构造了一个消息{KB(A,KS)}发给B。B用KB解密后就得到了A和KS,然后就可以与A用KS会话了。
               然而,主动攻击者对这种认证方式可能进行重放攻击。例如A代表雇主,B代表银行。第三者C为A工作,通过银行转账取得报酬。如果C为A工作了一次,得到了一次报酬,并偷听和复制了A和B之间就转账问题交换的报文,那么贪婪的C就可以按照原来的次序向银行重发报文2,冒充A与B之间的会话,以便得到第二次、第三次……报酬。在重放攻击中攻击者不需要知道会话密钥KS,只要能猜测密文的内容对自己有利或是无利就可以达到攻击的目的。
               基于公钥的认证
               这种认证协议如下图所示。A给B发出EB(A,RA),该报文用B的公钥加密。B返回EA(RA,RB,KS),用A的公钥加密。这两个报文中分别有A和B指定的随机数RA和RB,因此能排除重放的可能性。通信双方都用对方的公钥加密,用各自的私钥解密,所以应答比较简单。其中的KS是B指定的会话键。这个协议的缺陷是假定了双方都知道对方的公钥。
               
               基于公钥的认证协议
 
       实体
        从上表中可见,在E-R模型中实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。
 
       结构设计
        多媒体课件的结构规定了教学软件中各部分教学内容的相互关系及呈现的形式,它反映了教学软件的主要框架及其教学功能,多媒体课件的系统结构大多采用非线性的超媒体结构,在此基础上形成了以下四种组织结构方式。
        ①线性结构:学生顺序地接收信息,从当前帧到下一帧,是一个事先设置好的序列。
        ②树状结构:学生沿着一个树状分支展开学习活动,该树状结构按教学内容的自然逻辑形成。
        ③网状结构:多媒体课件的网状结构是超文本结构,学生可在内容单元之间自由航行,没有预设路径的约束。
        ④复合结构:学生可以在一定范围内自由地航行,但同时受主流信息的线性引导和分层逻辑组织的影响。
 
       逻辑结构设计
        逻辑结构设计的目的是把概念设计阶段的基本E-R图转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。逻辑设计有以下3个步骤。
        (1)将概念模型(E-R图)转换为一般的关系、网状或层次模型。
        (2)将关系、网状或层次模型向特定的DBMS支持下的数据模型转换。
        (3)对数据模型进行优化。
   题号导航      2019年上半年 数据库系统工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第3题    在手机中做本题