计算机程序设计竞赛第一部分理论知识一、单项选择题(共30题,每题1分,总计30分)1.删除表中数据的语句是()。A.DROPB.ALTERC.UPDATED.DELETE2.限制输入到列的值的范围,应使用()约束。A.CHECKB.PRIMARYKEYC.FOREIGNKEYD.UNIQUE3.触发器可引用视图或临时表,并产生两个特殊的表是()。A.Deleted、InsertedB.Delete、InsertC.View、TableD.View1、table14.关于视图下列哪一个说法是错误的()。A.视图是一种虚拟表B.视图中也存有数据C.视图也可由视图派生出来D.视图是保存在数据库中的SELECT查询5.创建表的命令是()。A.Createdatabase表名B.CreateVIEW表名C.CreateTABLE表名D.ALTERTABLE表名6.用于模糊查询的匹配符是()。A._B.[]C.^D.LIKE7.在SQLSERVER中不是系统数据库的是()。A.masterB.modelC.tempdbD.pubs8.关于关系图下列哪一个是正确的()。A.关系图是在同一个表中不同字段之间建立关联B.关系图是在不同表中的字段之间建立关联C.关系图是表与表之间建立关联,与字段无关。D.关系图是在不同数据库之间建立关联9.触发器可以创建在()中。A.表B.过程C.数据库D.函数10.删除表的语句是()。A.DROPB.ALTERC.UPDATED.DELETE11.以下触发器是当对[表1]进行()操作时触发。CreateTriggerabcon表1Forinsert,update,deleteAs……A.只是修改B.只是插入C.只是删除D.修改、插入、删除12.规则对象在使用上与()约束类似。A.CHECKB.PRIMARYKEYC.FOREIGNKEYD.UNIQU13.执行带参数的过程,正确的方法为()。A.过程名参数B.过程名(参数)C.过程名=参数D.A,B,C三种都可以14.查询毕业学校名称与“清华”有关的记录应该用()。A.SELECT*FROM学习经历WHERE毕业学校LIKE’*清华*’B.SELECT*FROM学习经历WHERE毕业学校=’%清华%’C.SELECT*FROM学习经历WHERE毕业学校LIKE’?清华?’D.SELECT*FROM学习经历WHERE毕业学校LIKE’%清华%’15.Select职工号FROM职工WHERE工资1250命令的功能是()。A.查询工资大于1250的纪录B.查询1250号记录后的记录C.检索所有的职工号D.从[职工]关系中检索工资大于1250的职工号16.下列四项中,不属于数据库特点的是()。A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高17.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁18.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb19.下列哪个不是sql数据库文件的后缀。A..mdfB..ldfC..tifD..ndf20.在SQL语言中,建立存储过程的命令是()A、CREATEPROCEDUREB、CREATERULEC、CREATEDURED、CREATEFILE21.数据库管理系统的英文缩写是()。A.DBB.DBSC.DBAD.DBMS22.SQLServer中表查询的命令是()。A.USEB.SELECTC.UPDATED.DROP23.在SQLServer中,下列变量名正确的是()。A.@sumB.jC.sumD.4kk24.用于求系统日期的函数是()。A.YEAR()B.GETDATE()C.COUNT()D.SUM()25.SQLServer系统中的所有服务器级系统信息存储于哪个数据库()。A.masterB.modelC.tempdbD.msdb26.在SQLSERVER服务器上,存储过程是一组预先定义并()的Transact-SQL语句。A.保存B.编译C.解释D.编写27.以下关于外键和相应的主键之间的关系,正确的是()。A.外键并不一定要与相应的主键同名B.外键一定要与相应的主键同名C.外键一定要与相应的主键同名而且唯一D.外键一定要与相应的主键同名,但并不一定唯一28.在T-SQL语言中,修改表结构时,应使用的命令是()A.UPDATEB.INSERTC.ALTERD.MODIFY29.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是()A.多对多B.一对一C.多对一D.一对多30.下列哪个不是数据库对象()。A.数据模型B.视图C.表D.用户二、填空题(本大题共10小题,每空1分,总计10分)31.目前应用最广泛的数据库是_________型数据库。32.T-SQL中的整数数据类型包括bigint、_________、smallint等5种。33.在E-R图中,用矩形表示实体,用表示联系。34.一个SQLServer数据库通常包括文件和日志两个文件。35.实体之间的联系类型有三种,分别为一对一、一对多和________。36.关系完整性包括实体完整性、值域完整性、___________和用户自定义完整性。37.SQLServer有_______验证模式和混合验证模式两种身份验证模式。38.对数据进行统计时,求平均值的函数是_________。39.函数LTRIM()的功能是_______________。40.数据文件的自动增长方式有:按兆字节和按____________两种方式。第二部分实践知识(注意:所有操作画面都应保存在以自己姓名命名的Word文档中,代码的保存时请按题目的编号来命名,无需记录在试卷上。最后所有的代码和操作画面文件应以一个压缩文件包的形式递交,压缩包以自己的2位序号+姓名的形式命名,如“01王明”。考试期间,一定要注意文件的保存。)项目一产品销售数据库系统某公司的产品销售数据库(ProductSales)有产品表(Product)和销售情况表(Sales),产品表为主表,销售情况表为子表。三、数据库的创建。(本大题1小题,共计4分)41.创建一个名字为ProductSales的数据库,该数据库包含一个数据文件和一个日志文件,数据文件的逻辑文件名为ProductSales_data,磁盘文件名为ProductSales_data.mdf,文件初始容量为5MB,最大容量为15MB,文件增长量为20%;而事务日志文件的逻辑文件名ProductSales_log,磁盘文件名为ProductSales_log.ldf,文件初始容量为5MB,最大容量为10MB,文件递增量为1MB(数据库创建在C盘根目录下)。四、数据表的创建。(本大题共2小题、每题5分、共计10分)字段的含义:ProductID表示产品编号;ProductName表示产品名称;Price表示销售单价;ClientName表示客户姓名;ProductNumber表示购买数量;SalesPrice表示实际销售价格。42.使用T-SQL语句操作创建产品表,表名为Product。ProductIDProductNamePrice1HP1200打印机20002LX360兼容机48003IBM350笔记本110004IBM360笔记本1200043.使用操作创建销售情况表,表名为Sales。ProductIDClientNameProductNumberSalesPrice2北大青鸟1045001北大青鸟2518003联想集团10110002联想集团3045001联想集团2018003北大方正40100003诺基亚2010500五、数据查询。(本大题共5小题、每题4分,共计20分)44.查询出单笔售数量大于15的客户名称、购买数量、销售价格信息;45.查询出所有商品的全部销售金额;46.查询客户姓名、对应客户的销售总金额;47.查询购买过商品“IBM350笔记本”的商品名称、客户名称、购买数量;48.将客户“北大青鸟”名称更新为“北大青鸟APTECH”。六、数据库编程。(本大题1小题,共计6分)49.为ProductSales数据库中的产品表创建一个名为update_pno的UPDATE触发器,该触发器的作用是禁止更新产品表中的“ProductName”字段的内容。并用UPDATE语句修改产品表中第一条记录为:1HP1500打印机2000要求显示“不能修改产品名称”的警告信息。项目二学生管理数据库系统新建数据库xsgl,向数据库导入student表、choice表,完成以下查询:七、数据查询。(本大题共5小题、每题4分,共计20分)50.查询06级学生的信息。51.统计各课程的最高分、最低分和平均成绩52.查询choice表中的前三条记录的信息53.查询孙晓龙的所有选修课的成绩54.查询选修课考试不及格的学生的学号和姓名