问答题


阅读以下说明和图,回答问题1至问题3。
[说明]
图书馆藏书管理系统,完成用户信息管理,借阅归还信息管理,馆藏书目的信息管理,违规处罚管理
和各种查询等功能。系统的用户可分为超级用户和普通用户两类,超级用户负责系统维护,包括对藏书信息,用户信息,借阅和归还信息,违规处罚信息的录入,修改,查询,删除等。普通用户即借阅者则只是具有查询书目信息,查询本人的借阅情况,违规处罚信息和预定书目的权限。
用户通过身份验证后进入主界面。主界面为超级用户提供6项选择:图书信息管理,用户信息管理,图书的借阅和归还信息管理,违规处罚信息管理,口令修改。普通用户有4项功能选择:书目查询,借阅归还信息,违规处罚信息,口令修改。
图书信息管理:超级用户可以增加,修改,删除图书信息,也可以查看书目信息。
用户信息管理:超级用户可以增加,修改,删除用户信息,也可以查找用户信息。
借阅归还信息:超级用户可以加入,修改,删除借阅纪录,查看某本书的借阅情况,查询指定的书目借阅和归还信息。
违规处罚管理:超级用户可以给普通用户增加,修改,删除违规处罚信息,普通用户如果逾期不还图书,系统将暂时终止普通用户的借阅权利,直到用户接受违规处罚后,方可以恢复正常的借阅权利。
口令修改:用户需要输入原口令,并且两次输入新口令一致后,系统即用新口令代替旧口令。
图书馆藏书借阅系统信息流如图10-5所示,图书馆藏书管理系统的E-R模型图如图10-6所示。

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

【参考答案】

用户实体集,具有属性:编号,姓名,性别,年龄,单位,类型,密码。 书目实体集,具有属性:书号,书名,作者,出版社,类别。......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
[说明]假设设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 );elseprintf ( 两集合相减的结果 n );while (p!=NULL){printf ( %d , p->data);p=p->next;}}void main ( ){subs ( ) ;}