您好,欢迎访问三七文档
1数据库习题一、试画出E-R图并转化为关系模型[例1]以某商场订货系统为例设计ER模型。在一个商场订货系统数据库中,包括商场部门、职工、顾客、货物和定货单等信息。每个顾客包括顾客号(惟一的)、收货地址(一个顾客可有几个地址)、赊购限额、余额、折扣。每个订货单包括顾客号、收货地址、订货日期、订货细则(每个订货单有若干条)。每条订货细则内容为货物号、订货数量。每种货物包括货物号(惟一的)、制造厂商、每个厂商的实际存货量和规定的最低存货量、货物描述。由于处理上的要求,每个订货单的每一订货细则中还应有一个未发货量(此值初始时为订货数量,随着发货将减为0)。.分析该商场订货系统,可以定义该商场订货系统中有7个实体、一个弱实体和6个联系。实体类型的结构如下:部门(部门号,部门名,经理)职工(职工号,姓名,性别,年龄)顾客(顾客号,顾客名,余额,折扣,赊购限额)定单(定单号,收货地址,订货日期)订货细则(订货细则号,未发数量)货物(货物号,货物名,实际存货量,最低存货量)供应商(供应商号供应商名,地址)弱实体类型的结构如下:地址(邮政编码,区,路,号)联系类型的结构如下:聘用(聘用日期,工资)销售(数量)提供(价格)根据上述分析,相应的ER模型如图所示:2在具体设计E-R图过程中,如果把属性也全都画上去,ER图显得不够清晰,因此在具体设计过程中,可采用一些变通的方法。具体可有如下几种方法。第一种方法:在E-R图上,对实体和联系注上全部属性。第二种方法:在E-R图上,只画上实体和联系,不注上属性。实体和联系的属性在图外加以说明。第三种方法:在E-R图上,除了画实体和联系外,只注上联系的属性(由于联系的属性比较少),而不注实体的属性。实体的属性在图外加以说明。[例2]上海东海制药厂设计的销售管理信息系统的E-R图:练习:一门课程可以有若干教师讲授,一个教师只讲授一门课程;一门课程使用若干参考书,每本参考书只供一门课程使用。有三个实体集:供应商、项目、零件,一个供应商可以供给多个项目多种零件;每个项目可以使用多个供应商供应的零件;每种零件可由不同的供应商供给。3某基层单位要建立一个“基层单位”数据库,通过调查得出,需要存储下列基本信息。部门:部门号,名称,领导人编号;职工:职工号,姓名,性别,工资,职称,照片,简历;工程:工程号,工程名,参加人数,预算,负责人;办公室:地点,编号,电话。这些信息的关联语义为:每个部门有多个职工,每个职工只能在一个部门工作;每个部门只有一个领导人,领导人不能兼职;每个部门可以同时承担若干工程项目,数据库中应记录每个只供参加项目的日期;一个部门可以有多个办公室;每个办公室只有一部电话;数据库中还应存放每个职工在所参加的工程项目中承担的具体职务。4、现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请设计适当的属性,画出E-R图,再将其转换为关系模型(包括关系名、属性名、码和完整性约束条件)。5、请设计一个图书馆数据库,此数据库中对每个借阅者保存记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E-R图,再将其转换为关系模型。6、下图是某个教务管理数据库的E-R图,请把它们转换为关系模型(图中关系、属性和联系的含义,已在它旁边用汉字标出)。7、设有一家百货商店,已知信息有:每个职工的数据是职工号、姓名、地址和他所在的商品部;每一商品部的数据有它的职工,经理和它经销的商品;每种经销的商品数有商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定);关于每个生产厂家的数据有厂名、地址、向商店提供的商品价格。请设计该百货商店的概念模型,再奖概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表示。8、设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,4每种商品也可放在多个商店销售,并要记录有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。试画出E-R图,并在图上注明属性、联系的类型。9、设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作仓库聘用职工有聘期和工资。试画出ER图,并在图上注明属性、联系的类型。10、假设要为银行的储蓄业务设计一个数据库,其中涉及到储户、存款、取款等信息。试设计E-R模型。11、某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER模型。12、假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业管理规则如下:(1)该超市公司有若干仓库,若干连锁商店,供应若干商品。(2)每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。(3)每个商店销售多种商品,每种商品可在不同的商店销售。(4)每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商品可以有多种销售价格。(5)超市公司的业务员负责商品的进货业务。试按上述规则设计E-R模型。13、假设要根据某大学的系、学生、班级、学会等信息建立一个数据库,一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可以参加多个学会,每个学会有若干学生,学生参加某学会有个人会年份。试为该大学的系、学生、班级、学会等信息设计一个ER模型。14、设有仓库实体集,具有属性:仓库编号(KNO),仓库名(KN),仓库电话(TEL),另有物资实体集,具有属性:物资编号(BH),物资名(WN),产地(CD),特性(TX)。物资存放于仓库之中,有直接的联系,在联系中还应反映物资入库的时间(RC)和数量(SL),试将有关实体一联系图画出E-R图,并转换为关系模式,同时用下划线注明关键字。15、设一个海军基地要建立一个舰队管理信息系统,他包括如下两个方面的信息:A、舰队方面舰队:舰队名称,基地地点,舰艇数量;舰艇:编号,舰艇名称,舰队名称B、舰艇方面舰艇:舰艇编号,舰艇名,武器名称;武器:武器名称,武器生产事件,舰艇编号官兵:官兵证号,姓名,职务,舰艇编号其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可以安装于多艘舰艇上;一艘舰艇有多个官兵,一个官兵只属于一艘舰艇。请完成如下设计:(1)分别设计舰队和舰艇两个局部E-R图。(2)将上述两个局部E-R图合并为一个全局E-R图,合并时存在那些冲突?如何处理这些冲突?(3)将该全局E-R图转换为关系模型方式5二、关系代数、关系演算和SQL语言学生选课库的关系模式为:学生(学号,姓名,年龄,性别,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩)1、用关系代数完成以下各题:(1)求选修了课程号为“C2”课程的学生学号;(2)求选修了课程号为“C2”课程的学生学号和姓名;(3)求没有选修课程号为“C2”课程的学生学号;(4)求既选修了“C2”课程又选修了“C3”课程的学生学号;(5)求选修了“C2”或“C3”课程的学生学号;(6)求选修了全部课程的学生学号;(7)求没有学过数据库课程的学生学号;(8)求学过数据库课程的学生姓名和学号;(9)求学过数据库和数据结构课程的学生姓名和学号;(10)求学过数据库的先行课的学生学号;(11)求至少选修了学号为“98002”的学生所学过课程的学生的学号和姓名;2、用关系演算完成以下各题:(1)求所有被选修的课程号;(2)求计算机系学生年龄大于20岁的学生的学号;(3)查询计算机系学生的学号和年龄,结果按年龄的降序排序;(4)查询数学系年龄最小的两个学生的学号及其年龄,并将结果按年龄的升序排序;(5)查询选修了“C1”课程的学生学号;(6)查询选修了“数据结构”课程的学生学号和姓名;(7)查询选修了“C1”课程的学生姓名;(8)查询成绩不及格的学生姓名和课程名;(9)查询没有选修了“C1”课程的学生姓名;(10)查询选修了全部课程的学生姓名;(11)把学号为“98005”的学生从数学系转到计算机系;(12)学校新转入一个学生,其信息为(98007,王勇,男,19,计算机系),把这个学生的信息插入到学生关系中;(13)学号为“98005”的学生因故退学,删除该学生的元组;(14)将学号“98007”改为“98005”;(15)求“数学系”学生的平均年龄;3、有一组关系,供应者关系S,零件关系P,供应关系SP,他们的模式是:S(SNO,SNAME,STAUS,CITY)P(PNO,PNAME,COLOR,WEIGHT,CITY)SP(SNO,PNO,QTY)(中QTY为数量)用ALPHA语言完成下列操作:1)找出所有的供应者名2)找出供应了P2零件的供应者名63)找出零件重量为12或14的零件4)找出供应了零件颜色为红色或重量小于15的零件名。4、用SQL语言完成下列各题:(1)用SQL建立学生—课程库中的基本表,学生表中定义的列级约束条件是学号不能为空且不能出现重复值,姓名不能为空,年龄的缺省值为20,性别必须为“男”或“女”;课程表中课程号为主码;选课表中定义学号和课程号为主码的约束,定义成绩值在0—100之间的约束。(2)向课程表中增加“学时”字段;(3)创建计算机系学生的视图;(4)定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩;(5)将学生的学号、姓名、总成绩、平均成绩定义成一个视图;(6)求选修“C1”课程的学生学号和成绩,并要求对查询结果按沉积的降序排序。(7)求选修“C1”课程且成绩在80—90之间的学生学号和成绩,并将成绩乘以系数0.8输出;(8)求数学系或计算机系姓张的学生的信息;(9)求缺少了成绩的学生的学号和课程号;(10)求选修“C1”课程且成绩在90分以上的学生学号、姓名和成绩;(11)求选修了高等数学的学生学号和姓名;(12)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名;(13)求选修了“C2”课程或选修了“C3”课程的学生学号;(14)求学生总人数;(15)将一个新学生记录(98007,王勇,男,19,计算机系),插入到学生关系中;(16)将选课表中的数据库课程的成绩乘以1.2;(17)删除艺术系的学生记录;(18)把修改学生学号和查询学生表的权利授予用户王品;5、职工——社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人,活动地点);参加(职工号,编号,参加日期);其中:1)职工表的主码为职工号。2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。试用SQL语句表达下列操作:(1)定义职工表、社会团体表和参加表,并说明其主码和参照关系。(2)建立下列两个视图。社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);参加人情况(职工号,姓名,社团编号,社团名称,参加日期).(3)查找参加唱歌队或篮球队的职工号和姓名。(4)查找没有参加任何社会团体的职工情况。(5)查找参加了全部社会团体的职工情况。(6)查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。7(7)求每个社会团体的参加人数。(8)求参
本文标题:62数据库习题
链接地址:https://www.777doc.com/doc-3111066 .html