1、TESTII、数据库(95分)(一)SQL server上机考试题在C:盘根目录下用自己的名字加“_DB”建立一个文件夹。(例:“王平_DB” )一 (6分)在SQL SERVER 2008下,用SQL Server Management Studio工具建立满足如下要求的数据库: 1 数据库名字为:Sales。2 此数据库包含两个数据文件,其中主数据文件的逻辑文件名为:Data1,物理文件名为Data1_data.mdf,初始大小为5MB,存放在新建目录下,增长方式为自动增长,每次增加1MB,最多增长到10MB。辅助数据文件的逻辑文件名为:Data2,物理文件名为Data2_data.ndf
2、,初始大小为3MB,同主数据文件存放在相同的位置,不自动增长。3 日志文件的逻辑文件名为:log1,物理文件名为log1_log.ldf,初始大小为2MB,同主数据文件存放在相同的位置,增长方式为自动增长,每次增加15%。二 (10分)为描述Sales情况,定义了三张表:职工表(ZGB)、货物表(HWB)和销售表(XSB),分别用于描述职工的基本信息、货物的基本信息和销售信息。写出在 “Sales”数据库中定义这三张表的语句并创建这三张表,(请将语句以文件形式保存下来,文件名为“考生名.sql”(如王平.sql),存放在新建的文件下。可以将下述所有的SQL语句均保存到此文件中,在文件中要注明题
3、号,三张表的结构为:注:括号中为表名和列名的拼音表示,建表时用拼音表示表名和列名即可。1 职工表(ZGB)包括如下字段:职工号(ZGH):普通编码定长字符型,6位长,主码姓名(XM):普通编码定长字符型,8位长,非空性别(XB):普通编码定长字符型,2位长,非空,取值范围:男,女,默认值为男部门(BM):普通编码可变长字符型,16位长,允许空电话(DH):普通字符编码定长字符型,长度为12,允许空。取值形式:3位区号,8位电话号码,其中区号的第1位是0,第2位和第5位为19的数字,第3、6、7、8、9、10、11、12位为09的数字,第4位为减号。例如:地址(DZ):普通编码可变长字符型,50
4、位长,允许空2 货物表(HWB)包括如下字段:商品号(SPH):整型,主码商品名称(SPMC):普通编码可变长字符型,20位长,非空生产厂商(SCCS):普通编码可变长字符型,30位长,非空进货价(JHJ):money类型,非空零售价(LSJ):数量(SL):整型,非空进货时间(JHSJ):日期时间型,非空进货员工号(JHYGH):普通编码定长字符型,6位长,非空其中:进货员工号为引用职工表的外码。3销售表(XSB)包括如下字段:销售编号(XSBH):商品编号(SPBH):售出时间(SCSJ):销售员工号(XSYGH):商品编号为引用货物表的外码销售员工编号为引用职工表的外码。三 (5分)在S
5、QL Server2008中创建登录帐号:SQL2008_User,并授予此登录帐号的默认数据库为“Sales”,并对“Sales”数据库中的所有表具有SELECT(选择)权,对“职工表(ZGB)”具有INSERT(插入)、DELETE(删除)、UPDATE(更新)权限。四 (5分)运行C:SQL_Date.exe程序解压缩数据文件(可解压到任何地方),解压缩的密码为“”。利用SQL Server的DTS工具,将解压后的“职工、销售表.xls”文件中的数据分别导入到 “职工表”和“销售表”中,将“货物表.txt”文件中的数据导入到“货物表”中。五(4分)建立永久备份设备“BCKP”,完成如下操
6、作:1 对“Sales”数据库进行一次完全备份。2 对“Sales”数据库进行一次差异备份。六(28分)利用第二题的三张表,写出实现如下要求的SQL语句,注明题号。并将这些语句与第二题所写的语句保存在一起(全部语句均保留在一个文件中,包括后续的语句)。(注:本题7个小题要求均使用一条SQL语句完成)1.分别统计各部门男性和女性人数。2.查询进货员工详细信息。3. 查询2005年每个商品的销售总数量,列出月份、商品号和销售总数量,结果按月份和商品号升序排序。4.查询被卖出次数最少的三种商品(包括没有被卖出过的商品,包括并列的情况),列出商品名称。5.查询在2005年2月到3月期间没有被卖出过的生
7、产厂商是“联想公司”的商品名称。6.查询编号为“1301”的员工销售的商品总数量和最多的一次销售数量。7.在Sales数据库中创建一个新表,表名为采购金额表(cgjeb),表中存储货物表的商品名称和对应进货总金额。七(6分)创建一个带有输入参数的存储过程proc_hwb,查询指定员工所进商品详细信息,假如执行存储过程时所提供的“员工”不存在或不具有权限,系统可以自动给出提示信息。默认参数为“1001”的商品号(sph)。八(8分)用视图实现:求出男女职工的人数,若男职工人数高出女职工人数的50%,则显示“男职工比女职工人数多多了”的信息;若男职工人数是女职工人数的0.8-1.5倍之间,则显示“
8、男职工跟女职工的人数差不多”的信息;否则,显示“女职工比男职工的人数多多了”的信息。九(8分)用游标实现:按如下报表形式显示结果的SQL语句。该报表查询每年每种商品的商品号、销售总数量和销售总利润(利润零售价- 进价)(注意:报表显示格式)。提示:有关游标的语句格式如下: 声明游标:declare 游标名 cursor for select 语句 打开游标:open 游标名 关闭游标:close游标名 提取数据:fetch next from 游标名 into 释放游标:deallocate 游标名报表形式大致如下:(下表只列出部分数据)2004年商品号 销售总量 总利润2 2 5905 2
9、644 。(二)Access上机考试题1 在桌面上创建一个文件夹(文件夹名为本人姓名),在文件夹里创建一个Access数据库,然后将SQL Server里的职工表、货物表和销售表导入到所创建的Access数据库中,并建立关系。2 创建一个交叉表查询对象。查询在2005年里,每个销售员工每个月的销售金额(销售金额=零售价*数量)。查询的格式如下所示:3 创建一个带参数的生成表查询对象。运行查询后屏幕显示“输入参数值”对话框,要求输入售出时间,创建这个售出时间之后的销售情况表(表名为“销售情况表”)。表字段包括销售员姓名、商品名称、售出时间、售出数量、进货价和零售价。4 创建一张销售情况统计报表。
10、按照售出时间的年份分组,显示每个商品的销售数量和销售金额。要求在组页脚节打印本组总的销售数量和销售金额,在报表的页脚节打印总的销售数量和销售金额。具体的报表格式如下所示:III、Visual Basic(40分)使用VB编写应用程序对SQL Server创建的“销售表”数据进行操作,采用ADO对象模型实现。(说明:在桌面上以“VB_学员姓名”创建一个文件夹,将编写完成的Visual Basic工程保存在该文件夹下。)具体编程要求如下:1、 第一个窗体是“明细查看”窗体。界面如下图所示:(1) 在本窗体中的五个文本框显示“销售表”中相应的字段。(2) 单击“添加”按钮,显示信息的文本框置空,等待
11、用户输入信息。(3) 单击“取消”按钮,取消添加操作,显示点击“添加”之前的记录信息。(4) 单击“更新”按钮,实现记录的更新操作,更新前需有如下错误判断: 如果用户输入的主码(销售编号)不唯一,弹出对话框提示用户重新输入,并把焦点置于销售编号文本框; 如果用户输入的“售出时间”不是日期类型,弹出对话框提示用户重新输入,并把焦点置于相应文本框(判断是否为日期类型可用系统函数IsDate,其参数为待判定的值,如果是日期类型,返回true,否则返回false)。(5) 单击“删除”按钮,实现对当前记录的删除操作,并使用消息框(要求:消息框要有相应的图标、选择按钮、默认在“否”按钮上、标题)提示用户
12、对删除操作的确认。(6) 单击“查看”按钮,在按钮右侧的标签中显示平均每个员工卖出的商品数,如图显示“平均每个员工卖出6.333333个商品“(注意:标签中的平均值是通过编写代码动态计算的,计算出结果后窗体上仍然显示点击“查看”按钮之前的记录)。(7) 单击“第一条”、“下一条”、“上一条”和“末一条”按钮实现记录的浏览操作。(8) 单击“列表查看”按钮,跳转到第二个窗体“列表查看”。2、 第二个窗体是“列表查看”窗体,界面如下图所示:(1) 用DataGrid控件显示“销售表”中的数据。要求:在本窗体上进行任何操作后DataGird控件各列的标题都设置为中文描述:销售编号、商品编号、数量、售
13、出时间、销售员工号。(2) 单击“过滤”按钮,进行过滤操作。过滤条件由三个部分构造出来,第一部分由用户在组合框中选择(只能选择,不能在组合框中输入),第二部分固定为Like,第三部分由用户在文本框中输入。若过滤失败,用消息框发布相关信息,释放空过滤集,显示“销售表”中的全部数据,并将记录集指针定位在过滤操作之前所在的记录位置上;若过滤成功,则显示过滤出的内容。(3) 单击“释放过滤”按钮释放过滤集,使表格中显示“销售表”中的全部数据,并将记录集指针定位在过滤操作之前所在的记录位置上。(4) 单击“明细查看”按钮,返回到第一个窗体上“明细查看”。(要求:如果用户在该窗体移动记录指针,切换到第一个窗体“明细查看”时,显示当前记录信息。注意:两个窗体操作的是同一个记录集。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1