专家谈:数据库及其应用专题分析

  • 来源: 互联网 作者: rocket   2008-03-19/14:41
  • 《数据库及其应用》是计算机自考专业中一门重要课程,该门课程的考题类型有选择题、填空题、程序设计题和综合应用题几种,其中综合应用题难度最大。该类题型主要测试学生关系数据库应用系统的分析和设计、FoxBASE程序设计、分析复杂问题、设计E-R图、建立关系数据模型和编写应用程序等方面的能力。本文就这方面的题型做一些例题分析,希望对大家建立正确的解题思路有所帮助。

    题一 活期存款中,“储户”通过“存取款单”和“存储所”发生联系。假定“储户”包括:账号、姓名、电话、地址、存款额;“储蓄所”包括:储蓄所编号、名称、电话、地址。(假定一个储户可以在不同的储蓄所存取款)试完成下列两项设计:

    (1)绘出表示存取款的E-R图

    分析:由题目可知有两个实体:“储户”和“存储所”。而“储户”通过“存取款单”和“存储所”发生联系,故“存取款单”可用菱形框表示,它连接两个矩形框,分别为上述两个实体。两个实体的属性题目已给出,但“存取款单”的属性需要考生自己推断出,分析两个实体的属性可知,“储户”的账号、储蓄所编号所体现是“存取款单”的基本属性,此外通过常识也知道还需存取日期、存取标志(存款或取款)、存取金额等属性。由此可画出E-R图。

     



    答案:(见下图)

    (2)由E-R图导出关系数据模型

    分析:E-R图画出来后,关系数据模型就好确定了。两个实体各对应一个关系。另外,两个实体间有一个m:n的联系:存取款单,因此还要为它建立一个关系。

    答案:储户(账号、姓名、电话、地址、存款额),关键字:账号;

    储蓄所(储蓄所编号、名称、电话、地址),关键字:储蓄所编号;

    存取款单(账号、储蓄所编号、存取日期、存取标志、存取金额),关键字:账号+储蓄所编号+存取日期。
    题二:设有下列表格:

     


    试完成下列三项设计:

    (1)将该表格对应的关系规范化到第三范式。

    分析:可列出关系如下

     

    从中可以看出,“职工号”是主关键字。所有属性都不存在部分函数依赖于主关键字,故以达到第二范式的要求。但“车间主任”是传递函数依赖于主关键字“职工号”的,因此,不符合第三范式的要求。将“车间”和“车间主任”的关系从原关系中分解出来,得到下列两个关系:

     

    分析这两个关系,都不存在传递函数依赖,所以它们都达到第三范式的要求。

    (2)为规范化后的关系对应的数据库文件设计结构

    分析:设计结构主要是注意字段类型和字段宽度。

    答案:关系R1对应的库文件结构设计如下:

    文件名:R1.DBF

     
    关系R2对应的库文件结构设计如下:

    文件名:R2.DBF

     

    (3)编写一个程序显示职工号为“3201”的职工姓名和其车间主任姓名

    分析:职工姓名在R1中,而车间主任姓名在库文件R2中,可用连接,连接的条件是职工号为“3201”,且两个库文件中的车间相同。连接后生成的库文件中仅含有职工号为“3201”的职工的职工号、姓名、车间、工资、车间主任。只要打开生成的新库文件,就可以很方便地输出该职工的姓名和其车间主任的姓名。

    答案:SET TALK OFF

    SELECT 1

    USE R1

    SELECT 2 BBS.bitsCN.com网管论坛

    USE R2

    JOIN WITH A TO AA FOR A - >职工号=“3201”. AND. A->车间=B->车间

    USE AA

    ? “职工姓名 :”,姓名

    ?“车间主任姓名:”,车间主任

    USE

    SELECT 1

    USE

    RETURN 


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多