主观

根据E-R图中给出的词汇,按照“关系模式名(属性,属性,…)”的格式,将此E-R图转换为7个关系模式,其中模式名根据需要取实体名或联系名。

参考答案
您可能感兴趣的试题

阅读以下说明和Visual Basic代码,填入(n)处。

 [说明]

 以下Visual Basic代码实现了系统登录时对用户进行合法性检查。界面如图9-6所示。阅读下面代码,将(n)处代码补充完整。

[代码7-1]

 Begin VB.Form. form1

  BackColor  = &H00808080&

  Caption   = "系统登录"

  //...窗体描述(略)

    Begin VB.Labe1 Labe12

    Backstyle  = 0 'Transparent

    Caption   = "密 码: "

  //…窗体描述(略)

  End

  Begin VB.Labe1 Labe11

    Backstyle  = 0 'Transparent

    Caption   = "操作员: "

  //...窗体描述(略)

  End

  //...窗体描述(略)

 End

 [代码7-2]

 Dim TIM As Integer

 Dim mydb As Database

 Dim myrs As Recordset

 Dim sq1 As String

 Private Sub Form. ACdvate ( )

  Set mydb=Workspaces (0).OpenDatabase (App.Path&"\CIUID.mdb") '打开数据库

  sq1="select操作员from qxsz"

  Set myrs=mydb.OpenRecordset (sq1)

  If (1) Then myrs.MoveLast

  If (2) Then myrs.MoveFirst

  For i=0 TO myrs.RecordCount-1

     (3) 

     (4) 

  Next i

  If (5) Then master.Listlndex=0

  myrs.Close

  mydb.Close

  master.SetFocus

 End Sub

 [代码7-3]

 Private Sub Cmdok_Click ( )  '确认操作员和密码

  Dim MESSAGE As String

  If master.Text<>'''Then

    Set mydb=Workspaces (0) .OpenDatabase (App.Path&"\CIUID.mdb")

    Set myrs=mydb.OpenRecordset ("qxsz", dbOpenDynaset)

    myrs.Findfirst"操作员="+Chr(34) +master.Text+Chr(34) +""  '查找操作员

    If (6) Then

      MsgBox ("无此操作员!")

     Else

     If password.Text=myrs.Fields("密码") Then  '确认密码

       MsgBox"系统登录成功!"  '系统登录成功

      Else

       If TIM=3 Then

         MESSAGE=MsgBox ("密码输入错误,请向系统管理员查询!",0,"")

         If MESSAGE=vbOK Then End

       End If

       MsgBox ("密码错误,请重新输入密码!")

       TIM=TIM+1              '密码输入错误次数

       password.SetFocus

     End If

    End If

   End If

 End Sub

阅读下列函数说明和C代码,应填入(n)处。

  [说明]

 假设设A和B均为顺序表,A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A'=(x,z)和B'=(y,x,x,z)。若A'=B'=空表,则A=B;若A'=空表,而 B'!=空表,或者两者均不为空表,且A'的首先小于B'的首元,则A<B;否则A>B。

 下面程序实现了比较A、B大小的算法。

 [C程序]

 #include<stdio.h>

 #include<stdlib.h>

 typedef struct linknode

 {

 int data;

 struct linknode *next;

   }node:

   node *creatlist ( )    /*建立单链表*/

{

 node*head, *r, *s;

 int x;

 head= (node *) malloc (sizeof (node));  /建立单链表的头结点head*/

 r=head;

 printf ("输入系列整数,以O标志结束\n");

 scanf ("%d", &x);

 while (x!=O)    /*x==O则退出while循环*/

 {

   s=(node*) malloc (sizeof (node));

   s->data=x;

   r->next=s;

   s->next=NULL;

   r=s;

   scanf ("%d", &x);

 }

 r->next=NULL;

 s=head;

     (1);

 Free (s);

 return head;

}

void subs ( )

{

 node*p, *p1, *p2, *q, *heada, *headb;

 heada=creatlist ( ) ;

 headb=creatlist ( ) ;

 p=heada;

 p1=p;   /*p1指向p所指结点的前一个结点,开始时均缀向头结点*/

 while (p!=NULL )

 {

   q=headb;

   while (q!=NULL&&q->data!=p->data)

     q=q->next;

   if ((2))    {

     if (p==heada)

     {

          (3);

      p1=heada;

     }

    else if (p->next==NULL) p1->next=NULL; /*该结点为最后一结点,删除*/

     else p1->next=p->next;

       p2=p->next;

        (4);

     free (p);

        (5);

  }

 else   /*p所指结点的元素不在B中,则直接下移p*/

  {

   p1=p;

    (6);

  }

}

p=heada;    /*显示删除后的结果*/

if (p==NULL)

 printf ("两集合机减的结果为空\n");

else

 printf ("两集合相减的结果\n");

while (p!=NULL)

{

 printf ("%d", p->data);

 p=p->next;

}

}

void main ( )

{

 subs ( ) ;

}

阅读下列说明以及图10-7和图10-8,回答问题1、问题2和问题3。

 [说明]

 某高等院校的教学管理具有选课管理和成绩管理两大功能。选课管理主要完成以下工作:(1)录入与生成新学期课程表;(2)学生选课注册;(3)查询,学生、教师、教学管理员可以查询课程表,获得课程信息、学生选课信息和学生、教师信息;(4)选课注册信息的统计与报表生成。成绩管理主要的功能为: (1)成绩录入:教学管理员录入学生考试成绩;(2)成绩查询:教师、教学管理员可以查询学生考试成绩。。学生只允许查询自己的考试成绩,不允许查询他人的成绩;(3)成绩统计与报表生成:教学管理员进行成绩统计,打印统计报表。把学生选课注册信息传送给财务系统,以便计算学生应交纳的费用。

 根据需要,系统设计的用例有“选课管理”、“成绩管理”、“查询课程信息”、“选课注册”、“管理开设课程”等用例。其中部分用例说明如下:

 “查询课程信息”:学生、教师或教学管理员启动查询课程信息时,该用例开始运行。根据输入的查询要求(查询主题或关键字),显示有关的课程信息;

 “选课注册”。当学生登录进行选课注册时,该用例开始运行,它提供了选择课程、注册、修改注册、删除注册等功能。学生登录需要用户标识(ID)和口令;

 “管理开设课程”。 当教学管理员登录系统进行产生选课信息操作时, 该用例开始运行。 它首先检查用户标识(ID)和口令,然后从数据库中取出学生的选课注册数据,按照要求进行分类统计,生成选课注册报表。

 活动者“学生”与用例“选课注册”的交互关系如下:当“学生”登录系统进入选课注册活动时,首先要输入用户标识(ID)和口令,经系统的“注册表单”接口对象验证,如果正确无误,则“学生”可以进行查询活动或选课活动,否则拒绝进入。若“学生”发出“查询”请求,系统的“选课注册表单”接口对象响应信息给“学生”,及发送增加或删除学生选课数据的消息。 “开设课程”对象响应该消息,找出数据库中的相关数据,增加或删除学生的姓名和所选的课程名,或做相应的修改,并把增加或删除学生课操作成功或失败的信息反馈给“选课注册表单”接口对象,“选课注册表单”接口对象再反馈给“学生”。如果“学生”按下“确认”键,则选课操作得到确认,发出提交请求。“选课注册表单”接口对象响应该请求,并发出“存储”消息。“开设课程”对象响应“存储”消息,进行数据库存储操作,选课数据存入数据库。若“学生”结束选课,发出“退出”系统请求,“注册表单”接口对象响应请求,关闭系统。

 图10-7为系统的顶层UML用例图。图10-8为选课注册顺序图。

用例图解释了活动者与用例之间的交互关系。根据系统设计说明,将系统的顶层用例图补充完整。

阅读以下说明和图,回答问题1至问题3。

[说明]

 图书馆藏书管理系统,完成用户信息管理,借阅归还信息管理,馆藏书目的信息管理,违规处罚管理

 和各种查询等功能。系统的用户可分为超级用户和普通用户两类,超级用户负责系统维护,包括对藏书信息,用户信息,借阅和归还信息,违规处罚信息的录入,修改,查询,删除等。普通用户即借阅者则只是具有查询书目信息,查询本人的借阅情况,违规处罚信息和预定书目的权限。

 用户通过身份验证后进入主界面。主界面为超级用户提供6项选择:图书信息管理,用户信息管理,图书的借阅和归还信息管理,违规处罚信息管理,口令修改。普通用户有4项功能选择:书目查询,借阅归还信息,违规处罚信息,口令修改。

 图书信息管理:超级用户可以增加,修改,删除图书信息,也可以查看书目信息。

 用户信息管理:超级用户可以增加,修改,删除用户信息,也可以查找用户信息。

 借阅归还信息:超级用户可以加入,修改,删除借阅纪录,查看某本书的借阅情况,查询指定的书目借阅和归还信息。

 违规处罚管理:超级用户可以给普通用户增加,修改,删除违规处罚信息,普通用户如果逾期不还图书,系统将暂时终止普通用户的借阅权利,直到用户接受违规处罚后,方可以恢复正常的借阅权利。

 口令修改:用户需要输入原口令,并且两次输入新口令一致后,系统即用新口令代替旧口令。

 图书馆藏书借阅系统信息流如图10-5所示,图书馆藏书管理系统的E-R模型图如图10-6所示。

请写出图书馆藏书管理系统的E-R模型图,该系统涉及的实体集及属性。

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服