数据库第3次上机
2014年9月份考试数据库原理第三次作业
题目信息
难度: 7
正确答案: SELECT SUM( QTY*WEIGHT) FROM P, SPJ, J WHERE P.PNO = SPJ.PNO AND J.JNO = SPJ.JNO AND J.JNAME =‘三峡工程
解题方案:
反馈信息:
3. 关系数据模型如下:学生 Student(Sno,Sname,Sdept,Sage,Sex)用SQL写出查询程序:查询计算机系年龄在20岁以下性别为男的学生姓名。 (本题分数:10 分,本题得分:0 分。)
题目信息
难度: 6
正确答案: 第一个记录
解题方案: 用OPEN语句打开游标时,游标指针指向查询结果的第一个记录。
反馈信息:
5. 关系规范化的目的是 1 (本题分数:5 分,本题得分:0 分。)
题目信息
难度: 7
正确答案: 控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性
题目信息
难度: 5
正确答案: 是各类数据描述的集合。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要结果,在数据库中占重要地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流,数据存储的逻辑内容。
解题方案: 并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。丢失修改是指事务1与事务2从数据库中读入同一数据并修改,事务2的提交结果破坏了事务1提交的结果,导致事务1的修改被丢失。不可重复读是指事务1读取数据后,事务2执行更新操作,使事务1无法再现前一次读取结果。读“脏”数据指事务1修改某一数据,并将其写回磁盘,事务2读取同一数据后,事务1由于某种原因被撤销,这时事务1已修改过的数据恢复原值,事务2读到的数据就与数据库中的数据不一致,是不正确的数据,又称“脏”数据
第3次上机试题
4.查询计算机系选修了数据库课的所有男生的姓名及该课的成绩
4(2)查询计算机系选修了数据库课的所有90后女生的姓名及该课的成绩(当前2010)
SELECT sname, grade
FROM sc, student, course
WHERE sc.sno=student.sno and o=o and sdept='计算机系' and cname='数据库' and sex='女' and 2010-year(csrq)>=1990;
9.查询李勇同学所学课程的学分为2学分以上课程的学分总和及成绩总和(注用as 总学分,总成绩)
select sum(ccredit) as 总学分 ,sum(grade) as 总成绩,count(*) as 总人数
from student,sc,course
where student.sno=sc.sno and o=o and sname LIKE '李%' and ccredit>2
SELECT avg(grade) as 平均成绩,avg(ccredit)as 平均学分,avg(2010-year(csrq))as 平均年龄
FROM sc,student,course
where sc.sno=student.sno and o=o and sdept='计算机系'and sdept='管理系'
5.查询2009级选修了数据库课的最高成绩.最低成绩和平均成绩(注用as 来表示最低,最高及平均成绩
SELECT max(grade) AS 最高成绩, min(grade) AS 最低成绩, avg(grade) AS 平均成绩
三级数据库技术上机试题答案解析(2012)
三级数据库技术上机试题答案解析(2012)第一套【考点分析】本题考查对4位整数的排序。
考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。
【解题思路】此题属于4位数排序问题。
本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。
本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。
对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。
【参考答案】void jsSort(){int i,j; /*定义循环控制变量*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i<199;i++) /*用选择法对数组进行排序*/for(j=i+1;j<200;j++){if(aa[i]%1000<aa[j]%1000) /*按照每个数的后3位大小进行降序排序*/{temp=aa[i];aa[i]=aa[j];aa[j]=temp;}else if(aa[i]%1000==aa[j]%1000) /*如果后3位数相等*/if(aa[i]>aa[j]) /*则要按原4位数的值进行升序排序*/{temp=aa[i];aa[i]=aa[j];aa[j]=temp;}}for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/bb[i]=aa[i];}【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。
第二套【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。
【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX =NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX 和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。
《数据库原理及应用》第三次在线作业
单选题(共40道题)收起1.(2.5分)关系代数的基本操作组成关系代数的完备操作集,其他操作均可以由基本操作来表达。
具体而言,关系代数的基本操作有()。
••••我的答案:C 此题得分:2.5分2.(2.5分)在具有非过程性查询语言的数据库系统中,()是查询处理的核心。
••••我的答案:B 此题得分:2.5分3.(2.5分)关系数据库系统的查询处理包括两个方面的内容:查询优化和()。
••••我的答案:A 此题得分:2.5分4.(2.5分)()是选择操作中的线性搜索算法。
•进行排序•••如果满足,则作为一个结果元组输出我的答案:D 此题得分:2.5分5.(2.5分)()是选择操作中的主索引搜索算法。
•进行排序•••如果满足,则作为一个结果元组输出我的答案:B 此题得分:2.5分6.(2.5分)设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为()。
••••我的答案:A 此题得分:2.5分7.(2.5分)查询处理最终可转化成基本的()代数操作。
••C、空值•D、集合我的答案:A 此题得分:2.5分8.(2.5分)计算笛卡尔乘积的最简单算法称为()。
•A、大关系算法•B、主存算法•C、嵌套循环算法•D、半主存算法我的答案:C 此题得分:2.5分9.(2.5分)在SQL中,表示选择操作的语句为()。
•A、SELECT * FROM R WHERE C1 AND C2 OR C3•B、SELECT R.*,S.* FROM R,S WHERER.A S.B •C、INSERT INTO R VALUE(a,b,c,d)•D、UPDATE R SET A=a WHEREC1 AND C2 OR C3我的答案:A 此题得分:2.5分10.(2.5分)在SQL中,表示连接操作的语句为()。
•A、SELECT * FROM R WHEREC1 AND C2 OR C3•B、SELECT R.*,S.* FROM R,S WHERER.A S.B •C、INSERT INTO R VALUE(a,b,c,d)•D、UPDATE R SET A=a WHEREC1 AND C2 OR C3我的答案:B 此题得分:2.5分11.(2.5分)投影操作中不包含主键,需要去除重复()。
中石油_数据库原理及应用_第三次在线作业及答案.doc
第三次在线作业单选题(共34道题)收起1. (2.5分)下列各项中不属于配置管理的内容的是()A、定义新的管理对象B、识别管理对象C、网络资源之间的关系的监视和控制D、接收差错报告并作出反应我的答案:D 此题得分:2.5分2. (2.5分)以下()不是目前使用的标准网络管理协议A、SNMPB、CMIS/CMIPC、T CP/IPD、L MMP我的答案:C 此题得分:2.5分3. ( 2.5分)以下网络攻击中,哪种不属于主动攻击()A、通信量分析攻击B、重放攻击C、拒绝服务攻击D、假冒攻击我的答案:A 此题得分:2.5分4. ( 2.5分)基于网络底层协议、利用实现协议的漏洞达到攻击目的,这种攻击方式称为()A、被动攻击B、非服务攻击C、人身攻击D、服务攻击我的答案:B 此题得分:2.5分5. (2.5分)预测(假冒)TCP初始序号和利用TCP/UDP数据包的DoS攻击(非授权使用)属于TCP/IP中()的安全性范畴A、网络层安全性B、传输层安全性C、应用层安全性D、以上都不是我的答案:B 此题得分:2.5分6. (2.5分)以下()不是安全威胁的体现A、删除B、中断C、截取D、修改我的答案:A 此题得分:2.5分7. (2.5分)特洛伊木马攻击的威胁类型属于()A、旁路控制威胁B、植入威胁C、渗入威胁D、授权侵犯威胁我的答案:B 此题得分:2.5分8. (2.5分)如果一个登录处理子系统允许处理一个特定的用户识别码,以绕过通常的口令检查。
这种威胁属于()A、陷门B、假冒C、中断D、旁路控制我的答案:A 此题得分:2.5分9. (2.5分)防火墙中的数据包过滤技术是在哪一层对数据包进行过滤()A、数据链路层B、网络层C、物理层D、会话层我的答案:B 此题得分:2.5分10. (2.5分)误码率是指二进制码元在数据传输系统中被传错的()A、字节数B、速度C、概率D、比特数我的答案:C 此题得分:2.5分11. (2.5分)地址解析协议ARP属于TCP/IP的哪一层?A、主机■网络层B、应用层C、传输层D、互联层我的答案:D 此题得分:2.5分12. (2.5分)采用直接交换方式的Ethernet交换机,其优点是交换延迟时间短,不足之处是缺乏()A、并发交换能力B、差错检测能力C、地址解析能力D、路由能力我的答案:B 此题得分:2.5分13. (2.5分)以下关于Ethernet地址的描述,哪个是错误的?A、MAC地址又叫做局域网物理地址B、域名解析必然会用到MAC地址C、局域网硬件地址存储在网卡之中D、E thernet地址就是通常所说的MAC地址我的答案:B 此题得分:2.5分14. (2.5分)以下关于Windows2000的描述中,哪一种说法是错误的?A、服务器的新功能之一是活动目录服务B、域是基本的管理单位C、域控制器不再区分主从结构D、数据中心版适合数字家庭使用我的答案:D 此题得分:2.5分15. (2.5分)通信线路的带宽是描述通信线路的()A、传输能力B、纠错能力C、互联能力D、物理尺寸我的答案:A 此题得分:2.5分16. (2.5分)在因特网中,屏蔽各个物理网络的差异主要通过以下哪个协议实现?A、IPB、TCPC、S NMPD、N ETBEUI我的答案:A 此题得分:2.5分17. (2.5分)链路聚合的目的是保证()负载均衡。
《数据库技术》第三次实验内容
数据库技术实验创建库和表1.在'D:\SQL2000\DataBase\路径下创建数据库xscj,要求:主数据文件逻辑名为xscj_Data,物理名为xscj_Data.MDF,初始大小为10MB,最大允许为300MB,文件以5MB递增。
事务日志文件逻辑名为xscj_Log,物理名为xscj_Log.LDF,初始大小为10MB,最大允许为200MB,文件以2MB递增。
2.创建表参见教材附录A的要求:CREATE TABLE xs()CREATE TABLE kc()CREATE TABLE xs_kc()上面的SQL代码调试正确之后,请将xscj数据库整个删除,再进行下面的操作。
带完整数据的XSCJ数据库的还原:先下载我课件中的homework备份。
点击后找到你下载下来的homework 的备份(我课件中XSCJ数据库的备份)所在的位置然后一直“确定”下去,就可以还原XSCJ 数据库了,下面的操作都在这个数据库上进行。
如果报错,把第二幅图中的选项改为计算机上正确的文件路径即可。
学生成绩数据的简单和复杂查询实验步骤以xscj数据库为例,使用查询分析器完成以下的查询语句:(1) 查询xs表中的所有学生的信息以及仅查询学生姓名。
(2) 查询出XS表中的前10个或前面10%的学生信息。
(3) 查询总学分<50的所有学生的学号,姓名,专业名。
(4) 将XS_KC表中的学生学号,课程号及成绩输出,其中成绩按70%的分数显示,并且将成绩列名改为‘考试所占分数’。
(5) 查询XS表中的学生相关信息,并以学生姓名,所学专业,出生时间作为列名。
(6) 查询XS_KC表,显示学生成绩在80到89之间的学生选课信息。
(7) 从KC表中找出学时大于60的课程信息,并按照升序和降序显示。
(8) 找出姓王的所有学生。
(9) 查询总学分大于50的所有学生的姓名,性别,专业和选修课程号和成绩(10)查询计算机专业的学分大于50的学生的姓名及所选课程名和成绩。
河工大文献检索第三次作业+答案+指导
河工大文献检索第三次作业+答案+指导-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII第三次上机检索实习指导书外文数据库(二)一、使用美国ASP+BSP数据库检索:中美双方关于中国参加世贸组织的谈判成功以后,美国企业对中国市场越发关注。
在著名期刊《哈佛商业评论》2000年的某一期中,有一篇文章重点介绍了美国柯达公司是如何在中国建立西方模式的股份公司的。
请你在Business Source Premier数据库中找到这篇文献,并回答:①这篇文章的题目、作者、发表的卷期号、页数是什么?答:题目:A Better Way to Crack China.作者:Vanhonacker, Wilfried R.发表的卷期号:Jul/Aug2000, Vol. 78 Issue 4页数:p20-22②柯达公司目前有几家中国公司,分布在什么地方?答:两家。
1:柯达(中国):厦门汕头 2:柯达(无锡):无锡③柯达公司在这些公司中所占股份是多少?答:柯达(中国)占有80%;柯达(无锡)占有70%登陆图书馆主页:,在“电子资源栏”中选择“西文数据库”:图1在西文数据库列表中找到“美国ASP+BSP数据库”,点击地址链接进入主页:默认进入Academic Search Premier(ASP)数据库,如图所示,点击“选择数据库”链接:只勾选Business Source Premier(BSP),点击确定进入BSP数据库:根据题目要求,在BSP的检索界面中按下图所示输入,检索限定也如图,出版日期限定为2000年,单击搜索。
根据题意,在检索结果列表中找到第一条结果符合,单击其篇名。
文章题目:A Better Way to Crack China.作者:Vanhonacker, Wilfried R.;卷期号:Jul/Aug2000, Vol. 78 Issue 4 ;页数:p20-22。
计算机三级的数据库上机试题及答案
计算机三级的数据库上机试题及答案计算机三级的数据库上机试题及答案计算机三级数据库技术是全国计算机等级考试中三级的一类。
以下为大家供应的是三级数据库上机考试题,仅供参考!1. %满意条件的正整数个数,及右移是偶数的个数平均值%%%%%%%%%%%%% 40题int i;for (i=0;i200;i++){if(xx[i]0){totNum++;if((xx[i]1)%2==0){totCnt++;totPjz+=xx[i];}第1页/共8页}}totPjz=totPjz/totCnt;2.奇数偶数个数,平均值,奇偶数的方差 83题%%%%%%%%读函数未知for(i=0;i100;i++){for(j=0;j10;j++)fscanf(fp,%d,,xx[i*10+j]); //留意此处的 , 逗号 fscanf(fp,);if(feof(fp))break;}/////////int pp[1000];第2页/共8页int i,j;for(i=0;imax;i++) p={if(xx[i]%2){odd++;ave1+=xx[i];}else if (xx[i]%2==0){pp[even]=xx[i];even++;ave2+=xx[i];}}ave1=ave1/odd;第3页/共8页ave2=ave2/even;for(j=0;jeven;j++) p={totfc+=((pp[j]-ave2)*(pp[j]-ave2));}totfc=totfc/even;3.求 100以上 1000之内素数并且(个位+十位)/10=百位的`数的个数,和int i,j;int hun,ten,data;int half;for(i=101;i1000;i++){half=i/2;for(j=2;j=half;j++){第4页/共8页if(i%j==0)break;}hun=i/100;ten=i%100/10;data=i%10;if((jhalf)((data+ten)%10==hun)){cnt++;sum+=i;}}4.a1=1;a2=1;a3=a1+2*a2; s(n)=a1+a2+...+an %求 n 值 s(n)100,1000,10000100,1000,10000 int a1,a2,a3;第5页/共8页int s2;int n,i;int M[3]={100,1000,10000};for(i=0;i3;i++){ a1=1;a2=1;s2=a1+a2;n=2;while(s2m[i]) p={a3=a1+2*a2;s2+=a3;a1=a2;a2=a3;n++;}第6页/共8页b[i]=n-1;}5.选票问题 58题统计选票作废的条件不同 84题 int i,j,k;int cnt;for(i=0;i100;i++){ j=0;cnt=0;while(xx[i][j]){if(xx[i][j]==1)cnt++;j++; ////留意循环变量的设置}if(cnt==0||cnt==10)第7页/共8页continue;else{for(k=0;k10;k++) //////这里不用函数 strlen 由于没有库函数{if (xx[i][k]==1)yy[k]++;}}}文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
数据库上机实验报告
数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。
首先,我们学习了数据库的设计原理和方法。
在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。
在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。
其次,实验中我们学习了数据库的创建和管理。
通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。
在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。
最后,我们进行了数据库的查询操作。
通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。
在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。
通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。
《数据库原理及应用》第三次在线作业参考答案
作业第1题关系代数的基本操作组成关系代数的完备操作集,其他操作均可以由基本操作来表达。
具体而言,关系代数的基本操作有()。
您的答案:C题目分数:0.5此题得分:0.5批注:课件第七章第2题在具有非过程性查询语言的数据库系统中,()是查询处理的核心。
您的答案:B题目分数:0.5此题得分:0.5批注:概述第3题关系数据库系统的查询处理包括两个方面的内容:查询优化和()。
您的答案:A题目分数:0.5此题得分:0.5批注:概述第4题()是选择操作中的线性搜索算法。
您的答案:D题目分数:0.5此题得分:0.5批注:启发式代数优化算法第5题()是选择操作中的主索引搜索算法。
您的答案:B题目分数:0.5此题得分:0.5批注:启发式代数优化算法第6题设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为()。
题目分数:0.5此题得分:0.5批注:笛卡尔积第7题查询处理最终可转化成基本的()代数操作。
您的答案:A题目分数:0.5此题得分:0.5批注:查询处理过程第8题计算笛卡尔乘积的最简单算法称为()。
您的答案:C题目分数:0.5此题得分:0.5批注:笛卡尔积第9题在SQL中,表示选择操作的语句为()。
您的答案:A题目分数:0.5此题得分:0.5批注:关系数据库标准语言SQL第10题在SQL中,表示连接操作的语句为()。
您的答案:B题目分数:0.5此题得分:0.5批注:连接操作第11题投影操作中不包含主键,需要去除重复()。
您的答案:D题目分数:0.5此题得分:0.5批注:投影操作第12题关系代数的四个组合操作是:交、自然连接、连接和()。
您的答案:C题目分数:0.5此题得分:0.5第13题下列运算中()不是关系代数的基本操作。
您的答案:B题目分数:0.5此题得分:0.5批注:课件第七章第14题关系运算中花费时间可能最长的运算是()。
您的答案:A题目分数:0.5此题得分:0.5批注:课件第七章第15题对于同一个查询,使用不同的查询策略会得到()。
第三次文献检索上机作业
通过CNKI完成以下练习
1、查找由中国社会科学院主办的社科双高期刊,并写出刊名和种类。
2、查找从2008年---2009年第一作者为周来达所写的文章,写明题名及文献来源和来源库。
3、按照中图分类法查找分类号为G251或含“图书馆”的论文,并写明查找到的文献总量
数目。
4、查找作者单位是“北华航天工业学院”的文章,并写明所查找到的文献总量。
5、利用高级检索功能查找2004年1月至2009年1月,在文章关键词中含有计算机或含程
序设计,作者单位是清华大学的文献,并写明题名、文献来源、发表时间。
6、利用专业检索功能检索题名中含有机械,关键词含有机械加工并且作者为张姓的文献,
写明检索表达式,并记录检索结果。
浏览查看图书馆的各种数据库,如库客(KUKE)数字音乐图书馆等。
数据库上机实验五篇范文
数据库上机实验五篇范文第一篇:数据库上机实验创建数据表与数据输入Part I.使用SQL Server Management Studio创建数据表和输入数据 1.在SQL Server Management Studio中创建数据表 P69 1.(1)-(6)2.为数据表输入数据 P76 4.(1)-(4)3.数据浏览P771.(1)-(2)2.(1)-(3)Part II.使用SQL语句创建数据表和输入数据 1.使用SQL语句创建数据表 P72.例3-22.使用SQL语句输入数据 P82.例3.8习题:P.105(1)(2)insert 数据操作Insert、Update、DeleteP105 3.上机练习题(2)(4)Insert(100001, 1000, 2002-12-18 0:00:00)(100002, 2000, 2010-3-20 0:00:00)Update(100001, 1500, 2002-12-18 0:00:00)(100002, 2000, 2012-9-25 0:00:00)Delete Transact-SQL语句基础1 1.将teaching数据库中score 表的studentno列设置为引用表student的外键。
ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY(studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。
ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’)3.为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。
数据库上机试题三级数据库上机试题
if(p)*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen(\ ps1.dat\ ,\ w\ );
for(i=0;i<maxline;i++){
三级数据库上机试题
1.请编写一个函数jsValue(intm,intk,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
例如:若输入175则应输出:19,23,29,31,37。
Int isP(int m)
{int i; for(i=2;i<m;i++) if(m%i==0)return0;
return 1;}
void num(intm,intk,intxx[])
{int s=0; for(m=m+1;k>0;m++)
if(isP(m)){xx[s++]=m;k--;}}
2.jsVal()其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
文章引用自:
9.SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,原文:dAe,bbAA
结果:fedCBA.bbCCAA
void SortCharD(void)
数据库课后上机答案Exp3_3
(1)【审题分析】本题考查的是选择查询,要求选择的字段是“导游”、“线路名”、“天数”、“费用”4个字段内容,选择条件无。
【操作步骤】步骤1:在Exam3数据库窗口中单击“查询”对象,单击“新建”按钮,选择“设计视图”,在“显示表”对话框中添加“线路”和“旅游”表,关闭“显示表”对话框。
步骤2:分别双击“旅游”表中的“导游”和“线路”表中的“线路名”、“天数”和“费用”字段。
步骤3:单击“保存”按钮,在“查询名称”文本框输入“QY1”。
单击“确定”按钮,关闭设计视图。
(2)【审题分析】本题考查的是选择查询,要求选择的字段是“线路名”和“费用”2个字段内容,选择条件为天数在3天和7天之间。
【操作步骤】步骤1:在Exam3数据库窗口中单击“查询”对象,单击“新建”按钮,选择“设计视图”,在“显示表”对话框中添加“线路”表,关闭“显示表”对话框。
步骤2:分别双击“线路”表中的“线路名”、“天数”和“费用”字段,在“天数”字段的“条件”栏中输入“Between 3 And 7”,并去掉“显示”栏中的勾。
步骤3:单击“保存”按钮,在“查询名称”文本框输入“QY2”,单击“确定”按钮,关闭设计视图。
(3)【审题分析】本题考查的是计算查询,要求选择的字段是“线路”表中的全部字段,还需要添加1个计算字段由现有的字段值计算得到。
【操作步骤】步骤1:在Exam3数据库窗口中单击“查询”对象,单击“新建”按钮,选择“设计视图”,在“显示表”对话框中添加“线路”表,关闭“显示表”对话框。
步骤2:双击“线路”表中的“*”字段,然后在第二列的“字段”栏中输入“折后价格: [费用]*0.8”。
步骤3:单击“保存”按钮,在“查询名称”文本框输入“QY3”,单击“确定”按钮,关闭设计视图。
(4)【审题分析】本题考查的是删除查询,要求符合指定的条件的记录都被删除。
【操作步骤】步骤1:在Exam3数据库窗口中单击“查询”对象,单击“新建”按钮,选择“设计视图”,在“显示表”对话框中添加“旅游”表,关闭“显示表”对话框。
数据库第3次上机
数据库第3次上机实验6 T-SQL语⾔实验⽬的:1、掌握Transact-SQL语⾔中的变量、运算符、函数;2、掌握Transact-SQL语句编写批处理和流程控制程序。
3、掌握游标的创建,打开,数据读取,关闭,销毁的基本⽅法实验内容和步骤:⾸先完成数据库和表的创建(具体代码,见“建库.sql”,可⽤⽂本编辑器打开)。
具体操作:⾸先在D盘下新建⽂件夹T estDB,打开“查询分析器”->点击⼯具栏中的图标->找到“建库.sql”,打开 ->执⾏。
即可得到实验所需数据库和数据。
Transact-SQL语⾔是在SQL Server 2000 中使⽤的程序设计语⾔。
不但包含了标准SQL 语⾔部分,⽽且为了满⾜实际应⽤中的编程需要,在Transact-SQL语⾔中还另外增加了⼀些语⾔要素,它们包括注释、变量、运算符、函数和流程控制语句等。
所有的语句都在查询分析器中执⾏。
1. Transact-SQL语句实验内容1:返回在程序执⾏过程中上⼀条SQL语句影响的记录数(全局变量@@ROWCOUNT),注意观察结果窗⼝。
use teach--打开teach 数据库GO--查询学⽣表中的记录SELECT * FROM Student--查询上⼀条SELECT语句影响的记录数SELECT @@ROWCOUNT AS 第⼀次查询返回的记录数GO实验内容2:查询学⽣表的⼈数,将返回的记录数赋给局部变量@RowsUSE teachGODECLARE @Rows int--声明局部变量--给局部变量赋值SET @Rows=(SELECT COUNT(*) FROM Student)--显⽰局部变量的值SELECT @Rows AS SELECT返回的记录数GO实验内容3:设置⼀个局部变量为表,进⾏插⼊和查询操作-- 定义变量为临时表DECLARE @Table_Example TABLE(Col_num int PRIMARY KEY,Col_text char (50))-- 向该变量中添加两⾏内容INSERT INTO @Table_Example VALUES (1, 'this is a')INSERT INTO @Table_Example VALUES (2, 'table data type example')-- 从临时表中查询SELECT * FROM @Table_ExampleGO实验内容4:(练习,⾃⼰试着写⼀下)设置⼀个局部变量其值为选修了课程的⼈数,并显⽰提⽰:DECLARE@Rows int--声明局部变量--给局部变量赋值SET@Rows=(SELECT COUNT(distinct sno)FROM SC)--显⽰局部变量的值SELECT@Rows AS选课⼈数GO实验内容5:检查sysdatabases中的每⼀个数据库,使⽤数据库标识号来确定数据库名称。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 T-SQL语言实验目的:1、掌握Transact-SQL语言中的变量、运算符、函数;2、掌握Transact-SQL语句编写批处理和流程控制程序。
3、掌握游标的创建,打开,数据读取,关闭,销毁的基本方法实验内容和步骤:首先完成数据库和表的创建(具体代码,见“建库.sql”,可用文本编辑器打开)。
具体操作:首先在D盘下新建文件夹T estDB,打开“查询分析器”->点击工具栏中的图标->找到“建库.sql”,打开 ->执行。
即可得到实验所需数据库和数据。
Transact-SQL语言是在SQL Server 2000 中使用的程序设计语言。
不但包含了标准SQL 语言部分,而且为了满足实际应用中的编程需要,在Transact-SQL语言中还另外增加了一些语言要素,它们包括注释、变量、运算符、函数和流程控制语句等。
所有的语句都在查询分析器中执行。
1. Transact-SQL语句实验内容1:返回在程序执行过程中上一条SQL语句影响的记录数(全局变量@@ROWCOUNT),注意观察结果窗口。
use teach--打开teach 数据库GO--查询学生表中的记录SELECT * FROM Student--查询上一条SELECT语句影响的记录数SELECT @@ROWCOUNT AS 第一次查询返回的记录数GO实验内容2:查询学生表的人数,将返回的记录数赋给局部变量@RowsUSE teachGODECLARE @Rows int--声明局部变量--给局部变量赋值SET @Rows=(SELECT COUNT(*) FROM Student)--显示局部变量的值SELECT @Rows AS SELECT返回的记录数GO实验内容3:设置一个局部变量为表,进行插入和查询操作-- 定义变量为临时表DECLARE @Table_Example TABLE(Col_num int PRIMARY KEY,Col_text char (50))-- 向该变量中添加两行内容INSERT INTO @Table_Example VALUES (1, 'this is a')INSERT INTO @Table_Example VALUES (2, 'table data type example')-- 从临时表中查询SELECT * FROM @Table_ExampleGO实验内容4:(练习,自己试着写一下)设置一个局部变量其值为选修了课程的人数,并显示提示:DECLARE@Rows int--声明局部变量--给局部变量赋值SET@Rows=(SELECT COUNT(distinct sno)FROM SC)--显示局部变量的值SELECT@Rows AS选课人数GO实验内容5:检查sysdatabases中的每一个数据库,使用数据库标识号来确定数据库名称。
USE master--打开master 数据库GO--DB_NAME 是一个函数,功能是根据数据库标识号,来返回数据库的名称SELECT dbid , DB_NAME(dbid) AS DB_NAMEFROM sysdatabases ORDER BY dbidGO实验内容6:从数据库中返回学生表的第2列的名称USE teachGO--定义局部变量,用于存放学生表的ID号DECLARE @学生表ID INT--OBJECT_ID是一个函数,功能是返回数据库对象的编号SET @学生表ID= OBJECT_ID('Student')--COL_NAME是一个函数,返回指定表中指定字段的名称,即列名SELECT COL_NAME(@学生表ID,2) AS 学生表中第2列的名称GO实验内容7:简单年、月、日函数SELECT MONTH('03/12/1998'), DAY('03/12/1998'),YEAR('03/12/1998')实验内容8:从系统当前日期中返回系统当前的年份数、月份数和天数。
-- GETDATE()函数返回系统当前日期SELECT YEAR(GETDATE()) AS 当前年份,MONTH(GETDATE()) AS 当前月份,DAY(GETDATE()) AS 当前天数GO实验内容9:自己编写函数。
编写一个函数,名称为“函数_学生选课数”,要求根据输入的学生学号,求此学生的选课数。
USE teachGO--通过CREATE FUNCTION语句创建用户的自定义函数“函数_学生选课数”CREATE FUNCTION 函数_学生选课数(@xuehao AS char(9) --函数的输入参数)RETURNS int --返回结果类型BEGIN --函数体DECLARE @选课数 AS intSELECT @选课数 =COUNT(cno) FROM SC WHERE Sno=@xuehaoRETURN @选课数ENDGO--使用自定义函数,求选课表(SC)中每位学生的选课数SELECT DISTINCTStudent.Sno,Sname,选课数=dbo. 函数_学生选课数(SC.Sno) FROM Student,SCWHERE Student .Sno=SC.SnoGO实验内容10: (练习,自己试着写一下)练习自定义函数,求每门课程的选课人数提示:USE teachGOCREATE FUNCTION函数_选课人数(@cno AS char(9))RETURNS intBEGINDECLARE@选课人数AS intSELECT@选课人数=COUNT(sno)FROM SC WHERE cno=@cnoRETURN@选课人数ENDGO--使用自定义函数,查询每门课的选课人数(注:没有人选的课程,不会出现)SELECT DISTINCTo,Cname,选课人数=dbo.函数_选课人数(o) FROM Course,SCWHERE o=oGO--使用自定义函数,通过左外连接,保留了左边被舍弃的元组SELECT DISTINCTo,Cname,选课人数=dbo.函数_选课人数(o) FROM Course left join SC on o=oGO2. 游标的创建和使用游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。
我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。
T-SQL游标:该游标是基于Declare Cursor 语法,主要用于Transaction-SQL脚本、存储过程以及触发器中。
Transaction-SQL游标在服务器处理由客户端发送到服务器的Transaction-SQL语句。
使用游标要遵循以下顺序:声明游标→打开游标→读取数据→关闭游标→删除游标。
1.声明游标实验内容1:以下是一个符合SQL-92标准的游标声明,此游标是只读的,只能从头到尾顺序提取数据。
DECLARE S_CUR1 CURSORFORSELECT * FROM STUDENTFOR READ ONLY实验内容2:以下是一个符合T-SQL扩展的游标声明,此游标是动态游标,可前后滚动,可对姓名列进行修改。
DECLARE S_CUR2 CURSORSCROLL DYNAMICFORSELECT * FROM STUDENTFOR UPDATE OF SName2. 打开游标声明游标之后,要使用游标提取数据,必须先打开游标。
使用OPEN语句可以打开游标。
打开游标后,可以使用全局变量@@CURSOR_ROWS查看游标中数据行的数目。
实验内容3:打开游标S_CUR1,输出其行数OPEN S_CUR1SELECT '游标s_cur1的数据行数'=@@CURSOR_ROWS注意:通过联机丛书来查询@@CURSOR_ROWS,来理解其值的含义3.读取数据游标打开后,就可以使用FETCH命令从中读取数据。
具体语句格式见联机丛书。
实验内容4:从游标S_CUR1中提取数据,只能用NEXT提取数据。
FETCH NEXT FROM S_CUR1提示:选中该语句,点击执行,查看结果。
再点击执行,查看结果。
重复执行。
实验内容5:从游标S_CUR2中提取数据:OPEN S_CUR2--读取游标第一行FETCH FIRST FROM S_CUR2--读取下一行FETCH NEXT FROM S_CUR2--读取上一行FETCH PRIOR FROM S_CUR2--读取最后一行FETCH LAST FROM S_CUR2--读取当前行的上二行FETCH RELATIVE-2 FROM S_CUR24.关闭游标游标使用完后,要及时关闭游标,以释放当前的结果集并解除定位在该游标记录行上的游标锁定。
实验内容6:关闭游标S_CUR1CLOSE S_CUR15.删除游标关闭一个游标后,其数据结构仍存储在系统中,需要的时候仍然可以再次使用OPEN 语句打开和使用该游标。
如果确定以后不再使用该游标,则可以删除游标,将游标占用的系统空间释放出来。
实验内容7:删除游标S_CUR1DEALLOCATE S_CUR1实验7 存储过程实验目的:1、理解存储过程的概念,掌握各种存储过程的创建方法。
2、掌握查看、修改和删除存储过程的方法。
3、掌握执行存储过程的方法。
实验内容:存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,并且这样的语句是放在数据库中的,还可以根据条件执行不同SQL语句。
在Sql Server2000中,可以使用三种方法创建存储过程。
1)使用创建存储过程向导创建存储过程。
2)使用企业管理器创建存储过程。
3)使用T-SQL语句中的CREA TE PRODCECURE命令创建存储过程。
具体步骤:打开查询分析器⏹首先创建数据库和表⏹创建存储过程⏹执行存储过程,查看结果我们在这里掌握第三种方法,其他方法自行掌握。
实验内容1:简单的存储过程。
功能为:查询student表中的内容Create procedure query1_sAsSelect * from studentgo执行语句为:exec query1_s实验内容2:带参数的存储过程。
带了一个参数@s_sno,功能为:查询指定学生的信息Create procedure query2_s@s_sno char(9)AsSelect * from student where sno=@s_snogo执行该存储过程的2种不同方法:1)exec query2_s'201010001'2)exec query2_s @s_sno ='201010001'实验内容3:带输入和输出参数的存储过程既有输入参数也有输出参数。