SQL期末复习题库
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)UNIQUE约束允许在该列上存在一个NULL值,而PRIMARY KEY约束不允许有NULL值;
(3)在创建PRIMARY KEY约束和UNIQUE约束时可以创建索引,但在默认的情况下,PRIMARY KEY约束产生聚集索引,而UNIQUE约束产生非聚集索引。
10、一个数据库中的用户定义数据类型能够用于同一个服务器上的另一个数据库中吗?
5、请说明下列程序段的功能。
SET DATEFORMAT mdy;
DECLARE @datevar DATE;
SET @datevar='09/10/2008';
SELECT @datevar;
GO
答:此程序为一个批处理。
第一行设置用于解释 date、smalldatetime、datetime、datetime2 和 datetimeoffset 字符串的月、日和年日期部分的顺序为“月日年”的顺序。
(3)事务日志文件。事务日志文件记录所有事务以及每个事务对数据库所做的修改,保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志文件的扩展名是 .ldf。
8、简述SQL SERVER 2008中文件组的作用和分类。
答:两种类型:
(1)主要文件组。每个数据库有一个主要文件组,主要文件组包含主要数据文件和未放入其他文件组的所有次要文件。所有系统表都被分配到主要文件组中。
9、什么是PRIMARY KEY约束?什么是UNIQUE约束?两者有何异同?
答:PRIMARY KEY约束用于唯一地标识表中的每条记录,UNIQUE约束用来限制不受PRIMARY KEY约束的列上的数据的唯一性。
区别:(1)一个表上可以放置多个UNIQUE约束,而一个表上只能有一个PRIMARY KEY约束;
答:该语句将在名为table1表上的column1和column4上建立一个组合的唯一聚集索引,另外column4上指定 DESC表示在该行上的排序次序为降序。
12、图书管理系统有两个主要的表:Books和Lending。如果希望惟一地标识每本书和每次借阅记录,应该采用哪种约束?如何管理这两个表之间的关系?
答:采用PRIMARY KEY约束,在Lending表中使用FOREIGN KEY约束来引用Books表。
13、在Books表中有一列press,如何解决在该列一次次输入“机械工业出版社”的问题?
答:在列press设置一个DEFAULT约束,默认值为“机械工业出版社”。
14、假设要修改表Lending上设置的某个CHECK约束,如何确保现有的数据不受影响?
实体完整性指的是表中的每一行都能由称为主键的属性列来唯一标识,且不存在重复的数据行。域完整性指的是限制向表中输入的值的范围,保证给定列的输入有效性。它可以通过限制数据类型、值域或数据格式来实现。参照完整性也叫引用完整性。指的是当一个表引用了另一个表中的某些数据时,要防止非法的数据更新,以保持表与表之间数据的一致性。可通过外键约束来实现 。
二、简答题
1、什么是数据完整性?如何实现?
答:数据完整性是指数据的正确性、一致性和安全性,是衡量数据库中数据质量好坏的重要标准。
在SQL Server数据库中,数据完整性大致可划分为以下三种类型:实体完整性(Entity Integrity) 、域完整性(Domain Integrity) 、参照完整性(Referential Integrity) 。
(2)用户定义文件组。用户首次创建数据库或以后修改数据库时明确创建的任何文件组。创建用户定义的文件组,可以将数据文件集合起来,以便于管理、分配和放置数据。
每个数据库中均有一个文件组被指定为默认文件组,只能将一个文件组指定为默认文件组。在数据库中创建对象时如果没有指定对象所属的文件组,对象将被分配给默认文件组。
答:不能。用户定义数据类型局限于单个数据库。你可以在另一个数据库中创建一个与之匹配的数据类型,也可以在model数据库中创建用户自定义数据类型。
11、下面的一条SQL语句是用来创建一个索引的,试解释其作用。
CREATE UNIQUE CLUSTERED INDEX index1 ON table1(column1,column4 DESC)
2、数据库对象的命名格式是什么?
答:[[[服务器名.][ 数据库名].][架构名].] 对象名
3、什么是批处理?如何识别多个批处理?
答:批处理是指用户传递给服务器的一个完整的语句组。它由一条或者多条SQL语句组成,以“GO”为结束识别标志。
4、变量的有哪两种类型?如何使用局部变量?
答:一种是系统预先定义的全局变量,另外一种是用户根据自己的需要定义的局部变量。局部变量作用范围仅限制在定义该变量的程序内部。局部变量必须先声明后使用。例如定义局部变量@myvar,并赋值:DECLARE @myvar char(20)= 'SQL S的2008'
第二行声明DATE型变量@datevar。
第三行给该变量按第一行设定的顺序赋值。
第四行显示变量值。显示结果为:2008-09-10。
6、简述数据库的两种存储结构பைடு நூலகம்
答:分为逻辑存储结构和物理存储结构两种。数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,诸如表、视图、索引、存储过程等。数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的。数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成,每个 SQL Server数据库至少具有两个操作系统文件:一个数据文件和一个事务日志文件。
答:修改表来删除现有的CHECK约束,然后添加新的CHECK约束。在添加新约束时,使用WITH NOCHECK选项。
7、数据库由哪几种类型的文件组成?其扩展名是?
答:三种类型:
(1)主要数据文件。主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在主要数据文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的扩展名是 .mdf。
(2)次要数据文件。次要数据文件是可选的,由用户定义并存储用户数据。次要数据文件的扩展名是 .ndf。
(3)在创建PRIMARY KEY约束和UNIQUE约束时可以创建索引,但在默认的情况下,PRIMARY KEY约束产生聚集索引,而UNIQUE约束产生非聚集索引。
10、一个数据库中的用户定义数据类型能够用于同一个服务器上的另一个数据库中吗?
5、请说明下列程序段的功能。
SET DATEFORMAT mdy;
DECLARE @datevar DATE;
SET @datevar='09/10/2008';
SELECT @datevar;
GO
答:此程序为一个批处理。
第一行设置用于解释 date、smalldatetime、datetime、datetime2 和 datetimeoffset 字符串的月、日和年日期部分的顺序为“月日年”的顺序。
(3)事务日志文件。事务日志文件记录所有事务以及每个事务对数据库所做的修改,保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志文件的扩展名是 .ldf。
8、简述SQL SERVER 2008中文件组的作用和分类。
答:两种类型:
(1)主要文件组。每个数据库有一个主要文件组,主要文件组包含主要数据文件和未放入其他文件组的所有次要文件。所有系统表都被分配到主要文件组中。
9、什么是PRIMARY KEY约束?什么是UNIQUE约束?两者有何异同?
答:PRIMARY KEY约束用于唯一地标识表中的每条记录,UNIQUE约束用来限制不受PRIMARY KEY约束的列上的数据的唯一性。
区别:(1)一个表上可以放置多个UNIQUE约束,而一个表上只能有一个PRIMARY KEY约束;
答:该语句将在名为table1表上的column1和column4上建立一个组合的唯一聚集索引,另外column4上指定 DESC表示在该行上的排序次序为降序。
12、图书管理系统有两个主要的表:Books和Lending。如果希望惟一地标识每本书和每次借阅记录,应该采用哪种约束?如何管理这两个表之间的关系?
答:采用PRIMARY KEY约束,在Lending表中使用FOREIGN KEY约束来引用Books表。
13、在Books表中有一列press,如何解决在该列一次次输入“机械工业出版社”的问题?
答:在列press设置一个DEFAULT约束,默认值为“机械工业出版社”。
14、假设要修改表Lending上设置的某个CHECK约束,如何确保现有的数据不受影响?
实体完整性指的是表中的每一行都能由称为主键的属性列来唯一标识,且不存在重复的数据行。域完整性指的是限制向表中输入的值的范围,保证给定列的输入有效性。它可以通过限制数据类型、值域或数据格式来实现。参照完整性也叫引用完整性。指的是当一个表引用了另一个表中的某些数据时,要防止非法的数据更新,以保持表与表之间数据的一致性。可通过外键约束来实现 。
二、简答题
1、什么是数据完整性?如何实现?
答:数据完整性是指数据的正确性、一致性和安全性,是衡量数据库中数据质量好坏的重要标准。
在SQL Server数据库中,数据完整性大致可划分为以下三种类型:实体完整性(Entity Integrity) 、域完整性(Domain Integrity) 、参照完整性(Referential Integrity) 。
(2)用户定义文件组。用户首次创建数据库或以后修改数据库时明确创建的任何文件组。创建用户定义的文件组,可以将数据文件集合起来,以便于管理、分配和放置数据。
每个数据库中均有一个文件组被指定为默认文件组,只能将一个文件组指定为默认文件组。在数据库中创建对象时如果没有指定对象所属的文件组,对象将被分配给默认文件组。
答:不能。用户定义数据类型局限于单个数据库。你可以在另一个数据库中创建一个与之匹配的数据类型,也可以在model数据库中创建用户自定义数据类型。
11、下面的一条SQL语句是用来创建一个索引的,试解释其作用。
CREATE UNIQUE CLUSTERED INDEX index1 ON table1(column1,column4 DESC)
2、数据库对象的命名格式是什么?
答:[[[服务器名.][ 数据库名].][架构名].] 对象名
3、什么是批处理?如何识别多个批处理?
答:批处理是指用户传递给服务器的一个完整的语句组。它由一条或者多条SQL语句组成,以“GO”为结束识别标志。
4、变量的有哪两种类型?如何使用局部变量?
答:一种是系统预先定义的全局变量,另外一种是用户根据自己的需要定义的局部变量。局部变量作用范围仅限制在定义该变量的程序内部。局部变量必须先声明后使用。例如定义局部变量@myvar,并赋值:DECLARE @myvar char(20)= 'SQL S的2008'
第二行声明DATE型变量@datevar。
第三行给该变量按第一行设定的顺序赋值。
第四行显示变量值。显示结果为:2008-09-10。
6、简述数据库的两种存储结构பைடு நூலகம்
答:分为逻辑存储结构和物理存储结构两种。数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,诸如表、视图、索引、存储过程等。数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的。数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成,每个 SQL Server数据库至少具有两个操作系统文件:一个数据文件和一个事务日志文件。
答:修改表来删除现有的CHECK约束,然后添加新的CHECK约束。在添加新约束时,使用WITH NOCHECK选项。
7、数据库由哪几种类型的文件组成?其扩展名是?
答:三种类型:
(1)主要数据文件。主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在主要数据文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的扩展名是 .mdf。
(2)次要数据文件。次要数据文件是可选的,由用户定义并存储用户数据。次要数据文件的扩展名是 .ndf。