SQLServer考题
一,填空题
(每题1分)Query,Language.全称的中文是结构查询语
1SQL的英文对应是Structured,
言.
2常用的三种数据模型是层次模型,网状模型,
关系模型.
3服务管理器是用来启动、暂停和停止SQLServer服务的。这些服务在WindowsNT/2000下也可以通过控制面板的服务项来启动或停止。4索引的类型有簇类索引,非簇类索引两大类型。5SQLServer的触发器有插入触发器,删除触发器,修改触发器三种。6SQLServer2000提供了两种确认用户的认证模式是WINDOWS认证,混合认证7SQLServer中的T_SQL语句使用grant、revoke和deny三种命令来实现管理权限许可、回收和否定。8T-SQL的控制语句_IF语句__,等9SQLServer中有5种约束,他们是__主键约束__,_,_缺省约束_和_外部键约束__。__DML___,___DDL___,____DCL___四个部分._唯一性约束_,_检查约束_if-else_,_case语句__,__while语句__等
10SQL包含__DQL___,
二,简答题(每个6分)1.MicrosoftSQLServer安装好时,自带的数据库哪些?它们的作用如何?Master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需
1
要的。Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其它临时操作提供存储空间。Pubs和Northwind数据库是两个实例数据库,它们可以作为SQLServer的学习工具。
2.SQLServer中5种约束是什么?主键约束(primarykeyconstraint),唯一性约束(uniqueconstraint),检查约束(checkconstraint),缺省约束(defaultconstraint),外部键约束(foreignkeyconstraint)3.SQL语言包含哪四个部分?给出至少5个核心动词?数据定义语言(DDL数据查询语言(DQLDataDefinitionLanguage)定义、撤销、修改数据模式,DataQueryLanguage)查询数据,数据操纵语言(DMLData
DataManipulationLanguage)增加、删除和修改数据,数据控制语言(DCLControlLanguage)控制数据的访问权限.
核心动词:create,drop,alter;select;insert,update,delete,grant,revoke,deny(任意5个)
4.简述SQLServer2000四种备份方式?(一)完全数据库备份(Dadabase-complete);(二)差异备份或称增量备份(Dadabase-differential)(三)事务日志备份(Transactionlog)(四);;数据库文件和文件组备份(Fileandfilegroup)5.简述SQLServer2000常见的版本?SQLServer2000常见的版本有:企业版(EnterpriseEdition)标准版、(StandardEdition)、个人版(PersonalEdition)和开发人员版(DeveloperEdition)。企业版:一般作为数据库服务器使用。标准版:一般用于小型的工作组或部门。个人版:主要适用于移动用户。开发人员版:是一个适用于应用程序开发的版本。
2
6.简述数据完整性的类型是什么?关系中键属性的值不能取空值(主键、索引、UNIQUE,IDENTIFY属性来实现)。域的完整性:数据库表中对指定列有效的输入值,通过数据类型、格式
(CHECK约束和规则)或可能的取值范围(FOREIGNKEY,CHECK,DEFAULT,NOTNULL定义和规则)。参照完整性:是关系间引用所遵域循的规则,与外键有数据间应满足的语义约束
关(FOREIGNKEY,CHECK)用户定义的完整性:。
关系,由用户定义,由系统检查(用户的特定业务规则)。三,综合应用题(50)SQLServer的T-SQL1,创建数据库testdb2新建表格:学生表(,,性别,所在系,入学时间,籍贯,备注),,课程表(课程号,课程名称,教材,上课时间,其它信息,备注)课程成绩表(课程号,,成绩,备注),createdatabasetestdbcreatetablestudent(s_nos_names_sexdepp_nochar(80)notnull,
varchar(30),char(1),char(8),
entry_timedatetime,homedowncommons)createtablecourses(c_novarchar(50),course_datevarchar(100))createtablescores(c_nochar(6),s_nochar(8),scoresint,char(6),c_name,varchar(30),booksvarchar(60),commonsvarchar(60),varchar(100)
datetime,otherinfo
3
commons
varchar(100))
3在各个表中插入2行数据insertintostudentvalues(‘12345678’‘wanghao’,‘M’,‘CS’,,‘2004/09/01’,‘Sichuan,Chengdu’,‘’)insertintostudentvalues(‘12345666’‘zhang,‘CS’,‘2004/09/01’,‘Sichuan,Chengdu’,‘’)insertintocoursesvalues(‘600110’,‘databasesystem’,‘SQLserverdatabase’,‘2006/08/01’,‘’,’’)min’,‘F’,
insertintocoursesvalues(‘600120’,‘operatingsystem’,‘operatingsystem’,‘2006/08/01’,‘’,’’)
insertintoscores(‘600110’,‘12345678’,89,‘’)insertintoscores(‘600120’,‘12345678’,77,‘’)
4新建视图view_test,显示平均成绩大于等于85的学生的情况。要求视图显示的字段为“”、“”、课程号,课程名称、成绩。createviewview_testasselects_no,s_name,c_no,c_name,scoresfrom
student,courses,scoreswherestudent.s_no=score.s_noandcourses.c_no=scores.c_nogowherescores.scoress>85
5修改表课程表中,课程号为“210”的“课程名”为“计算机组成原理”。updatecoursessetc_name=“计算机组成原理”wheresc_no=“210”6在表学生表中增加一字段,字段名为“身份证号”,数据类型为“char(18)”,可以为空。
4
7为表课程成绩表建立一个参照完整性,要求课程成绩表的所有记录的“课程号”字段的值,在表课程中已经存在。altertablescoresaddCONSTRAINTFK_c_noFOREIGNKEY(c_no)REFERENCEreferencecourses(c_no)8建立删除触发器,要求当表学生表的记录被删除后,表课程成绩表中相应的记录也能自动删除。createtriggertirdeletonstudentfordeleteasdeletefromscoreswheres_no=deleted.s_nogo
9编写一个存储过程proc_test,要求为选课程号为“206”的学生的成绩增加5分,并执行之。createprocproc-testasupdatescoressetscores=scores+5wherec_no=“206”goexecproc-testgo
10备份数据库testdb到特定的目录下,并以testdbbak为文件名保存。backupdatabasetestdbto“c:\testdbbak”
5