数据库上机答案
- 格式:doc
- 大小:77.00 KB
- 文档页数:8
ms二级上机考试答案1. 请解释什么是二进制数,并给出一个例子。
二进制数是一种计数系统,它仅使用两个数字:0和1。
这种计数系统在计算机科学中非常重要,因为它是计算机处理信息的基础。
例如,二进制数1011表示十进制数11。
2. 描述在C语言中如何定义一个整型变量。
在C语言中,定义一个整型变量可以通过在变量名前加上关键字`int`来实现。
例如,`int number;`定义了一个名为`number`的整型变量。
3. 简述在HTML中如何创建一个超链接。
在HTML中创建超链接需要使用`<a>`标签,并设置`href`属性指向目标URL。
例如,`<a href="">访问网站</a>`会在网页上显示为“访问网站”,点击后会跳转到指定的URL。
4. 举例说明在Excel中如何使用公式计算一列数据的总和。
在Excel中,可以使用SUM函数来计算一列数据的总和。
例如,如果数据位于A1到A10单元格中,可以在另一个单元格中输入公式`=SUM(A1:A10)`来得到这些单元格的总和。
5. 解释什么是数据库事务,并给出事务的四个基本特性。
数据库事务是一组原子性的数据库操作序列,要么全部成功,要么全部失败。
事务的四个基本特性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性意味着事务中的所有操作要么全部完成,要么全部不完成;一致性确保事务执行后,数据库从一个一致性状态转移到另一个一致性状态;隔离性保证了并发执行的事务之间的操作不会相互干扰;持久性意味着一旦事务被提交,它对数据库的修改就是永久性的。
6. 在Python中,如何实现一个函数,该函数接受一个字符串参数并返回其反转后的字符串。
在Python中,可以通过定义一个函数并使用字符串的切片功能来实现字符串的反转。
例如,定义一个函数`reverse_string`,其代码如下:```pythondef reverse_string(s):return s[::-1]```调用`reverse_string("hello")`将返回`"olleh"`。
计算机二级Access上机试题及答案基本操作:在考生文件夹下,存在一个数据库文件samp1.mdb和一个图像文件photo.bmp。
在数据库文件中已经建立了一个表对象tStud。
试按以下操作要求,完成各种操作:(1)设置ID字段为主键;并设置ID字段的相应属性,使该字段在数据表视图中的显示名称为学号。
(2)删除备注字段。
(3)设置入校时间字段的有效性规则和有效性文本。
具体规则是:输入日期必须在2000年1月1日之后(不包括2000年1月1日);有效性文本内容为输入的日期有误,重新输入。
(4)修改字段照片的数据类型为OLE对象;将学号为20011002学生的照片字段值设置为考生文件夹下的photo.bmp图像文件(要求使用由文件创建方式)。
(5)将冻结的姓名字段解冻;并确保姓名字段列显示在学号字段列的后面。
(6)将tStud表中的数据导出到文本文件中,并以tStud.txt文件名保存到考生文件夹下。
第一行包含字段名称,各数据项间以逗号分隔。
简单应用:考生文件夹下存在一个数据库文件samp2.mdb,里面已经设计好一个表对象tStud和一个查询对象qStud4。
试按以下要求完成设计:(1)创建一个查询,计算并输出学生的最大年龄和最小年龄信息,标题显示为MaxY和MinY,所建查询命名为qStud1。
(2)创建一个查询,查找并显示年龄小于等于25的学生的编号、姓名和年龄,所建查询命名为qStud2。
(3)创建一个查询,按照入校日期查找学生的报到情况,并显示学生的编号、姓名和团员否三个字段的内容。
当运行该查询时,应显示参数提示信息:请输入入校日期:,所建查询命名为qStud3。
(4)更改qStud4查询,将其中的年龄字段按升序排列。
不允许修改qStud4查询中其他字段的设置。
综合应用:考生文件夹下存在一个数据库文件samp3.mdb,里面已经设计了表对象tEmp、窗体对象fEmp、报表对象rEmp和宏对象mEmp。
VFP期末上机复习题第一套1、建立一个运动会成绩管理数据库(文件名为VFLX1.DBC),并在其中建立如下两个数据表并输入表中的数据(40分)运动员基本情况表(K1.DBF)和运动成绩表(K2.DBF)。
其数据形式如下:运动员基本情况表(K1.DBF)运动成绩表(K2.DBF)要求:将数据库(VFLX1.DBC)中的K1.DBF(父表)和K2.DBF(子表)以“编号”建立一对多永久关系。
2、建立程序文件VFLX1.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。
在程序首行用注释语句注明学生姓名和学号,并请用注释语句标注小题号。
(30分)(1)试完成如下任务:要求输出每个参赛人员的姓名,所属部门及所得总分,并且按所得总分降序排序;(2)试编写程序,要求任意一个输入比赛项目的名称后,能查询出参加该项目的人员姓名及所属部门名称;当直接按下回车键后退出查询。
(3)输出各部门的名称及该部门参赛所得总分;3、表单设计。
按以下要求设计程序界面,表单文件名为:F1.SCX。
(30分)设计如图所示一个表单,包括3个标签,3个文本框,2个命令按钮(各控件的大小、颜色、字体、字号等属性由考生自定)。
其中,①表单窗口名用来显示考生自己的姓名和学号的后四位数;(如图中式样)②文本框text1 、text2和text3的显示初值为0;③该表单运行后,可以在文本框text1 、text2中分别输入一个数,左键单击“比较大小”命令按钮,则在文本框text3中显示较大一个数;④左键单击“退出”命令按钮,结束表单程序的运行。
第二套1、建立一个工资管理数据库(文件名为VFLX2.DBC),并在该数据库中建立如下两个数据表并输入数据(40分)职工数据表(K21.DBF )和工资数据表(K22.DBF )。
其数据形式如下:职工号”建立一对一永久关系。
2、建立程序文件VFLx2.PRG ,要求将完成下列各小题任务的VFP 数据表操作命令或VFP-SQL 命令写在该程序文件中。
精心整理1.【考点分析】本题考查对4位整数的排序。
考查的知识点主要包括:数组元素的排序算法,if 判断语句和逻辑表达式,以及求余算术运算。
【解题思路】此题属于4位数排序问题。
本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb 中去。
本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb 中。
对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if 判断语句的起泡排序法就可以实现。
【参考答案】voidjsSort(){{{}}}2.条件1:SIX 数字相等。
本题解题思路:通过嵌套的循环结构可以遍历到所有的3位和4位数,对于每一个3位数及4位数的组合进行题设条件(SIX +SIX +SIX =NINE +NINE)的判断,满足条件的对其分解得到各数位的数字,再进一步判断各位数字是否满足本题隐含的条件(条件1及条件2),如果满足则个数加1,并将该3位数及4位数添加到和值中。
【参考答案】voidcountValue(){inti,j;ints2;intn2,n3,n4;for(i=100;i<1000;i++){for(j=1000;j<10000;j++){if(i*3==j*2){s2=i%100/10;n4=j/1000;n3=j%1000/100;n2=j%100/10;if(s2==n3&&n2==n4){cnt++;sum+=i+j;}}}}}3.问题3{{break;/*}return0;}voidCompute(void){inti;/*定义循环控制变量*/inttt[MAX];/*定义数组保存奇数*/for(i=0;i<1000;i++)if(xx[i]%2!=0){odd++;/*计算出xx中奇数的个数odd*/ave1+=xx[i];/*求奇数的和*/tt[odd-1]=xx[i];/*将奇数存入数组tt中*/}else{even++;/*计算出xx中偶数的个数even*/ave2+=xx[i];/*求偶数的和*/}ave1/=odd;/*求奇数的平均值*/ave2/=even;/*求偶数的平均值*/for(i=0;i<odd;i++)totfc+=(tt[i]-ave1)*(tt[i]-ave1)/odd;/*求所有奇数的方差*/}【易错提示】文件操作函数fscanf()和feof()的用法,if判断语句中逻辑表达式,对方差计算公式运用错误。
2020年全国计算机二级考试ACCESS上机试题库及答案(共五套)2020年全国计算机二级考试ACCESS上机试题及答案(一)一、基本操作题(计30分)(1)将"订货.mdb"数据库中的"订货"表导出为"订货.xls"存放到考生文件夹。
(2)将"订货"表的订单ID列隐藏,将"发货日期"列冻结,并按"发货日期"列降序排列。
(3)创建参数筛选,筛选订单ID列,参数提示为"请输入订单ID"。
"订货"表如图16-1所示。
单击工具栏中的"筛选"按钮显示如图16-2所示。
图16-1图16-2一、基本操作题(1)【操作步骤】在"订货"数据库窗口中,单击"表"对象。
选中"订货"表,右键单击选择"导出",在弹出的对话框中,"保存类型"选择"Microsoft Excel"。
选择对应的路径,单击"保存"按钮。
(2)【操作步骤】在"订货"数据库窗口中,单击"表"对象。
双击打开"订货"表,选中"订单ID"列,右键单击选择"隐藏列"。
选中"发货日期"列,右键单击选择"冻结"列。
选中"发货日期"列,右键单击选择"降序"。
单击工具栏中"保存"按钮,关闭"订货"表。
(3)【操作步骤】在"订货"数据库窗口中,单击"表"对象。
双击打开"订货"表,选择菜单"记录"→"筛选"→"高级筛选/排序"。
2020年全国计算机二级考试ACCESS上机试题及答案(共六套)2020年全国计算机二级考试ACCESS上机试题及答案(第一套)一、基本操作题(计30分)(1)利用数据库向导生成"资产追踪"数据库,屏幕显示样式为"标准",打印报表所用样式为"组织",指定数据库标题为"资产追踪",其他选项为默认值。
(2)在"雇员"表的"姓氏"和"头衔"字段之间添加"生日"字段,输入掩码规则为"长日期(中文)",占位符为"#"。
(3)在"雇员"表中输入表7-1中数据,创建按照选定内容筛选,筛选办公室位置为203的雇员信息。
表7-1雇员ID名字姓氏生日头衔分机工作电话办公室位置1佳佳田1980-04-17经理802169243620203一、基本操作题(1)【操作步骤】启动Access,在弹出的"Microsoft Access"对话框的"新建数据"框中选择"Access数据库向导、数据页和项目",然后单击"确定"按钮。
在弹出的"新建"对话框中选中"资产追踪"数据库模板,单击"确定"按钮。
在"文件新建数据库"对话框中选择考生文件夹对应路径,并在"文件名"中输入"资产追踪",单击"创建"按钮,在"数据库向导"对话框中单击"下一步"。
单击"下一步"按钮,显示样式选择"标准"。
单击"下一步",打印报表样式选择"组织",如图7-1所示。
数据库实验和参考答案上机实验七1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。
declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2的结果值。
declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)用While语句实现5000减1,减2,……一直减到50的计算,并显示最终的结果。
declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。
declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。
要求输出界面为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学生的选课成绩情况,分别统计各分数段人数,并输出统计结果。
练习一1.基本操作题在考生文件夹下,“”数据库文件中已建立三个关联表对象(名为“职工表”、“物品表”和“销售业绩表”)和一个窗体对象(名为“fTest”)。
试按以下要求,完成表和窗体的各种操作:(1)分析表对象“销售业绩表”的字段构成、判断并设置其主键;(2)将表对象“物品表”中的“生产厂家”字段重命名为“生产企业”;(3)建立表对象“职工表”、“物品表”和“销售业绩表”的表间关系,并实施参照完整性;(4)将考生文件夹下Excel文件中的数据链接到当前数据库中。
要求:数据中的第一行作为字段名,链接表对象命名为“tTest”;(5)将窗体fTest中名为“bTitle”的控件设置为“特殊效果:阴影”显示;(6)在窗体fTest中,以命令按钮“bt1”为基准,调整命令按钮“bt2”和“bt3”的大小与水平位置。
要求:按钮“bt2”和“bt3”的大小尺寸与按钮“bt1”相同,左边界与按钮“bt1”左对齐。
1.基本操作题【考点分析】本题考点:设置主键;建立表间关系;链接表;窗体中命令按钮属性的设置。
(1)【解题步骤】步骤1:打开“”数据库窗口,选中“表”对象,右键单击“销售业绩表”选择【设计视图】。
步骤2:同时选中“时间”、“编号”、“物品号”字段,单击工具栏中“主键”按钮。
步骤3:单击工具栏中的“保存”按钮,关闭设计视图。
(2)【解题步骤】步骤1:选中“表”对象,右键单击“物品表”选择【设计视图】。
步骤2:在“字段名称”列将“生产厂家”改为“生产企业”。
步骤3:单击工具栏中“保存”按钮,关闭设计视图。
(3)【解题步骤】步骤1:单击菜单栏【工具】|【关系】,单击菜单栏【关系】|【显示表】,分别添加表“职工表”、“物品表”和“销售业绩表”到“关系”界面,关闭“显示表”对话框。
步骤2:选中表“职工表”中的“编号”字段,拖动鼠标到“销售业绩表”的“编号”字段,放开鼠标,弹出“编辑关系”窗口,选择“实施参照完整性”复选框,然后单击“创建”按钮。
①上机习题总分100分。
②要求认真审题,独立完成,抄袭者和被抄袭者均不得分。
③可先在电脑上做好后再打印出来,注意排版整洁清晰。
1.在中国知识基础设施工程(CNKI)系列资源库的中国期刊全文数据库中检索篇名为《聚合硫酸铁的制备》发表在《四川师范大学学报》上的论文。
(6`)1)给出检索策略。
答:双击浏览器,在地址栏输入,进入江西蓝天学院图书馆,单击“中国知网CNKI系列资源库”,单击“中国学术文献网络出版总库”,在“文献出版来源”中填“四川师范大学学报”,主题栏填“聚合硫酸铁的制备”,单击“检索文献”得出信息。
2)给出该文的题录信息。
答:【作者】向群;【作者单位】四川轻化工学院;【文献出处】四川师范大学学报(自然科学版) , JOURNAL OF SICHUAN NORMAL UNIVERSITY(NATURAL SCIENCE), 编辑部邮箱 1997年 01期【期刊荣誉】中文核心期刊要目总览 ASPT来源刊中国期刊方阵 CJFD收录刊【中文关键词】聚合硫酸铁; 酸度; 催化剂;【摘要】本文介绍了聚合硫酸铁的制备原理和方法,对制备方法中的催化剂选择作了一定的讨论.【DOI】 CNKI:SUN:.1997-01-016【分类号】2.你想向《软科学》杂志投稿,却不知道其通信地址、邮政编码或E-mail。
请用至少两种并方法进行查找,写出该杂志社的通讯地址、邮政编码和E-mail及具体的查找方法。
(6`)答:第一种方法:打开浏览器,在地址栏输入在搜索栏输入“《软科学》杂志社通讯地址”,在结果中点击“软科学杂志社”选项,获得结果如下:中文名称:软科学,地址:成都市人民南路4段11号5楼,邮政编码:610041,投稿信箱:,主编:张勇第二种方法:打开浏览器,在地址栏输入在搜索栏输入“《软科学》杂志社介绍”,在结果中单击“软科学杂志介绍”选项,获得结果如下:期刊名称:软科学,地址:成都市人民南路4段11号5楼,邮政编码:610041,电子邮件;,主编:张勇3.在中国知识基础设施工程(CNKI)系列资源库中找出作者“陈绍魁”发表在《电气技术》2005年第8期上的一篇文章,写出篇名。
任务1 SQL Server系统软硬件安装配置课堂实践11.上网查询目前主流的关系型数据库系统及各自的特点?答:目前主流的关系型数据库系统有:桌面关系型数据库系统和网络关系型数据库系统。
桌面:优点:操作灵活,转移方便,运行环境简单,对小型网站的数据库处理能力还不错。
网络:优点:适合大容量数据和大容量网站的应用,在性能、安全、功能管理、可扩展性上要比桌面型数据库强很多,两者并非同级别的数据库,有些功能桌面型数据库甚至无法做到。
简单说,桌面关系数据库指单机版的DMBS,比如Access,FoxFro等。
网络型关系数据库和桌面型关系数据库相对,可以在多台机器上同时对数据库进行操作,包括查询,添加,修改,删除,网络关系型数据库的代表有SQL和Orade等。
2.上网查询并写报告:数据库系统的发展。
在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。
1.1.1. 人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算。
当时的硬件状况是:外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件的状况是:没有操作系统,没有管理数据的软件;数据处理方式是批处理。
人工管理数据的特点如下:数据不保存应用程序管理数据数据不共享数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这会进一步加重程序员的负担。
在人工管理数据阶段,程序与数据之间的一一对应关系可用图 1.1表示图 1.1. 人工管理阶段应用程序与数据之间的对应关系1.1.2. 文件系统阶段20世纪50年代后期到60年代中期,这是硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上,不仅有了批处理,而且能够联机实时处理。
用文件系统管理数据具有如下特点:数据可以长期保存由文件系统管理数据数据共享性差,冗余度大数据独立性差文件系统仍然是一个不具有弹性的无结构的数据集合,即文件之间是孤立的。
1、在关系数据库中,能够惟一地标识一个记录的属性或属性的组合,称为( A )。
(1 分)A 、关键字B 、属性C、关系D、域2、用二维表来表示实体及实体之间联系的数据模型是( D )。
(1 分)A 、实体-联系模型B 、层次模型C、网状模型D、关系模型3、Access 数据库具有很多特点,下列叙述中,不是Access 特点的是( D )。
(1 分)A、Access数据库可以保存多种数据类型,包括多媒体数据B、Access可以通过编写应用程序来操作数据库中的数据C、Access 可以支持Intemet/Intranet 应用D 、Access 作为网状数据库模型支持客户机/服务器应用系统4、数据库管理系统是(B)o(1分)A、操作系统的一部分B、在操作系统支持下的系统软件C、一种编译系统D、一种操作系统5、在Access 数据库的表设计视图中,不能进行的操作是( D )o(1 分)A、修改字段类型B、设置索引C、增加字段D、删除记录6、在Access 的数据表中删除一条记录,被删除的记录( D )o(1 分)A、可以恢复到原来设置B、被恢复为最后一条记录C、被恢复为第一条记录D、不能恢复7、Access 数据库中,为了保持表之间的关系,要求在主表中修改相关记录时,子表相关记录随之更改,为此需要定义参照完整性关系的()o(1 分)A、级联更新相关字段B、级联删除相关字段C、级联修改相关字段D、级联插入相关字段8、输入掩码字符“ &”的含义是(C )o(1 分)A、必须输入字母或数字B、可以选择输入字母或数字C、必须输入一个任意的字符或一个空格D、可以选择输入任意的字符或一个空格9、在Access 数据库中使用向导创建查询,其数据可以来自( D )o(1 分)A、多个表B、一个表C、一个表的一部分D、表或查询10、查询“教师表”中的“职称”为“教授”或“副教授”的记录,下列条件表达式错误的是(C )o (1 分)A、[职称] like “*教授”B、[职称]=“教授” or “副教授”C、right([职称],2)= ”教授”D、[职称]in (“教授”,“副教授”)11、在Access 数据库中创建一个新表,应该使用的SQL 语句是( A )。
上机考试模拟试卷(1)一、基本操作题在考生文件夹下,“samp1.mdb”数据库文件中已建立两个表对象(名为“职工表”和“部门表”)。
试按以下要求,顺序完成表的各种操作:(1)设置表对象“职工表”的聘用时间字段默认值为系统日期。
(2)设置表对象“职工表”的性别字段有效性规则为:男或女;同时设置相应有效性文本为“请输入男或女”。
(3)将表对象“职工表”中编号为“000019”的员工的照片字段值设置为考生文件夹下的图像文件“000019.bmp”数据。
(4)删除职工表中姓名字段含有“江”字的所有员工纪录。
(5)将表对象“职工表”导出到考生文件夹下的“samp.mdb”空数据库文件中,要求只导出表结构定义,导出的表命名为“职工表bk”。
(6)建立当前数据库表对象“职工表”和“部门表”的表间关系,并实施参照完整性。
二、简单应用题考生文件夹下存在有数据库文件“samp2.mdb”,里面已经设计好三个关联表对象“tStud”、“tCourse”、“tScore”和一个空表“tTemp”。
试按以下要求完成查询设计:(1)创建一个选择查询,查找并显示简历信息为空的学生的“学号”、“姓名”、“性别”和“年龄”四个字段内容,所建查询命名为“qT1”;(2)创建一个选择查询,查找选课学生的“姓名”、“课程名”和“成绩”三个字段内容,所建查询命名为“qT2”;(3)创建一个选择查询,按系别统计各自男女学生的平均年龄,显示字段标题为“所属院系”、“性别”和“平均年龄”,所建查询命名为“qT3”;(4)创建一个操作查询,将表对象“tStud”中没有书法爱好的学生的“学号”、“姓名”、和“年龄”三个字段内容追加到目标表“tTemp”的对应字段内,所建查询命名为“qT4”。
三、综合应用题考生文件夹下存在一个数据库文件“samp3.mdb”,里面已经设计了表对象“tEmp”、查询对象“qEmp”、窗体对象“fEmp”和宏对象“mEmp”。
2012年计算机二级Access上机操作题及答案解析基本操作题在附带光盘\上机题库\2文件夹下,数据库文件"samp1.mdb"。
试按以下操作要求,完成表的建立和修改:1、创建一个名为"tEmployee"的新表,其结构如下:2、将新表"tEmployee"中的"职工ID"字段设置为主关键字;3、在"聘任日期"字段后添加"借书证号"字段,字段的数据类型为文本,字段大小为10,并将该字段设置为必填字段;4、将"tEmployee"表中的"职称"字段的"默认值"属性设置为"副教授"。
5、向"tEmployee"表中填入以下内容:答案提示本题考查考生对Access中表的基本操作。
这一步考查创建表的操作,创建表的方法有很多,这里采用“数据表“视图来创建表,具体步骤如下:①打开数据库“samp1.mdb“,单击“表”对象,然后单击“新建”按钮,屏幕上显示如下图所示对话框;图2.1“新建表”向导②选择“设计视图”选项,单击“确定”按钮,屏幕上出现如图下图所示对话框;图2.2表设计视图③单击“设计”视图的第一行“字段名称”列,并在其中输入“职工ID”;单击“数据类型”列,并单击其右侧的向下箭头按钮,选择“文本”项,并设置“字段属性”区中的“字段大小”的值为5;④类似第3步,在“设计”视图中按题目所列出的字段名和数据类型,分别输入表中其他字段,并设置相应的数据类型和字段大小;⑤单击工具栏上的“保存”按钮,弹出“另存为”对话框,在对话框中输入“tEmployee”,单击“确定”按钮。
(2)这一步考查考生将某字段设置为主关键字的操作。
具体步骤如下:①打开数据库“samp1.mdb“,并且打开“tEmployee”表的设计视图;②用鼠标选中“职工D”字段,然后在主菜单中选择“编辑”|“主键”命令;③单击工具栏上的保存按钮保存表的修改。
SQL Server 2008测验题(A卷)考试时间90分钟学号姓名班级一、选择题(每题3分,个别题2分,共40分)1) 假定有一个用户表,表中包含字段:userid (int)、username (varchar)、password(varchar)、等,该表需要设置主键,以下说法正确的是。
(选择两项)a)如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。
b)此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。
c)此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。
d) 如果采用userid作为主键,那么在userid列输入的数值,允许为空。
2) 以下()语句从表TABLE_NAME中提取前10条记录。
(选择一项)a)select * from TABLE_NAME where rowcount=10b)select TOP 10 * from TABLE_NAMEc)select TOP of 10 * from TABLE_NAMEd)select * from TABLE_NAME where rowcount<=103) 查找student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()。
(选择一项)a)SELECT telephone FROM student WHERE telephone LIKE '[8,6]%0*'b)SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%'c)SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0%'d)SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'4) 现有表Employee,字段:id (int),firstname(varchar), lastname(varchar); 以下sql语句错误的是()。
计算机二级考试上级原题第1题一、(1)在考生文件夹下,"Access1.mdb"数据库文件中建立表"学生",表结构如下:(2)设置"编号"字段为主键;(3)设置"年龄"字段的有效性规则为:年龄大于20并且小于35;(4)在"学生"表中输入以下2条记录:二、考生文件夹下存在一个数据库文件"Access2.mdb",里面已经设计好两个表对象"学生"和"课程"。
试按以下要求完成设计:(1)创建一个选择查询,查找并显示"姓名","性别"和"进校日期"三个字段内容,所建查询命名为"查询1"。
(2)使用查询设计视图创建一个选择查询,查找并显示性别为男,年龄大于27的学生的"姓名","年龄"和"出生地"三个字段内容,所建查询命名为"查询2"。
注意:设计此查询准则表达式时,不允许使用特殊运算符Like。
(3)创建一个选择查询,查找并显示"姓名","课程编号"和"成绩"三个字段内容,所建查询命名为"查询3"。
(4)建立"学生"和"课程"两表之间的一对一关系,并实施参照完整性。
三、考生文件夹下存在一个数据库文件"Access3.mdb",里面已经设计好表对象"学生"和查询对象"查询学生",同时还设计出以"查询学生"为数据源的报表对象"报表学生"。
试在此基础上按照以下要求补充报表设计:(1)在报表中的报表页眉节区位置添加一个标签控件,其名称为"bTitle",标题显示为"奖励基本信息表";(2)在报表的主体节区添加一个文本框控件,显示"年龄"字段值。
附录C 上机实验C.1 第4章上机实验下列实验均使用SQL Server 的SSMS工具实现。
1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):●数据库名为:学生数据库●主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。
),初始大小为:5MB,增长方式为自动增长,每次增加1MB。
●日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。
2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。
(注:“说明”部分不作为表定义内容)3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。
(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。
(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。
(3)将Course表中Credit列的类型改为:tinyint。
(4)删除Student表中的Sid和Sdate列。
(5)为Teacher表添加主键约束,其主键为:Tno。
C.2 第5章上机实验本实验均在SQL Server 的SSMS工具中实现。
首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。
1.查询SC表中的全部数据。
2.查询计算机系学生的姓名和年龄。
3.查询成绩在70~80分的学生的学号、课程号和成绩。
4.查询计算机系年龄在18~20岁的男生姓名和年龄。
5.查询C001课程的最高分。
6.查询计算机系学生的最大年龄和最小年龄。
7.统计每个系的学生人数。
SQLServer2008数据库应⽤教程课后答案第1章数据库基础⼀、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B⼆、填空题1.概念;数据2.属性3.码4.⼀对⼀联系;⼀对多(或多对⼀)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;⽤户定义的;实体;参照10.空植11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运⾏和维护阶段12.准确了解并分析⽤户对系统的要求,尤其是⽤户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应⽤系统的⽬标,产⽣⽤户和设计者都能接受的需求说明书,做为下⼀步数据库概念结构设计的基础。
13.将需求分析得到的⽤户需求抽象为信息结构即概念模型。
14.将概念结构进⼀步转化为某⼀DBMS⽀持的数据模型,并对其进⾏优化。
15.为逻辑数据模型选取⼀个最适合应⽤环境的物理结构,包括数据库在物理设备上的存储结构和存取⽅法。
三、指出以下各缩写的英⽂意思和中⽂意思1.DB:DataBase2.DBMS:Database Management System3.RDBMS:4.DBS:DataBase System5.DBA:Relational Database Management System6.NF:Normal Form7.DDL:Data Definition Language四、按题⽬要求回答问题1.答:2.答:3.答:(1)关系R是2NF。
因为R的候选码为课程名,⽽课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在⾮主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
数据库上机11、新建工厂数据库factory。
create database factoryon(name=factory_data,filename='d:\factory.mdf')log on(name=factory_log,filename='d:\factory.ldf')2、数据库factory包括职工表worker、部门表depart和职工工资表salary。
用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下:职工表结构为:职工号:int;姓名:char(8) ;性别:char(2) ;出生日期:datetime;党员否:char(2) ;参加工作:datetime;部门号:int;其中职工号为主码。
部门表结构为:部门号:int;部门名:char(10);其中部门号为主码。
职工工资表结构为:职工号:int;日期:datetime;工资:decimal(6,1) ;其中职工号和日期为主码。
create table worker( 职工号int primary key, 姓名char(8) ,性别char(2),出生日期datetime,党员否char(2),参加工作datetime,部门号int)create table depart( 部门号int primary key, 部门名char(10))create table salary( 职工号int,日期datetime,工资decimal(6,1),Primary key(职工号,日期))3. 显示部门的详细信息。
select * from depart4.查询3号职工的工资单。
select * from salary where职工号=35.显示所有职工的姓名及年龄,并按姓名升序显示。
select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。
select 部门号,count(党员否) '党员人数' from workerwhere 党员否='是'group by 部门号7. 在worker表的“姓名”列创建唯一索引nameindex。
create unique index nameindex on worker (姓名)数据库上机21. 查询12月份过生日的名单。
答:select 姓名from workerwhere month(出生日期)= 122. 查询所有姓刘的职工信息。
select * from worker where 姓名like ‘刘%’3. 显示所有职工的职工号和2011年2月份的工资数。
select 职工号,工资from salarywhere year(日期)=2011 and month(日期)=24. 查询1号部门所有职工的姓名和工资,并按工资降序排列。
select姓名,工资from worker, salarywhere worker.职工号= salary.职工号and部门号=1order by工资desc5. 显示所有平均工资低于2500的部门名和对应的工资。
select 部门名, avg(工资) '部门平均工资'from salary,worker,departwhere worker.部门号=depart.部门号and salary.职工号=worker.职工号group by部门名having avg(工资) < 25006. 显示工资最高职工的职工号、姓名、部门名、工资发放日期和工资。
select worker.职工号, 姓名, 部门名, 日期, 工资from worker,salary,departwhere worker.职工号=salary.职工号and worker.部门号= depart.部门号and 工资=(select max(工资) from salary)7. 显示所有平均工资低于全部职工平均工资的职工的职工号、姓名和平均工资。
select worker.职工号, 姓名, avg(工资) '平均工资'from worker,salarywhere worker.职工号=salary.职工号group by worker.职工号, 姓名having avg(工资)<(select avg(工资) from salary)数据库上机31. depart表中插入一条部门记录:(4,'设备处')。
insert into depart values(4,’设备处’)2. worker表中插入一条职工记录:(20, '陈立', '女', '1980/06/08', ‘是’, '1999/11/10', 4)。
insert into worker values(20, '陈立', '女', '1980/03/08', '是', '1999/10/10', 4)3. worker和depart表进行外连接显示职工的职工号、姓名和部门名;select 职工号, 姓名, 部门名from worker left outer join depart on(worker.部门号= depart.部门号)或full outer join4. 删除刚才新增的两条记录。
delete from worker where 职工号=20delete from depart where 部门号=45. 建立视图view1,查询所有职工的工资发放情况。
create view view1 asselect * from salary6. 建立视图view2,查询所有职工的姓名、部门名和2011年1月份的工资。
create view view2 asselect姓名,部门名,工资'2011年1月工资'from salary,depart,workerwhere worker.部门号= depart.部门号and worker.职工号= salary.职工号and year(salary.日期)=2011 and month(salary.日期)=17. 建立视图view3,查询各部门名和该部门的所有职工的平均工资。
create view view3 asselect 部门名, avg(工资) '部门平均工资'from salary,worker,departwhere worker.部门号=depart.部门号and salary.职工号=worker.职工号group by部门名数据库上机41. 实施salary表的“工资”字段限定在0~9999的约束con1。
alter table salaryadd constraint con2 check(工资between 0 and 9999)2. 实施worker表的外码约束con2,为worker表建立外码“部门号”,参考表depart的“部门号”字段。
alter table workeradd constraint con3 foreign key(部门号) references depart(部门号)3. 创建默认对象con3,并使其值为“男”,使用sp_bindefault 绑定con3到worker表的性别列上。
create default con3 as ‘男’exec sp_bindefault ‘con3’ ,‘worker.性别’4. 删除题2建立的约束con2。
alter table workerdrop constraint con25. 在表depart上创建一个触发器depart_update,当更改部门号的同时更改worker表中对应的部门号。
将表depart中3号部门改为5号,并检查worker表中对应的部门号是否进行了修改。
create trigger depart_update on departafter updateasbeginupdate worker set 部门号= (select 部门号from inserted)where 部门号= (select 部门号from deleted)end执行触发事件:update depart set 部门号=5 where 部门号=36. 在表worker上创建一个触发器worker_delete,当删除职工记录时同步删除salary表中对应的工资记录。
将表worker中10号职工删除,并检查salary表中10号职工的工资信息是否进行了删除。
create trigger worker_delete on workerafter deleteasbegindelete from salarywhere 职工号= (select 职工号from deleted)end执行触发事件:delete from worker where 职工号= 107. 删除触发器worker_delete。
drop trigger worker_delete on worker数据库上机5、6配置ODBC数据源factoryDNS,在VC++中通过ADO控件和DataGrid控件访问factory数据库。