付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、题型及分值1、填空题(10个空,10分)2、选择题(10小题,20分)3、程序填空题(10个空,20分)4、应用题(SQL查询及更新,4小题,16分)4、问答与分析题(5小题,34分)、知识要点(一)关系数据理论及数据库设计1、函数依赖:完全函数依赖、部分函数依赖、传递函数依赖2、三大范式3、反范式设计4、数据库设计的一般步骤5、数据库设计中各个步骤的作用【例1】在关系数据库中,从关系规范化的意义看,如果关系R中的非主属性对码有传递函数依赖,那么R最高是范式。【例2】设有关系模式R(A,B,C,D),其上的函数依赖集合F=B-A,B8D,则R最高是范式。【例3】在关系模式:选课(学号,课程号
2、,考试次数,成绩)中,假设一个学生可以参加多门课程的多次考试。该关系模式的码是。【例4】关系数据库的规范化理论主要解决的问题是()。A、如何构造合适的数据逻辑结构B、如何构造合适的数据物理结构C、如何构造合适的应用程序界面D、如何控制不同用户的数据操作权限【例5】一个只满足1NF的关系模式,可能存在哪些方面的问题?答:数据冗余、插入异常、删除异常和修改异常。【例6】关系模式R(球员编号,篮球比赛场次,进球数,球队名,队长)用来表示我校举行的各系篮球比赛。规定每个球队只有一名队长。(1)试说明R不是2NF的理由,并将R分解为2NF的模式集。答:关系R的码是(球员编号,篮球比赛场次)。该关系的函数
3、依赖集如下:(球员编号,篮球比赛场次)进球数,球员编号球队名,球队名队长即存在非主属性“球员编号”、“队长”对码的部分函数依赖,因此R不是2NF。将R分解为2NF后的结果如下:R1:(球员编号,簿球比赛场次,讲球数)R2:(球员编号,球队名,队长)(2)将R分解为3NF模式集。答:R1:(球员编号,篮球比赛场次,进球数)R2:(球员编号,球队名)R3:(球队名,队长)【例7】就下图给出的关系R,回答问题:RSNOCNOCTITLESNAMESLOCAGRADE80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI杨洋D37280155C4C
4、L高升D292(1)关系R为几范式?为什么?(2)是否存在删除操作异常?若存在,则说明是在什么样情况下发生的?(3)将它分解成高一级范式,分解后的关系是如何解决分解前可能存在的删除异常问题的?【例8】已知点评网的后台数据库中存在以下两个关系:帖子表(帖子ID,帖子标题,会员ID),会员表(会员ID,会员昵称,会员等级)。请回答以下问题:(1) 已知“帖子ID”为自增列字段,请写出查询最新的10个帖子的标题以及会员昵称的查询语句。答:SELECTTOP10N.帖子标题,U.会员昵称,N.会员IDFROM帖子表NINNERJOIN会员表UONN.会员ID=U.会员IDORDERBYN.帖子IDDE
5、SC(2) 为了提高第一小题的SQL语句的查询速度,您会如何重新设计数据库表?并说明原因。答:当帖子表和会员表中涉及到大量记录时,上述的查询难以满足用户对于网页速度的要求。为了提高查询速度,考虑“反范式设计”,即在帖子表里面添加冗余字段“会员昵称”,这样就可以通过下面的语句达到同样的查询目的:SELECTTOP10帖子标题,会员昵称,会员IDFROM帖子表ORDERBY帖子IDDESC【例9】请简述范式对查询的影响。答:对查询的利:(1)减少数据冗余,数据更为紧凑;(2)表的行数少,排序、索引更为迅速;(3)由于多表,多个聚集索引成为可能。对查询的弊:使得查询数据分离在多张表中,增加了查询的复
6、杂性。【例10】概念结构设计阶段得到的结果是()。A.数据字典描述的数据需求B.E-R图表示的概念模型C.某个DBMS所支持的数据模型D.包括存储结构和存取方法的物理结构【例11】设某商业集团数据库中有三个实体集:“商店”实体集,其中的属性有商店编号、商店名、地址等;“商品”实体集,其中的属性有商品号、商品名、规格、单价等;“职工”实体集,其中的属性有职工编号、姓名、性别、业绩等。商店与商品之间存在“销售"联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工之间存在着“聘用”联系,每个商店的职工人数应该在20100人之间,每个职工只
7、能在一个商店工作,商店聘用职工有聘用期和月薪。(1)试画出E-R图;(2)将E-R图转换成关系模型。(二)数据库的完整性1、约束:三类完整性约束、SQLServer的约束类型2、触发器:after触发器3、游标的作用例1请编写触发器实现如下功能:将userInfo(uid,userName,userPass)删除的记录,移到userInfo_Del(userName,userPass,delTime)中。其中,del_time存储删除操作的时间。【例2】有职工表EMP和部门表DEPT如图所示,其中有下划线的属性为主键,有波浪线的属性为外键。下面操作不能正确执行的是()A.检索部门号为“D05的
8、职工号B.将EMP表中职工季路”的部门号改为空值C.删除职工崔浩”的记录D.在EMP表中插入记录(“E1'a"D05,王莹”)EMPDEPT职工号部门号职工名E01D03李路E25D01武明E19D04崔浩E32D01李颖部门号部门名D01研发部D02市场部D03人事部D04财务部【例3】已知两个关系如下:ABC1b1c12b2c23b1c1RDEAd1e11d2e21d3e12假设R的主键是A,S的主键是D,在关系S的定义中包含外键子句:FOREIGNKEY(A)REFERENCES卜列SQL语句不能成功执行的是(RA.DELETEFROMB.DELETEFROMC.DEL
9、ETEFROMD.DELETEFROM【例4】已知Teacher表包含教师编号、R(A)”,)WHEREA=2WHEREA=3WHEREA=1WHEREA=2姓名、职称和工资四个字段。请定义完整性规则:教授工资不得低于4000元。如果低于4000元,自动改成4000元。【例5】一个SQL语句原则上可产生或处理一组记录,而主语句一次只能处理一个记录,为此必须协调两种处理方式,这是通过使用游标机制来解决的。(三)视图1、数据库系统的三级模式:外模式、内模式、模式2、视图的作用【例1】什么是物化视图?试分析物化视图与普通视图的区别。答:物化视图指的是存放SQL语句对应查询结果的视图。区别:(1)普通
10、视图只存放视图的定义,物化视图存放的是实际的查询数据;(2)使用物化视图的查询效率通常高于普通视图;(3)物化视图需要占用较大的存储空间;(4)当基表中的数据发生变化时,需要刷新物化视图。【例2】单个用户使用的数据视图的描述称为()A.外模式B.概念模式C.内模式D.存储模式【例3】在合并分E-R时,需完成消除命名冲突的工作。使用视图机制可以重新定义某些属性名,使其与用户习惯一致。(四)存储过程1、存储过程的定义2、存储过程的优缺点【例1】什么是存储过程?存储过程有哪些优点?答:存储过程是用户完成某项特定任务的一组预编译好的SQL语句。优点:(1)模块化编程;(2)快速执行;(3)减少网络通信
11、量。(4)预防SQL语句的注入攻击。【例2】试举例说明存储过程能够预防SQL语句注入攻击。答:假设数据库中有一个关系student(sno,sname,sage,ssex)在连接数据库后,使用字符串拼接的方式查询指定学号的学生信息,其中txtSno.Text代表用户往文本框中输入的学号。StringsqlStr=select*fromstudentwheresno=,"+txtSno.Text.Trim()+”?"如果用户往文本框中输入字符串:,or,1?=,1该语句将成为select*fromstudentwheresno=,?or,1?=?1?即执行结果为student
12、表中的全部记录。而如果在student表上创建如下存储过程Pr_Student,其中sno用于接受用户输入的学号。CreateprocedurePr_Studentsnochar(5)AsSelect*fromstudentsno=sno然后在应用程序中使用如下语句调用存储过程。SqlCommandcommand=newSqlCommand("Pr_Student",sqlCon);command.CommandType=CommandType.StoredProcedure;command.Parameters.AddWithValue("sno",s
13、no);当用户输入字符串,or,1?=,1,将在数据库中查找sno为,or,1?=,1的学生信息,输出结果将为空。通过上例说明了使用存储过程能够预防SQL语句的注入攻击。【例3】设计一个具备分页功能的存储过程。【例4】请在UserLogin(id,userName,userPass,lastLogin)表中,编写一个实现登录”功能的存储过程。其中,lastLogin代表最后登录时间。(五)索引及SQL语句【例1】设有三个关系:student(sno,sname,sage)course(cno,cname,ccredit)、sc(sno,cno,grade),试写出“查询选修了所有课程的学生的姓
14、名”的SQL语句。【例2】设有学生运动会模型,语义如下:(1)有若干班级,每个班级包括:班级号,班级名,专业,人数;(2)每个班级有若干运动员,运动员只能属于一个班,运动员信息包括:运动员号,姓名,性别,年龄;(3)有若干比赛项目,包括:项目号,名称,比赛地点;(4)每名运动员可参加多项比赛,每个项目可有多人参加;(5)要求能够公布每个比赛项目的运动员名次与成绩;(6)要求能够公布各个班级团体总分的名次和成绩。解题要求:1)画出每个实体及其属性关系、实体间实体联系的E-R图。2)根据试题中的处理要求:把E-R图转化为关系数据逻辑模型,包括各个表的名称和属性,并指出每个表的主键和外键。答:关系模
15、式如下:a) 班级(班级号,班级名,专业,人数)主键:班级号b) 运动员(运动员号,姓名,性别,年龄,班级号)主键:运动员号外键:班级号c) 项目(项目号,项目名,比赛地点)主键:项目号d) 比赛(运动员号,项目号,成绩,名次,得分)主键:运动员号,项目号外键:运动员号;项目号3)试用SQL命令建立“运动员”表,注意主键和外键的说明。答:createtable运动员(运动员号char(4)notnullprimarykey,姓名varchar(8),性别char(2),年龄tinyint,班级号char(2),constraintsFK_bhforeignkey(班级号)references班
16、级(班级号)4)试用SQL命令对“运动员”表建立名为“班级年龄”的索引:首先按班级号升序排序,若相同班级的按年龄降序排序。答:createindex班级年龄on运动员(班级号,年龄desc)5)为了加快语句select姓名,年龄from运动员where年龄=18and年龄=22的查询速度,你会如何创建索引?请写出创建索引的语句。答:createindex年龄姓名on运动员(年龄,姓名)6)试用SQL命令描述:检索出姓名中含有“敏”字的学生姓名及其所参加比赛项目的名称。答:select姓名,项目名from运动员,比赛,项目where姓名like“敏”and运动员.运动员号=比赛.运动员号and项目项目号=比赛.项目号7)试用SQL命令描述:检索出“跳远”比赛中的成绩排在前三名的运动员姓名。答:selecttop3姓名from运动员,比赛,项目where项目名="跳远&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市泗水县2025届四下数学期末考试试题含答案
- 2026年河北省辛集市高一化学上册期末考试模拟卷(考点梳理)附答案
- 济南市长清区2025届数学四年级第二学期期末学业质量监测模拟试题含答案
- 泸州市龙马潭区2025届数学三年级第二学期期中检测试题(含答案)
- 铁合金焙烧操作工安全宣贯竞赛考核试卷含答案
- 混凝土模具工岗前变革管理考核试卷含答案
- 淡水鱼类养殖工安全生产意识竞赛考核试卷含答案
- 露酒酿造工岗位水平测试考核试卷含答案
- 塔盘制炼工道德强化考核试卷含答案
- 稀土化工操作工岗前协同配合考核试卷含答案
- T/CAIEC 084-2025城镇排水管道检测与评估技术规程
- 2026新版医院安全风险告知卡大全
- 2026年中国高端多晶硅行业市场调研分析及投资战略咨询报告
- 2026年金钥匙比赛试题及答案
- 心衰合并肾功能不全综合干预指南
- 【《均值不等式在初等数学中的应用研究》6500字(论文)】
- 软件项目立项申请书
- IEC 61800-3-2023 中文版(可调速电力传动系统 第 3 部分:电磁兼容性要求及其特定试验方法)
- 2026年新版《医疗器械监督管理条例》培训试题及答案
- 2026人教版四年级数学上册第七单元第1课《数与运算》课件
- 辣椒基质育苗操作指引
评论
0/150
提交评论