未分类题

阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。
【需求分析结果】
(1)员工信息主要包括员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中的本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。
(2)部门信息主要包括部门号、部门名称、部门负责人、电话等信息:一个员工只能属于一个部门,一个部门只有一位负责人。
(3)客房信息包括客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。
(4)客户信息包括身份证号、姓名、性别、单位和联系电话。
(5)客房预定情况包括客房号、预定日期、预定入住日期、预定入住天数、身份证号等信息。一条预定信息必须且仅对应一位客户,但一位客户可以有多条预定信息。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如下图所示。

【逻辑结构设计】
逻辑结构设计阶段设计的部分关系模式(不完整)如下:
员工((4),姓名,出生年月,性别,岗位,住址,联系电话,密码)
权限(岗位,操作权限)
部门(部门号,部门名称,部门负责人,电话)
客房((5),类型,价格,状态,入住日期,入住时间,员工号)
客户((6),姓名,性别,单位,联系电话)
更改权限((7),密码,更改日期,更改时间,管理员号)
预定情况((8),预定日期,预定入住日期,预定入住天数)
根据问题描述,填写上图中(1)~(3)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用1:1,1:n或1:*,m:n或*:*表示。

A.shangxueba.cn/images/ct_csrmecxz200802_crmecxfuzab_00004(20094).jpg'

【参考答案】

(1)n或m或* (2)n或m或* (3)n或m或*
(1)n,或m,或* (2)n,或m,或* (3)n,或m......

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

未分类题
阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。【说明】在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4个不同设备驱动程序,但没有用到函数指针变量。【C语言代码】 *变量与类型说明* include 'stdio.h'include 'stdlib.h'extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, int arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, iht arg2);define NOERROR 0type struct {int _fd;} TYP_DEV_TAB;TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,}; *程序代码* void manage_device(int devid, int arg1, int arg2){ int place ;int ret;for(place=0 ; place<50 ; place++)if dev_tab [place]. fd == devid) break;if(place>=50)printf(' NO DEVICE fd = %d n ',devid);switch(dev_tab [place]._fd) {case 80:ret = Dev_drv3(int arg1,int arg2);break;case 99:ret = Dev_drv2(int arg1,int arg2);break;case 101:ret = Dev_drv1(int arg1,int arg2);break;case 120:ret = Dev_drv4(int arg1,int arg2);break;}if (ret!=NOERROR)printf(' DEVICE %d error! n ', devid);}int Dev_drv1(int arg1,int arg2){ *局部变量声明,略* *驱动程序代码,略* }int Dev_drv2(int arg1,int arg2){ *局部变量声明,略* *驱动程序代码,略* }int Dev_drv3(int arg1,int arg2){ *局部变量声明,略* *驱动程序代码,略* }int Dev_drv4(int arg1,int arg2){ *局部变量声明,略* *驱动程序代码,略* 请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。【C语言代码】 *变量与类型说明* include 'stdio.h'include 'stdlib.h'extern int sys_status;extern int Dev_drv1(int arg1, int arg2);extern int Dev_drv2(int arg1, iht arg2);extern int Dev_drv3(int arg1, int arg2);extern int Dev_drv4(int arg1, int arg2);define NOERROR 0typedef struct {int _fd;(1) 函数指针变量说明; * 变量名用process * } TYP_DEV_TAB;TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},{80, Dev_drv3},{120, Dev_dry4},}; * 程序 * void manage_device(int devid, int arg1, int arg2){ iht place ;int ret;(2) 函数指针变量说明; *局部变量,变量名用ProcAction * for(place=0 ; place<50 ; place++) {if(dev_tab [place]._fd == devid) {(3) 语句1; * 变量名胜ProcAction, 得到具体函数的入口地址 * break;}}if(place>=50)printf('NO DEVICE fd = %d n',devid);(4) 语句2;if(ret!=NOERROR)printf('DEVICE %d error!', devid);}