考试数据库大题(共22页).doc
精选优质文档-倾情为你奉上汽车维修管理系统 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】 某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。 1对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表2-1所示。 表2-1 客户及车辆信息客户编号GS0051客户名称 ××公司 客户性质 单位 折扣率 95%联系人 杨浩东 联系电话 车牌号 颜色 车型 车辆类别 *0765白色 帕萨特 微型车 2记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表2-2所示。 表2-2 维修委托书 No. 登记日期:2007-07-02 车牌号 *0765客户编号 GS0051维修类型 普通 作业分类 中修 结算方式 自付 进厂时间 11:09业务员 张小江 业务员编号 012预计完工时间 故障描述 车头损坏,水箱漏水 3维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表2-3所示。 表2-3 维修派工单 No.维修项目编号 维修项目 工时 维修员编号 维修员工种 012维修车头 5.00012机修 012维修车头 2.00023漆工 015水箱焊接补漏 1.00006焊工 017更换车灯 1.00012机修 4客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。 根据需求阶段收集的信息,设计的实体联系图(图2-1)和关系模式(不完整)如下所示。图2-1中业务员和维修工是员工的子实体。【概念结构设计】 图2-1 实体联系图【逻辑结构设计】 客户( (5) ,折扣率,联系人,联系电话) 车辆(车牌号,客户编号,车型,颜色,车辆类别) 委托书( (6) ,维修类型,作业分类,结算方式,进厂时间, 预计完工时间,登记日期,故障描述,总费用) 维修项目(维修项目编号,维修项目,单价) 派工单( (7) ,工时) 员工( (8) ,工种,员工类型,级别)【问题1】(4分) 根据问题描述,填写图2-1中(1)(4)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用1 : 1,1 : n 或 1 : *,m : n 或 * : *表示。【问题2】(4分) 补充图2-1中的联系并指明其联系类型。联系名可为:联系1,联系2,。【问题3】(4分) 根据图2-1和说明,将逻辑结构设计阶段生成的关系模式中的空(5)(8)补充完整。【问题4】(3分) 根据问题描述,写出客户、委托书和派工单这三个关系的主键。汽车维修管理系统答案问题1(1) * (或n 或 m)(2) 1(3) * (或n 或 m)(4) * (或n 或 m)问题2问题3 (5)客户编号,客户名称,客户性质(6)委托书编号,客户编号,车牌号,业务员编号或 :委托书编号,车牌号,业务员编号(7)委托书编号,维修工编号,维修项目编号(8)员工编号,员工姓名问题4客户:客户编号 委托书:委托书编号派工单:委托书编号,维修项目编号,维修工编号门诊管理系统阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。说明某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下:1医院医师具有编号, 姓名, 科室, 职称, 出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。2患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表 2-1 所示,其中,就诊类型为医师的出诊类型。3患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 2-2 所示)并生成门诊处方单(如表 2-3 所示)。4由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下所示:1. 实体联系图2关系模式挂号单(就诊号, 病患姓名, 医师编号, 时间, (5)收银员(编号, 姓名, 级别)医师(编号, 姓名, 科室, 职称, 出诊类型, 出诊费用)门诊处方 ( (6) , 收银员, 时间 )处方明细(就诊号, (7)药品库 (药品编码, 药品名称, (8) )问题1(4 分)根据问题描述,填写 2-1 实体联系图中(1) (4)处联系的类型。问题2(4分)图 2-1 中还缺少几个联系?请指出每个联系两端的实体名,格式如下:实体 1:实体 2 例如,收银员与门诊处方之间存在联系,表示为:收银员:门诊处方或门诊处方:收银员问题3(7分)根据实体联系图 2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空(5)(8)处,并指出挂号单、门诊处方和处方明细关系模式的主键。门诊管理系统答案:问题1(1)1 (2)*,或 n , 或 m (3)*,或 n , 或 m (4)*,或 n , 或m问题2缺3个挂号单:收银员挂号单:医师挂号单:门诊处方问题3(5)收银员编号(6)就诊号(7)药品编码 数量 单价(8)类型 库存 货架编号 单位 规格 单价挂号单主键:就诊号门诊处方主键:就诊号处方明细主键:就诊号 药品编号住房管理系统阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。说明某宾馆需要建立一个住房管理系统,部分的需求分析结果如下:(1)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同房间的床位收费标准可能不同。(2)每个房间有房间号(如201, 202等)、收费标准、床位数目等信息。(3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息。(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息。(5)管理系统可查询出客人所住房间号。根据以上的需求分析结果,设计一种关系模型如图2-1所示: 问题1(1分)根据上述说明和实体一联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。房间(房间号,收费标准,床位数目)客人(身份证号,姓名,性别,出生日期,地址)住宿( (1) ,入住日期,退房日期,预付款额)问题2(4分)请给出问题1中住宿关系的主键和外键。问题3(4分)若将上述各关系直接实现为对应的物理表,现需查询在2005年1月1日到2005年12月31日期间,在该宾馆住宿次数大于5次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的SQL语句,请填补语句中的空缺。SELECT住宿身份证号,count(入住日期)FROM住宿,客人WHERE入住日期>=AND入住日期<='AND住宿身份证号 = 客人身份证号GROUP BY(2)(3)count(入住日期)>5(4)问题4(6分)为加快SQL语句的执行效率,可在相应的表上创建索引。根据问题3中的SQL语句,除主键和外键外,还需要在哪个表的哪些属性上创建索引,应该创建什么类型的索引,请说明原因。住房管理系统答案:问题1 (1)房间号,身份证号问题2住宿主键:房间号,身份证号,入住日期住宿外键:房间号,身份证号,问题3(2)住宿.身份证号(3)HAVING(4)ORDER BY 2 DSC问题4表:住宿属性:入住日期类型:聚簇索引原因:表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可减少查询时间。图书管理系统 阅读下列说明,回答问题l、问题2和问题3,将解答填入答题纸的对应。【说明】 某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下: (1)资料室有图书管理员若干名,他们负责己购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名; (2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话和Email,系统为不同读者生成不同的渎者ID; (3)每部书在系统中对应惟的一条在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同; (4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每本书在系统中被赋予惟一的图书ID; (5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间; (6)当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者ID、需要借阅的图书的ISBN号、预约时间。 某书目的信息如表31所示,与该书目对应的图书信息如表3-2所示。 系统的主要业务处理如下: (1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信启、:否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。 (2)借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。 (3)预约管理:若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为lO天)。一旦其他读者归还这种书,就自动通知该预约读者。系统将自动清除超出预约期限的预约记录并修改相关信息。 (4)还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者, 系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表。若存在其他读者预约该书的记录,则将图书的状态修改为“已预约”,并将该图书ID写入相应的预约 记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态修改为“未借出”。 (5)通知处理:对于已到期且未归还的图书,系统通过Email自动通知读者;若读者预约的书已到,系统则自动通过Email通知该读者来办理借书手续。 【问题1】(4分) 根据以上说明设计的实体联系图如图31所示,请指出读者与图书、书目与读者、书目与图书之间的联系类型。 图3-1 图书管理系统的实体联系图 【问题2】(4分) 该图书管理系统的主要关系模式如下,请补充“借还记录”和“预约登记”关系中的空缺。 管理员(工号,姓名) 读者(读者ID,姓名,电话,Email) 书目(ISBN号,书名,作者,出版商,出版年月,册数,经办人) 图书(图书ID,ISBN号,存放位置,状态,经办人) 借还记录( (a) ,借出时间,应还时间,归还时间) 预约登记( (b) ,预约时间,预约期限,图书ID) 注:时间格式为“年.月.日 时:分:秒” 【问题3】(7分) 请指出问题2中给出的读者、书目关系模式的主键,以及图书、借还记录和预约登记 关系模式的主键和外键。 图书管理系统答案:【问题1】(1)n (2)m (3)1 (4)n或m (5)m (6)n其中,(1)、(2)的答案可互换,(5)、(6)的答案可互换。【问题2】(a)读者ID,图书ID (b)读者ID,ISBN号【问题3】关 系 模 式主 键外 键读者读者ID 书目ISBN号 图书图书ID ISBN号 借还记录读者ID,图书ID,借出时间读者ID,图书ID 预约登记读者ID,ISBN号,预约时间读者ID,ISBN号,图书ID企业仓储管理系统阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某企业决定开发一个企业仓储管理系统,由李工承担系统的设计工作。该系统的网络连接如图2-1所示。该企业有多个仓库,图2-1所示的中心数据库存储了各个仓库中每种货物的库存信息。每个仓库配备一台前端机,进出货物均由前端机辅助实现。管理员每天上班时,通过前端机从中心数据库的库存表中读取本仓库各种货物的库存数,每个仓库的当日业务数据也都暂存在前端机,当天业务结束后,再将前端机中存储的数据传输到主机进行存储与汇总。每个仓库可以存放多种货物,但同一种货物不能存放在不同的仓库中。每个仓库有多个管理员,但每个管理员只管理一个仓库。货物出库/入库时,由仓库管理员将货物的条码通过阅读器输入前端机中,货物数量的默认值为1,可以由管理员修改。前端机根据输入的货物信息,打印“出库/入库”清单。出库/入库单中同一种货物最多只出现一次,每份出库/入库单由流水号唯一标识。图2-2是一个出库单的实例。该系统处理业务的过程如下:1.初始化:前端机根据仓库号从货物表中读取本仓库中每种货物的货物编码、库存量、货物名称和单价。2.登记出库/入库信息:由前端机存储每一笔“出库/入库”记录。3.汇总:在每个工作日结束前汇总当日各种货物的“出库/入库”量至日汇总表;4.更新库存表:根据当日的汇总信息更新货物的库存。李工经过分析,设计出如图2-3所示的关系模式。图2-3出入库单(流水号,出入库标志,管理员号,时间)出入库记录(货物编码,数据,流水号)日汇总表(日期,货物编码,数量,出入库标志)仓库 (仓库号,仓库名,仓库电话)管理员(管理号,姓名,仓库号)货物 (_(a)_)注:时间格式为: 年月日 时:分: 日期格式为:年月日。实体联系图的表示方法如图2-4所示,其中方框表示实体,菱形表示联系,联系的类型在实体与联系的边上标出。图2-5为与该系统对应的实体联系图。图2-4问题1(3分)根据题意,补充图2-3中(a)处的空缺,即货物关系模式的属性。问题2(6分)根据题意,补充图2-5中缺失的联系和联系的类型,使其成为完善的实体联系图。其中,联系名分别取名为联系1,联系2,联系3,.。问题3(6分)写出每种关系模式的主键,将其填写在答题纸的对应栏内。企业仓储管理系统答案:问题1货物编码,货物名称,单价,仓库号,库存量问题2问题3出入库单的主键:流水号出入库记录的主键:流水号,货物编码日汇总表的主键:日期,货物编码仓库的主键:仓库号管理员的主键:管理员号货物的主键:货物编码公司信息管理系统阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某公司信息管理系统的需求分析和部分关系模式设计的结果描述如下:1、公司有多个部门,每个部门有一名负责人、一间办公室、一部电话、多名职员,每个职员最多属于一个部门,负责人也是一名公司职员。2、公司职员的月工资大于等于1000元且小于等于8000元。3、数据库的部分关系模式设计如下: 职员(职员号,职员姓名,月工资,部门号,办公室,电话) 部门(部门号,部门名,负责人代码,任职时间)4、“职员”和“部门”的关系示例分别如表2-1和表2-2所示。表21“职员”关系【问题1】(4分)根据上述说明,请给出(1)“职员”关系模式的主键和外键。(2)“部门”关系模式的主键和外键。【问题2】(4分)(1)用SQL定义“职员”关系模式,请在空缺处填入正确的内容。Create Table职员(职员号 CHAR(5)_(a)_,职员姓名 CHAR(8),月工资 NUMBER(4),部门号 CHAR(1),办公室 CHAR(20),电话 CHAR(8),_(b)_,CHECK (月工资>= 1000 AND月工资<=8000));(2)针对人数大于等于“2”的部门创建视图D_View(Dept,D_num, D_Totals, D_Avgpay),其中,Dept为部门号,D_num为部门人数,D_Totals为工资总数,D_Avgpay为平均工资,请在空缺处填入正确的内容。Create View D_View(Dept, D_num, D_Totals, D_Avgpay)As(Select 部门号,_(c)_from 职员_(d)_count (*)>=2 WHERE 部门号 IS NOT_NULL);【问题3】(3分)对于表2-1、表2-2所示的“职员”和“部门”关系,请指出下列各行是否可以插入“职员”关系,为什么?【问题4】(4分)原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修改后的“职员”和“部门”关系模式。公司信息管理系统答案:问题1(1)主键:职员号 外键:部门号(2)主键:部门号 ,或部门名 外键:负责人代码问题2(a) PRIMARY KEY(b) FOREIGN KEY(部门号),REFERENCES 部门(c) Count(*),Sum(月工资),Avg(月工资)(d) GROUP by 部门号 HAVING count(*)问题3(1)该行不能插入"职员"关系,它违反了用户定义完整性中月工资的取值范围必须大于等于1000元,小于等于8000元。(2)该行不能插入"职员"关系,因为职员号"60802"在表2-1中已存在,违反了实体完整性中主键必须唯一区分关系中的每一个属性。(3)该行可以插入"职员"关系,尽管部门号、电话和办公室为空,但是它表示该职员没有分配到某个部门。问题4"职员"关系模式主要的问题是:数据冗余问题。因为某部门的职员人数有多少,其办公室和电话将要重复存入多少。数据修改不一致问题。因为某部门的办公室变了可能会导致某些职员的修改了,某些职员的未修改。将关系模式修改为:职员(职员号,职员姓名,月工资,部门号)部门(部门号,部门名,负责人代码,任职时间,办公室,电话)网上订书系统阅读下列说明和E-R图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某网上订书系统的E-R图(已消除了不必要的冗余)如图2-1所示(图中没有标出主码)。图中实体的说明如表2-1所示,相关属性说明如表2-2所示。表2-1一个顾客可以在同一天填写多张购书单,每张购书单上可填写多种图书,每种图书可以订购多本,bid相同的图书在同一张购书单上不能出现多次。注:为简化起见,不考虑信用卡号码泄漏所带来的安全性等问题。图2-1问题1(9分)根据E-R图中给出的词汇,按照“关系模式名(属性,属性,。)”的格式,将此图转换为个关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取裙子体名或联系名。问题2(2分)创建Customers表时,cid使用INTEGER数据类型,cname使用 CHAR(80)数据类型,address使用CHAR(200)数据类型,cardnum使用CHAR(16)数据类型并且要求此列值唯一。请在下列用于创建表Customers的语句空缺处填入正确的内容。CREATE TABLE Customers(cid INTEGER NOT NULL,cname CHAR(80) NOT NULL,address CHAR(200),cardnum CHAR(16) NOT NULL,(1) () 问题3(分)如下的SQL语句是书店用于查询“所有订购了bid为123456图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。Select bidFrom Orderlist AWhere not exists (Select * from Orders Bwhere A.ordernum=B.ordernum and B.cid (3) where (4) .bid=123-456and (5) =D.ordernum)网上订书系统答案:问题1customers(cid,cname,adderss,cardnum),主码:cidorders(ordernum,orderdate,cid) 主码:ordernum ;外码:cidbooks<bid,title,author,qty_in_stock,year_publicshed,price),主码:bid0rderlist(bid,ordernum,qty,ship_date) 其中bid和ordernum是主码 也是外码注:以上四个关系模式和每个模式中的属性可按任意次序书写。 问题2(1)primary key(cid)(2)unique(cardnum)注;(1)和(2)的次序可以颠倒。问题3(3)not in(4)c(5)c.ordernum 销售业务关系数据库阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。说明 甲公司的经营销售业务目前是手工处理的,随着业务量的增长,准备采用关系数据库对销售信息进行管理。经销业务的手工处理主要涉及三种表:订单、客户表和产品表。为了用计算机管理销售信息,甲公司提出应达到以下要求:产品的单价发生变化时,应及时修改产品表中的单价数据。客户购货计价采用订货时的单价。订货后,即使单价发生变化,计算用的单价也不变。在设计数据库时,经销部的王先生建立了以下数据模型:其中,方框表示实体,单向箭头表示1对多的联系,双向箭头表示多对多的联系。由于上述模型对建立关系数据库是不合适的,因此王先生又修改了数据模型,并设计了如下几个关系(带下划线的数据项是关键项,最后一个关系中没有指出关键项):Customer(CustomerNo,CustomerName,Address,Phone)Product(ProductNo,ProductName,UnitPrice)Order(OrderNo,CustomerNo,Date)OrderDetail(OrderNo,ProductNo,Quantity)问题1请按说明中的要求画出修改后的数据模型。问题2(1)说明中的几个关系仍无法实现甲公司的要求,为什么? (2)需要在哪个关系中增加什么数据项才能实现这个要求?问题3写出OrderDetail中的关键项。问题4以下SQL语句用于查询没有订购产品代码为“1K10”的产品的所有客户名。请填补其中的空缺。SELECT CustomerName FROM Customer _(1)_WHERE _(2)_(SELECT * FROM OrderDetail B,Order CWHERE BProductNo = C.ProductNoAND BProductNo = '1KIO'AND CCustomerNo = A.CustomerNo)销售业务关系数据库答案 问题 1 问题 2 1.因为数据库中没有记录订货时产品的单价,也没有记录订货的总金额,所以一旦产品单价发生变化,那么计算用的单价就是变化后的单价了。 2.在 OrderDetail 中增加一个数据项:订货时的单价(或者在 Order 中增加一个数据项:总金额)。 问题 3 OrderNo,ProductNo 问题 4 (1) A 或 AS A (2) NOT EXIST 专心-专注-专业