模拟测验1
⼀、选择题(在每个⼩题四个备选答案中选出⼀个正确答案,填在题末的括号中)(本⼤题共10⼩题,每⼩题2分,总计20分)
1. ()是位于⽤户与操作系统之间的⼀层数据管理软件,它属于系统软件,它为⽤户或应⽤程序提供访问数据库的⽅法。数据库在建⽴、使⽤和维护时由其统⼀管理、统⼀控制。A.DBMS B.DBC.DBS D.DBA
2. 下列四项中,不属于SQL2005实⽤程序的是()。A.对象资源管理器B.查询分析器C.服务管理器D.媒体播放器
3. SQL Server安装程序创建4个系统数据库,下列哪个不是()系统数据库。A. masterB. modelC. pubD. msdb
4. 下列哪个不是sql 数据库⽂件的后缀。A..mdf B..ldfC..tif D..ndf
5. SQL语⾔允许使⽤通配符进⾏字符串匹配的*作,其中…%?可以表⽰()A.零个字符B.1个字符串C. 多个字符串D. 以上都是
6. SQL语⾔中,条件年龄BETWEEN 15 AND 35表⽰年龄在15⾄35之间,且( )。A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7. SQL的视图是从()中导出的。A. 基本表B. 视图
C. 基本表或视图
D. 数据库
8. 在SQL语⾔中,建⽴存储过程的命令是()A、CREATE PROCEDUREB、CREATE RULEC、CREATE DURED、CREATE FILE
9. SQL语⾔中,删除表中数据的命令是( )。A. DELETEB. DROPC. CLEARD. REMOVE
10. 在MS SQL Server中,⽤来显⽰数据库信息的系统存储过程是( )。A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb⼆、简答题(16分)
1、什么是游标?使⽤游标的步骤?2、什么是事务?事务的基本属性是什么?三、应⽤题
1、创建⼀个名字为ks的数据库,包含⼀个数据⽂件和⼀个⽇志⽂件,逻辑⽂件名为ks_data,磁盘⽂件名为ks_data.mdf,⽂件初始容量为5MB,最⼤容量为10MB,⽂件递增量为1MB;⽽事务⽇志⽂件的逻辑⽂件名ks_log,磁盘⽂件名为ks_log.ldf,⽂件初始容量为1MB,最⼤容量为5MB,⽂件递增量为1MB(数据库创建在C:\\SERVER⽂件夹下)(10分)2、假设ks数据库有以下三张表,请写出下列问题的SQL语句:(每题6分,共54分)学⽣(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)
(1)如何在SQL Server上创建这三张表;(2)查询刘峰教师所授课程号,课程名;
(3)查询年龄⼤于20岁的所有男同学的学号、姓名;(4)查询王⽂芳同学选修的所有课程的课程号;(5)查询所有上刘峰⽼师课程的学⽣学号;(6)查询所有选修“数据库技术”的学⽣的学号;
(7)向学⽣表中插⼊⼀条记录(?2003001?,?吴红?,21,?⼥?);(8)删除三张表中所有学号为20020001的学⽣信息;(9)把学号为20030002的学⽣的年龄改为22岁;
SQL Server 2005 复习题⼀、选择题
1. SQL语⾔允许使⽤通配符进⾏字符串匹配的*作,其中…%?可以表⽰(C )A 零个字符B 1个字符串C 多个字符串D 以上都是
2 如何在已经创建好的表上添加⼀个外键(A )
A Alter table 表名add foreign key(键名)reference 关联表(关联键名)B Alter table 表名add Primary key(键名)reference 关联表(关联键名)C Alter 表名add foreign key(键名)reference 关联键名)
D Alter 表名add Primary key(键名)reference 关联表(关联键名)
3. 要修改表名为Table1的字段Field1长度,原为Char(10)要求⽤SQL增加长度为char (20),以下语句那个正确(C )A Alter table Table1 Alter Field1 char(20)B Alter Table1 Alter column Field1 char(20)C Alter table Table1 Alter column Field1 char(20)D Alter column Field1 char(20)
4. 下⾯聚集函数中哪个只能⽤于计算数值类型的数据(D )A COUNT( )B MIN( )C MAX( )D SUM( )
5.以下哪个关键字⽤来定义记录在某属性上的约束条件(D )A DEFAULTB DISTINCTC UNIQUED CHECK
6.欲往表中增加⼀条记录,应该⽤哪⼀条SQL语句(B )A ALTER TABLEB INSERT INTO TABLEC CREATE TABLED DROP TABLE
7.以下哪⼀个不是逻辑运算符(D )A NOTB AND
C ORD IN
8. 在创建表的过程中,哪个关键字⽤来定义默认值(D )A DISTINCTB UNIQUEC CHECKD DEFAULT⼆、填空题
1 数据库技术经历了⼈⼯管理阶段,_________和_______三个发展阶段。2 数据库系统中最常⽤的三种数据模型有层次模型,_________和_______。3 关系模式的三类完整性约束条件分别是_____,_____,和______。4 E-R图的主要元素是实体型,______,______。
5 在E-R模型的主要术语中,属性的取值范围称为_______。能够区别不同的实体且能唯⼀标识实体的最⼩属性集,称为______。填空题答案:
1⽂件系统阶段,数据系统阶段2⽹状模型,关系模型
3实体完整性,引⽤完整性约束,⽤户⾃定义完整性4属性,联系5域,实体集的实体键三、判断题
1 默认值绑定到列上后,该列上的值将固定不能改变(X )2 ⼀张表允许有多个主键,但只能有⼀个外键(X )3 可以通过SQL语句修改数据库名称及表的名称(√ )
4 聚集函数SUM( )与AVG( )可以⽤来操作任何类型的数据(X )5 要删除⼀条记录使⽤DROP指令(X )
6 在空串处理语句中,IS NULL⽤来判断属性值是否为空,在此IS是关键字,不是标准的逻辑运算符(√ )7 在模糊查询中可以使⽤LIKE结合通配符⼀块⼉实现,其中%代表单个字符(X )8 在查询语句中,若要把记录进⾏降序排列应使⽤ORDER BY 字段名DESC (√ )9 在创建表的过程中,如果⼀属性是DATETIME类型需要指定长度(X )10 在关系数据库的设计过程中,允许在设计后对表结构进⾏修改(√ )四、基本操作
现在要为学校建⽴⼀个数据库,设学校的环境如下:⼀个系有若⼲个专业,每个专业⼀年只招⼀个班,每个班有若⼲个学⽣,现要建⽴关于系、学⽣、班级的数据库,关系模式为:学⽣表STUDENT(学号,姓名,性别,⽣源地,出⽣⽇期)班级表CLASS(班号,专业名,系号,⼊学年份)
系DEPARTMENT(系号,系名)使⽤SQL语句完成⼀下功能:
1建⽴数据库名为SCHOOL并激活当前新建的数据库CREATE DATABASE SCHOOLON PRIMARY( NAME = SCHOOL,
FILENAME = 'D:\\SCHOOL.mdf',SIZE = 5MB,MAXSIZE = 20MB,FILEGROWTH = 1MB)LOG ON
( NAME= SCHOOL_log,
FILENAME = 'D:\\SCHOOL_log.ldf',SIZE = 2MB,MAXSIZE = 20MB,FILEGROWTH = 10%)GO
use SCHOOL2建表:在定义中声明1)每个表要有主键
2)学⽣的性别只能取…男?或者…⼥?3)学⽣姓名不能为空
4)表CLASS中建⽴外键系名,关联表DEPARTMENT中的系名5)系代号不能重复且不能为空(1)学⽣表STUDENT(学号,姓名,性别,⽣源地,出⽣⽇期)create table student -- 学⽣表定义(
学号char(10) primary key , -- 主键为学号姓名varchar(20) not null , -- 姓名不能为空值性别char(4) default '男' , -- 性别默认为男性⽣源地varchar(12) , --⽣源地出⽣⽇期datetime ,
check((性别= '男') or (性别= '⼥')) -- 性别必须为男性或⼥性)
(2)班级表CLASS(班号,专业名,系名,⼊学年份)--班级表CLASS(班号,专业名,系名,⼊学年份)create tableclass -- 班级表定义(
班号char(4) primary key not null, -- 定义班号不能为空值专业名char(20) , -- 定义专业名系号char(4) , -- 定义学分
⼊学年份datetime ,-- ⼊学年份
foreign key(系号) references department(系号),)
(3)系DEPARTMENT(系号,系名)create table department -- 系表定义(
系号char(4) primary key not null ,--系代号不能为空系名char(8) ,--系名
unique(系号) ,-- 系号是唯⼀的,即系号不能重复)
3插⼊如下数据
CALSS(101,软件,02,2003;102,微电⼦,02,2004)
STUDENT(8101,张三,男,101,⼭东,1984;8102,钱四,⼥,121,济南,1984;8103,王玲,⼥,131,福建,1985;8105,李飞,男,102,河北,1985)DEPARTMENT(02,计算机;03,数学;04,化学)
insert into class values('101','软件','02','2003-09-01')insert into class values('102','微电⼦','02','2004-09-01')insert into student values('8101','张三','男','⼭东','1984-01-01')insert into student values('8102','钱四','⼥','济南','1984-01-01')insert into student values('8103','王玲','⼥','福建','1985-01-01')insert into student values('8105','李飞','男','河北','1985-01-01')insert into department values('02','计算机')insert into department values('03','数学')insert into department values('04','化学')4完成以下的查询功能
(1)通过对学⽣信息表的查询,查询出所有学⽣的学号,姓名和性别select 学号,姓名,性别from student
(2)通过对学⽣信息表的查询,查询来⾃福建的学⽣的记录select *from studentwhere ⽣源地= '福建'
(3)在查询语句中,查询出学⽣姓名并计算出学⽣的年龄⼤⼩select 姓名, datediff(yy, 出⽣⽇期, getdate())from student
(4)⽤模糊查询出姓钱的⼥⽣记录select *from studentwhere 姓名like '钱%'
(5)在查询语句中使⽤聚合函数计算出所有学⽣总数起别名为学⽣⼈数select count(*) as '学⽣⼈数'from student
(6)查询所有班级的信息,并⽤班级号进⾏降序排序select *from classorder by 班号desc
(7)更新学号为8103的这位学⽣的姓名为张玲update studentset 姓名= '张玲'where 学号= '8103'
(8)查找出学号在8101到8103的学⽣信息select *from student
where 学号between '8101' and '8103'(9)删除姓名为李飞的学⽣记录delete from studentwhere 姓名= '李飞'
(10)删除数据表STUDENTdrop table student
SQL SERVER 2005 填空题填空:
1.SQL(structured packing Query Language)是__结构化查询_____________语⾔。2.SQL SERVER的实例有两种,分别是__默认实例____和__命名实例_____。3.SQL SERVER提供了四个系统数据库,分别是__master______、__tempdb______、_model_______、___msdb______。
4.SQL SERVER安装后,系统默认两个帐号,⼀个是BUILTIN \\ Administrator是Windows NT组帐户,另⼀个是sa,sa是__超级管理员 _________帐户.
5.SQL SERVER提供了两种形式的索引,分别是__聚集索引_和___⾮聚集索引_____。6.SQL语⾔中,⽤于排序的是_ORDER_BY______⼦句,⽤于分组的是___GROUPBY______⼦句。
7.⽤统计函数__avg() ______可以计算平均值,⽤统计函数__max() _______可以计算某⼀列上的最⼤值。8.___count(*) _____是⼀个⾮常特殊但⼜⾮常有⽤的函数,它可以计算出满⾜约束条件的⼀组条件的⾏数。
9.当完成数据结果的查询和统计后,可以使⽤HAVING关键字来对查询和计算的结果进⾏__进⼀步的筛选________。10.在INSERT语句中,VALUES列表中的表达式的数量,必须匹配列列表中的_ 列名次序⼀样,个数相等_____,
表达式的数据类型必须可以和表格中对应各列的数据类型___⼀⼀对应________。11.SQL中,有⼀种简便的插⼊多⾏数据的⽅法,这种⽅法是使⽤___select语句
_____________查询出的结果代替VALUES⼦句。
12.删除视图的语句是__DROP VIEW VIEW-NAME_________________________________。13.模糊查询中,*表⽰__全部信息______________,%表⽰__表⽰从0-N个任意字符
______________,[]表⽰_表⽰⽅括号⾥的列出的任意⼀个字符_________、[^]表⽰___任意⼀个没有再⽅括号⾥列出的字符_______。
14.视图是⼀种数据库对象,是从⼀个或多个表或视图中导出的_select语句_______,为视图提供数据的表称为__基表_____________。
15.数据库系统是指计算机系统中引进数据库后的系统构成,主要包括以下⼏⽅⾯:计算机硬件、数据库、___数据库管理系统_________和___应⽤系统和⽤户______。
16.数据模型有三种类型,分别是_层次模型________、__⽹状模型______和___关系模型_________。SQL属于_关系_______型数据库管理系统。
17.实体----关系(ER)图中的矩形框表⽰_实体_____、椭圆型框表⽰___属性_______________。
18.SQL SERVER的两种⾝份验证模式分别是___windows⾝份验证模式_________和_____混合模式____________。19.SQL语⾔的英⽂全称为structured packing Query Language ,在SQL中,基本表的删除可⽤drop table table-name语句,删除基本表中的所有元组可⽤delete [from] table-name where search-conditions语句。建⽴视图可⽤create view view-name[column_name,......] as select statement with check option 语句
20.数据库中,主要数据⽂件的扩展名为__.mdf________,次要数据⽂件的扩展名为__ .ndf_______,事务⽇志⽂件的扩展名为___ .ldf _______。
21.INT 型数据的字段宽度为___4_____、DATETIME型数据的字段宽度为__8______,逻辑型数据的字段宽度为___1_____。
22.SQL SERVER中的索分为两类,记录的物理顺序和索引顺序相同的是___聚集____索引,
记录的物理顺序和索引顺序不同的是___⾮聚集____索引,_聚集_____索引只能建⼀个。23.在数据库技术中,ER模型是⼀种数据模型。ER图中包括实体、关系、_属性___ 三种基本元素。
24.DB是指:数据库,DBMS是指:数据库管理系统,DBA是指数据库管理员25.关系数据库中不仅包含表,还包括其它数据对象,如_视图________、_索引______等数据库试卷2
⼀、填空题(共9题,每空1分,共15分)
1.在使⽤⼀个游标的时候可以分为以下⼏步:___________、打开游标、从打开的游标中提取⾏、____________、释放游标。
2.如果要计算表中的⾏数,可以使⽤聚合函数____________。
3.使⽤T-SQL语句创建视图时,若要求对视图进⾏UPDATE、INSERT、DELETE操作时要保证更新、插⼊、删除的⾏满⾜视图定义中的谓词条件须使⽤_________⼦句。
4.使⽤T-SQL语句创建存储过程时,若要求对存储过程的定义⽂本进⾏加密,应使⽤_________⼦句。
5.若要删除sutdent表的全部数据,数据删除后不可撤销,应使⽤语句____________,若想删除student数据表,应使⽤语句________________。
6.在select查询中,若要消除重复⾏,应使⽤关键字_____________。
7.SQL Server 2000局部变量名字必须以_________开头,⽽全局变量名字必须以_________开头。8.Sql Server中的索引,按照索引的顺序是否与数据表中记录的物理顺序相同可分为__________和________。
9.触发器有3种类型,即INSERT类型、和。
⼆、简答题(共3题,每题7分,共21分)
1、判断题(每题1分,共10分,答案填在下⾯表格中)
()1. 在SQL Server中⽤户不能建⽴全局变量。()2. 主键字段允许为空。
()3. SQL Server的数据库可以导出为Access数据库。()4. 删除表时,表中的触发器不被同时删除。
()5. 验证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL Server系统的验证模式。()6. 视图本⾝不保存数据,因为视图是⼀个虚拟的表。
()7. 在使⽤⼦查询时,必须使⽤括号把⼦查询括起来,以便区分外查询和⼦查询。()8. SQL Server有数据导⼊功能但没有数据导出功能。()9. SQL Server有数据备份功能但没有数据还原功能。()10. ⼀个表可以创建多个主键。
2、什么是视图?视图和表相⽐有什么独特的优势?
3、数据库中的常⽤完整性有⼏种?在Sql Server主要通过什么⽅式实现?
三、应⽤题(共9题,本题共54分。)现有关系数据库如下:数据库名:学⽣成绩数据库
学⽣信息表(学号char(6),姓名,性别,民族,⾝份证号)课程信息表(课号char(6),名称)成绩信息表(ID,学号,课号,分数)⽤SQL语⾔实现下列功能的sql语句代码。1. 创建数据库[学⽣成绩数据库]代码。
2. 创建数据表[课程信息表]代码;课程信息表(课号char(6),名称) ;要求使⽤:主键(课号)、⾮空(名称)
3. 创建数据表[学⽣信息表]代码;
学⽣信息表(学号char(6),姓名,性别,民族,⾝份证号)要求使⽤:主键(学号)、唯⼀(⾝份证号)、检查(性别)4. 查询所有学⽣的信息;
5.将下列课程信息添加到课程信息表的代码;课号名称101 西班⽛语102 ⼤学英语
6.查询选修课号为102的课程的学⽣的成绩;7. 创建视图[成绩信息表视图]的代码;
成绩信息表视图(学号,姓名,课号,课程名称,分数)
8. 从学⽣信息表中查询姓名中有“丽”的⼥同学的情况:姓名、性别、民族。
四、编程题(共2题,每题5分,共10分)
1. 在数据表上机记录中创建⼀个名为insert_sjkh的insert触发器其作⽤是:当⽤户在“上机记录”表中插⼊记录时,若“上机卡”表中没有该上机号,则提⽰⽤户不能插⼊,否则,提⽰记录插⼊成功。(附:上机记录表结构:(上机号char(13),上机⽇期datetime,开始时间datetime,结束时间datetime,上机状态bit)。上机卡表结构:(上机号char(13),姓名……)
2. 在student数据库中的学⽣、课程注册、课程表中创建⼀个带参的存储过程cjcx。其功能是:当任意输⼊⼀个学⽣的姓名时,返回该学⽣的学号、选修的课程名和课程成绩。然后使⽤存储过程,查询学⽣“周红瑜”的学号、选修的课程名和课程成绩9. 查询课程成绩⼩于60分的所有学⽣的信息,包括学号、姓名。试卷1学习
⼀、填空题(共9题,每空1分,共15分)
1.SQL Server的⾝份验证⽅式有_______和________。
2.SQL Server中⽤于存放临时表、临时存储过程以及为其他临时操作提供存储空间的系统数据库是_______________。3.使⽤T-SQL语句创建视图时,若要求对视图进⾏UPDATE、INSERT、DELETE操作时要保证更新、插⼊、删除的⾏满⾜视图定义中的谓词条件须使⽤_________⼦句。
4.使⽤T-SQL语句创建存储过程时,若要求对存储过程的定义⽂本进⾏加密,应使⽤_________⼦句。
5.若要删除sutdent表的全部数据,数据删除后不可撤销,应使⽤语句____________,若想删除student数据表,应使⽤语句________________。
6.在select查询中,若要消除重复⾏,应使⽤关键字_____________。
7.Sql Server的数据库⽂件分为数据⽂件和__________,其中数据⽂件⼜分为_________和__________。8..Sql Server中的索引,按照索引的顺序是否与数据表中记录的物理顺序相同可分为__________和________。
9.在Sql Server的事务处理中,开启⼀个事务可⽤Begin Transaction,提交事务和撤销事务应使⽤____________和___________。
⼆、简答题(共3题,每题7分,共21分)
1.在数据库端编程,主要有⾃定义函数、存储过程和触发器三种形式,请⽐较⼀下这三种⽅式的异同。
2.已知有学⽣关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学⽣选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句:
SELECT SNO FROM SC WHERE SCORE= (SELECT MAX(SCORE)FROM SC WHERE CNO=?002?)请问上述语句完成了什么查询操作?3.简述⼀下视图的概念和优点。三、应⽤题(共6题,本题共54分。)
1.创建名为“Love”的数据库,其中主数据⽂件为Lovedat.mdf,初始⼤⼩为5M,增长⼤⼩为2M,⽇志⽂件为Lovedat.ldf,初始⼤⼩是3M,最⼤存储空间是25M,增长是5M。请写出相应的SQL语句。(本题8分)2.使⽤sql语句创建表authors,结构如下表所⽰(本题8分)
3.使⽤SQL语句对2中创建的authors表进⾏如下修改:(每⼩题5分,共15分)(1)添加Sex 列char(2),city列varchar(20)。(2)删除city列。
(3) 修改作者信息表authors中的address列将该列的属性的长度更改为500。4.系部表的创建语句如下,请完成以下操作(每⼩题5分,共15分)
CREATE TABLE 系部(系部代码char(2) CONSTRAINT pk_xbdm PRIMARY KEY,系部名称varchar(30) NOT NULL,系主任char(8))(1)将系部表中计算机系的系主任改为…张中裕?
(2)将系部表中的系部名称列中的…系?全部更改为…科学系?(使⽤replace函数,⽤法:replace(串1,串2,串3),其功能是将串1中的串2 替换为串3 )
(3)在系部表中删除系主任姓…张?的系部数据
5.有⼆个数据表XS(xh, xm)和XS_KC(xh, kch, cj),⽤两种⽅法,写出如下查询:“查找数据库中所有学⽣的学号(xh)、姓名(xm)以及其所选修的课程号(kch)和成绩(cj)”。(本题8分)
四、编程题(共2题,每题5分,共10分)
1. 在数据表上机记录中创建⼀个名为insert_sjkh的insert触发器其作⽤是:当⽤户在“上机记录”表中插⼊记录时,若“上机卡”表中没有该上机号,则提⽰⽤户不能插⼊,否则,提⽰记录插⼊成功。(附:上机记录表结构:(上机号char(13),上机⽇期datetime,开始时间datetime,结束时间datetime,上机状态bit)。上机卡表结构:(上机号char(13),姓名……)
2. 在student数据库中的学⽣、课程注册、课程表中创建⼀个带参的存储过程cjcx。其功能是:当任意输⼊⼀个学⽣的姓名时,返回该学⽣的学号、选修的课程名和课程成绩。然后使⽤存储过程,查询学⽣“周红瑜”的学号、选修的课程名和课程成绩1、说明ER模型的作⽤?
答:ER模型(实体关系模型)是描述概念世界,建⽴概念世界的⼯具,ER⽅法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、⾃然地模拟现实世界。
2、什么是关系模型?关系的完整性包括哪些内容?
答:关系模型就是⽤⼆维表格结构来表⽰实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和⽤户定义的完整性。3、按照功能,SQL语⾔分为哪4部分?
答:按照功能,SQL语⾔分为数据定义语⾔、查询语⾔、数据操纵语⾔、数据控制语⾔。4、规范化范式是依据什么来划分的?它与⼀事⼀地的原则有什么联系?
答:规范化范式根据⼀个关系满⾜数据依赖的程度不同,可规范化为第⼀范式(1NF)、第⼆范式(2NF)、第三范式(3NF)。规范化范式遵循⼀事⼀地的原则,将描述⼀个独⽴事物的属性组成⼀个关系。5、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义?
答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有⼀套不为其他实例共享的系统及⽤户数据库。⼀个SQLServer服务器就是⼀个实例,⼀台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是⼀个实例。6、默认实例和命名实例有何差别?在安装和使⽤上有何不同?
答:实例⼜分为“默认实例”和“命名实例”,如果在⼀台计算机上安装第⼀个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。⼀台计算机上最多只有⼀个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。7、SQL Server 2005的安全性验证分为哪两个阶段?
答:第1个阶段是⾝份验证,验证⽤户是否具有“连接权”;第2个阶段是数据库的访问权,验证连接到服务器实例的⽤户,即已登录到服务器实例的⽤户,是否具有“访问权”。
8、在SQL Server 2005中数据库⽂件有哪3类?各有什么作⽤?
答:SQL Server 2005中数据库⽂件有主数据⽂件、辅助数据⽂件、事务⽇志⽂件。主数据⽂件是数据库的起点,指向数据库中⽂件的其他部分,同时也⽤来存放⽤户数据;辅助数据⽂件专门⽤来存放数据;事务⽇志⽂件存放恢复数据库所需的所有信息。
9、SQL Server 2005中数据⽂件是如何存储的?
答:SQL Server 2005中采⽤以页为数据库存储的基本单位,数据⽂件的页按顺序编号,⽂件⾸页的页码是0。每个⽂件都有⼀个⽂件ID号。在数据库中惟⼀标识⼀页,需要同时使⽤⽂件ID和页码。在每个⽂件中,第⼀页是包含⽂件特性信息的⽂件⾸页,在⽂件开始处的其他⼏个页中包含系统信息,如分配映射表。系统页存储在主数据⽂件和第⼀个事务⽇志⽂件中,其中有⼀个系统页包含数据库属性信息,它是数据库的引导页。
10、SQL Server 2005中创建、查看、打开、删除数据库的⽅法有哪些?
答:⽅法分别有两种,即可以通过SQL Server Management Studio图形化界⾯实现,也可以通过SQL语句命令实现。通过SQL语句,使⽤__CREATE_ DATABASE _命令创建数据库,使⽤_ EXEC sp_helpdb_命令查看数据库定义信息,使⽤_ EXEC sp_dboption 命令设置数据库选项,使⽤_ ALTER DATABASE _命令修改数据库结构,使⽤_ DROP DATABASE _命令删除数据库。
11、安装SQL Server 2005时,系统⾃动提供的4个系统数据库分别是什么?各起什么作⽤?
答:系统⾃动提供的4个系统数据库分别是master数据库、model数据库、msdb数据库、tempdb数据库。12、如何理解表中记录和实体的对应关系?为什么说关系也是实体?在表中如何表⽰?
答:实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。不同的事物是⽤不同的特征决定的,⽤来描述实体的特性称为实体的属性。表中每条记录对应⼀个实体,⽽每个字段保存着对应实体的属性值。13、说明主键、惟⼀键和外键的作⽤。说明它们在保证数据完整性中的应⽤⽅法。
答:主键是唯⼀识别⼀个表的每⼀记录,作⽤是将记录和存放在其他表中的数据进⾏关联,并与外键构成参照完整性约束。惟⼀键⽤于指明创建惟⼀约束的列上的取值必须惟⼀。外键⽤于建⽴和加强两个表数据之间的链接的⼀列或多列。通过将保存表中主键值的⼀列或多列添加到另⼀个表中,可创建两个表之间的链接。这个列就成为第⼆个表的外键。外键约束的主要⽬的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。
参照完整性要求有关联的两个或两个以上表之间数据的_⼀致性_。参照完整性可以通过建⽴_主键_和_外键_来实现。
创建表⽤__CREATE TABLE __语句,向表中添加记录⽤_INSERT INTO_语句,查看表的定义信息⽤EXECUTE sp_help 语句,修改表⽤ALTER TABLE 语句,删除表⽤DROP TABLE语句。14、数据完整性包括哪些?如何实现?
答:数据完整性包括实体完整性,域完整性,引⽤完整性,⽤户定义完整性,通过在表中,列中,表与表之间设置主键、惟⼀键、外键、CHECK约束等可以实现。15、说明使⽤标识列的优缺点。
答:优点:⽅便可以让计算机为表中的记录按照要求⾃动地⽣成标识字段的值。
缺点:标识列值的形成是按照⽤户确定的初值和增量进⾏的,如果在经常进⾏删除操作的表中定义了标识列,那么在标识值之间就会产⽣不连续现象。如果要求不能出现这种不连续的值,那么就不能使⽤标识列属性。16、为什么说视图是虚表?视图的数据存在什么地⽅?
答:视图是虚表,它在存储时只存储视图的定义,⽽没有存储对应的数据。视图通过定义从基表中搜集数据,并展现给⽤户。数据存储在对应的数据表中。
创建视图⽤CREATE VIEW 语句,修改视图⽤ALTER VIEW语句,删除视图⽤DROP VIEW语句。查看视图中的数据⽤
SELECT语句。查看视图的基本信息⽤sp_helptext存储过程,查看视图的定义信息⽤EXEC sp_helptext 存储过程,查看视图的依赖关系⽤EXEC sp_ depends存储过程。17、说明视图的优缺点。
答:优点:(1)视图能简化⽤户的操作;(2)视图机制可以使⽤户以不同的⽅式查询同⼀数据;(3)视图对数据库重构提供了⼀定程度的逻辑独⽴性;(4)视图可以对机密的数据提供安全保护。
缺点:(1)降低性能,通过视图查询起来需要花费时间;(2)视图是只读的,更新时需要更新原表,对⽤户来说很⿇烦。18、通过视图修改数据要注意哪些限制?答:对视图进⾏的修改操作有以下限制:
(1)若视图的字段来⾃表达式或常量,则不允许对该视图执⾏INSERT和UPDATE操作,但允许执⾏DELETE操作。(2)若视图的字段来⾃集合函数,则此视图不允许修改操作。(3)若视图定义中含有GROUP BY ⼦句,则此视图不允许修改操作。(4)若视图定义中含有DISTINCT短语,则此视图不允许修改操作。(5)⼀个不允许修改操作视图上定义的视图,也不允许修改操作。19、SQL Server 2005提供了哪两种数据访问的⽅法?答:两种⽅法分别为:表扫描法和索引法20、创建索引的好处主要有哪些?
答:创建索引好处主要是加快数据查询和加快表的连接、排序和分组⼯作。
按照索引值的特点分类,可将索引分为__惟⼀__索引和_⾮惟⼀_索引;按照索引结构的特点分类,可将索引分为_聚集__索引和__⾮聚集__索引。
21、聚集索引与⾮聚集索引之间有哪些不同点?
答:聚集索引会对表进⾏物理排序,⽽⾮聚集索引不会对表进⾏物理排序。
因篇幅问题不能全部显示,请点此查看更多更全内容