A3班 刘红 102 物理 60 80 9904 李四 男 A2班 李炎 101 英语 120 98 9905 周五 女 A2班 李炎 101 英语 120 88 9906 孙六 女 A2班 李炎 102 物理 60 78 ?? ?? ?? ?? ?? ?? ?? ?? ??
分析该关系模式存在的问题,并将其规范化为若干3NF关系模式。 正确答案:【分析:数据冗余大:重复出现班主任、课程名、学时数。修改麻烦:冗余造成修改麻烦。插入异常:主键是学号和课程号组合,当调入一个学生时插入不到表中,因为他还未选课,课程号为空。删除异常:假定删除张三,则同时删除A3班、刘红班主任。分解:学生(学号,姓名,性别,班级)班(班级,班主任)课程(课程号,课程名,学时数)学习(学号,课程号,成绩)】 3、
设关系模式R(A,B,C,D),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A} 1)求出R的候选码。
2)求出F的最小函数依赖集。
3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。 正确答案:【1)F={A→C,C→A,B→AC,D→AC,BD→A}。候选码:BD2)(1)单属性化F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}(2)无冗余化A→C是否冗余?G1={C→A,B→A,B→C,D→A,D→C,BD→A}A的G1闭包:=A,而C不属于{A},所以:A→C不冗余C→A是否冗余?G2={A→C,B→A,B→C,D→A,D→C,BD→A}C的G2闭包:=C,A不属于{C},所以:C→A不冗余B→A是否冗余?G3=F={A→C,C→A,B→C,D→A,D→C,BD→A}B的G3闭包:BCA,而A属于{BCA},所以:B→A冗余B→C是否冗余?G4={A→C,C→A,D→A,D→C,BD→A}B的G4闭包:=B,而C不属于{B},所以:B→C不冗余D→A是否冗余?G5={A→C,C→A,B→C,,D→C,BD→A}D的G5闭包:=DCA,而A属于{DCA},所以:D→A冗余。D→C是否冗余?G6={A→C,C→A,B→C,BD→A}D的G6闭包:=D,而C不属于{D},所以D→C不冗余BD→A是否冗余?G7=F={A→C,C→A,B→C,D→C}BD的G7的闭包=:BDCA,A属于该闭包,所以:BD→A冗余。既约化:由于依赖式子右边全部是单属性,故可以省略。Fmin={A→C,C→A,B→C,D→C}3)(1){A→C,C→A,B→C,D→C},(2)是否存在在F中有一个函数依赖X→A,且X∪A=U,无此情况。(3)把依赖集中的每一个依赖式子的属性组合,得到如下子模式:AC,BC,DC(4)BD加入(5)消去子集依赖:无子集依赖。最终分解为:T={AC,BC,DC,BD}解为:T={AC,BC,DC,BD}】 4、
给定建立如下4个表。
1)供应商(S)表:S(Sno,Sname,City),其中Sno代表供应商代码,Sname表示供应商名,City表示供应商所在城市。
2)零件(P)表:P(Pno,Pname,Color,Weight),其中Pno表示零件代码,Pname表示零件名,Color表示零件颜色,Weight表示零件重量。
3)工程项目(J)表:J(Jno,Jname,City),其中Jno表示工程项目代码,Jname表示工程项目名,City表示工程项目所在城市。
4)零件供应情况(SPJ)表:SPJ(Sno,Pno,Jno,QTY),其中QTY表示供应数量。 试用SQL语言完成如下查询
1)查找供应工程J1红色零件的供应商号。
2)查找没有使用杭州供应商生产的绿色零件的工程号。
3)找出同供应商S1在同一城市的供应商所提供的所有零件。 4)找出供应红色的P1零件且供应量大于200的供应商号。 正确答案:【SELECTSNOFROMSPJ,PWHEREJNO=】 5、
给定建立如下4个表。
1)供应商(S)表:S(Sno,Sname,City),其中Sno代表供应商代码,Sname表示供应商名,City表示供应商所在城市。
2)零件(P)表:P(Pno,Pname,Color,Weight),其中Pno表示零件代码,Pname表示零件名,Color表示零件颜色,Weight表示零件重量。
3)工程项目(J)表:J(Jno,Jname,City),其中Jno表示工程项目代码,Jname表示工程项目名,City表示工程项目所在城市。
4)零件供应情况(SPJ)表:SPJ(Sno,Pno,Jno,QTY),其中QTY表示供应数量。 试用SQL语言完成如下查询:
1)查找工程项目J3使用的各种零件的名称及其数量。 2)查询杭州厂商供应的所有零件号码。 3)查询使用杭州产的零件的工程名称。 4)查询没有使用天津产的零件的工程名称。 正确答案:【SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO=】 6、
设职工社团数据库有三个基本表: 职工(职工号,姓名,年龄,性别)
社会团体(编号,名称,负责人,活动地点); 参加(职工号,编号,参加日期)。其中:
1)职工表的主码为职工号。
2)社会团体表的主码为编号;外码为负责人,被参照表为职工表,对应属性为职工号。
3)参加表的职工号和编号为主码;职工号为外码,其被参照表为职工表,对应属性为职工号;编号为外码,其被参照表为社会团体表,对应属性为编号。 试用SQL语句表达下列操作:
1)查找参加唱歌队或篮球队的职工号和姓名。 2)查找没有参加任何社会团体的职工情况。 3)查找参加了全部社会团体的职工情况。 4)求每个社会团体的参加人数。 正确答案:【SELECT职工号,姓名FROM职工,社会团体,参加WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号AND社会团体.名称IN(‘唱歌队’,‘篮球队’)SELECT*FROM职工WHERENOTEXISTS(SELECT*FROM参加WHERE参加.职工号=职工.职工号)SELECT*FROM职工WHERENOTEXISTS(SELECT*FROM参加WHERENOTEXISTS(SELECT*FROM社会团体WHERE参加.职工号=职工.职工号AND参加.编号=社会团体.编号))SELECTCOUNT(职工号)FROM参加GROUPBY编号】 7、
假定有一个课程考试成绩表SC(Sno,Cno,Score),Sno表示学号,Cno表示课程号,Score表示考试成绩。主键为Sno和Cno,考试成绩在0-100分。用SQL语句完成如下要求: 1)创建SC。 2)将(“S002”,“C001”,95)插入到SC表中。 3)删除学号为“C100”的考试成绩。
4)将课程号为S100的所有学生成绩提高10%。 正确答案:【CREATETABLESC(SnoCHAR(8)NOTNULL,CnoCHAR(8)NOTNULL,ScoreSMALLINTCHECK(Score>=0ANDScore<=100),CONSTRAINTSC_PRIMPRIMARY(Sno,Cno))INSERTINTOSC(“S002”,“C001”,95)DELETEFROMSCWHERECno=”C100”UPDATESCSETScore=Score*1.1WHERESno=’S100’】 8、
设有一家百货商店,已知信息有:
l)每个职工的数据是职工号、姓名、地址和他所在的商品部。 2)每一商品部的数据有:它的职工,经理和它经销的商品。
3)每种经销的商品数有:商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定的)。 4)关于每个生产厂家的数据有:厂名、地址、向商店提供的商品价格。 请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表示。 正确答案:【职工(职工号,姓名,住址)商品部(商品部号,名称)商品(商品代号,商品名,价格,型号,出厂价格)生产厂家(厂名,地址)】 9、
某工厂生产管理系统的三个局部E-R图。各实体集主要属性如下: 部门:部门号、部门名称、电话、地址; 员工:员工号、姓名、性别;
设备供应商:供应商编号、供应商名称、电话、地址; 设备:设备号、名称、位置; 零件:零件号、名称、规格。
试将这三个局部E-R图合并成全局E-R图,并根据需要给出各联系集的属性。 正确答案:【逐步集成:初步E-R图,解决属性冲突、命名冲突、结构冲突;消除不必要的冗余。两个“加工”合并,两个“员工”合并,两个“零件”合并。供应:供应商编号,设备号,数量工作:部门号,员工号加工:员工号,设备号,零件号,数量】
10、输入任意两个实数x,y,必须保证x+y<0,否则重新输入。如果x>y,则保存xy到数据库中,否则保存x-y到数据库中。请设计一个解决此问题的程序流程图。根据流程图,分别设计测试用例,实现以下内容:语句覆盖、判定覆盖。 正确答案:【语句覆盖:XY-2-3-3-2判定覆盖:23-2-3-3-2】
综合作业
1、试述模式分解及其准则 释疑:【分解|目的|冗余|删除异常|插入异常|修改异常|准则|保持函数依赖|无损联结】
2、当今主流的DBMS有哪些? 释疑:【SQLServer|Access|MySQL|Oracle|Sybase|Informix】 3、试述数据库测试、目的及其任务。 释疑:【过程|发现错误|编制测试计划|运行测试用例|形成测试结论|测试分析报告】 4、试述数据库安全性分析的主要任务。 释疑:【用户及其权限|数据加密|病毒防护需求|防非法访问】 5、试述数据库的设计原则。 释疑:【不依赖原则|开放性原则|可扩展性原则|高效原则】 6、简述数据库的设计步骤及每个步骤的主要任务。 释疑:【逻辑结构设计|物理结构设计|验证设计|逻辑数据库|物理数据库|正确性|合理性】 7、简述关系模型的三要素。 释疑:【二维表|数据操纵|实体完整性|参照完整性|用户自定义完整性】 8、假定有一个课程考试成绩表SC(Sno,Cno,Score),Sno表示学号,Cno表示课程号,Score表示考试成绩。主键为Sno和Cno,考试成绩在0-100分。用SQL语句完成如下要求:1)创建SC。2)将(“S002”,“C001”,95)插入到SC表中。 释疑:【CREATE|TABLE|INSERT】
9、假定有一个课程考试成绩表SC(Sno,Cno,Score),Sno表示学号,Cno表示课程号,Score表示考试成绩。主键为Sno和Cno,考试成绩在0-100分。用SQL语句完成如下要求:1)删除学号为“C100”的考试成绩。2)将课程号为S100的所有学生成绩提高10%。 释疑:【DELETE|UPDATE|SET】 10、简述关系的6个基本性质。 释疑:【列同质|同一个域|列顺序无关性|不能完全相同|元组顺序无关性|分量原子性】 11、假定有一个课程考试成绩表SC(Sno,Cno,Score),Sno表示学号,Cno表示课程号,Score表示考试成绩。主键为Sno和Cno,考试成绩在0-100分。用SQL语句完成如下要求:1)把对表SC的INSERT权限授予用户张勇,并允许他再次将此权限授予其它用户。2)把查询SC表和修改Score属性的权限授予用户李明。 释疑:【GRANT|INSERT|SELECT|UPDATE】 12、简述MicrosoftSQLServer的特点。 释疑:【独立于硬件|对称|多处理器|抢占式|安全系统|容错功能|易于维护】 13、试述白盒测试及其用途。 释疑:【内部结构|工作过程|正常运行|逻辑路径测试】 14、试述黑盒测试及其用途。 释疑:【功能|预期结果|功能和性能|确认测试 15、简述数据库备份的原则。 释疑:【海量备份|定期执行备份|日志备份|多种介质|多个地点】 16、简述数据库应用系统。 释疑:【软件系统|程序|数据|数据库|文档】
17、简述数据库系统的三级模式结构及每级模式的作用。 释疑:【逻辑模式|外模式|内模式|数据冗余|数据共享|性能指标】 18、试述数据库及其特点。 释疑:【数据集合|结构化|独立性|数据共享|冗余度小】 19、解释数据的独立性。 释疑:【数据|应用程序|不存在|相互依赖|反之亦然】 20、解释瀑布模型。 释疑:【生命周期模型|规划|需求分析|设计|实现|测试|运行维护|自上而下|相互衔接|瀑布流水】 21、简述数据库系统中的二级映像技术及作用。 释疑:【外模式与模式|模式与内模式|逻辑独立性|物理独立性】 22、试述基本表、视图的定义及其二者的区别与联系。 释疑:【实际存在的表|逻辑表示|导出|虚表|实际存储的数据】 23、解释数据字典。 释疑:【数据项|数据结构|外部实体|数据流|数据存储|处理逻辑|字典顺序|严密性|准确性|无二义性】
24、试述数据库需求分析及其主要内容。 释疑:【分析确认|数据需求|数据结构分析|数据定义分析|数据操纵分析|数据完整性分析|数据安全性分析|数据并发处理分析|数据库性能分析|E-R图设计】 25、试述信息编码的原则。 释疑:【唯一性原则|准确性原则|可扩展性原则|规范性原则|稳定性原则】