SQL Server基本知识点_简答1、数据库管理系统组成P32、数据库系统的组成P33、数据库系统的体系结构P44、概念模型(实体模型)的基本概念:实体、属性和域、实体型与实体集、码、联系(实体集之间的三种联系)P5实体:客观存在并可相互区别的事物称为实体,可以是具体的人、事、物,也可以是抽象的概念或联系。
属性:实体(客观事物)所具有的某一特性称为属性。
属性的值域:每个属性都有特定的取值范围,称为属性的值域。
实体型:用实体名及其属性名集合来表示同类实体的结构组成,称为实体型。
实体个体:在实体型描述的结构下,由若干属性的具体取值(属性值)所组成的集合表征了一个具体的实体,称为实体个体。
实体集:同型实体个体的集合称为实体集。
码:实体集中的实体个体彼此不相同。
如果实体集中的一个属性或若干属性的最小组合的取值能唯一标识其对应的实体个体,则把该属性或属性组合称为码。
对于每一个实体集,可指定一个码为主码。
联系:现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
联系分为一对一、一对多和多对多联系。
概念模型(实体模型):把客观世界中所涉及的客观事物及其联系抽象出来,它作为从现实世界到其数据世界转换的中间模型,不考虑数据的操作,而只是用比较有效的、自然的方式来描述现实世界的数据及其联系。
概念模型通常用E-R 图描述。
5、概述E-R模型P66、关系数据库的数据完整性:实体完整性、域完整性、参照完整性P8数据的完整性是指数据库中数据的正确性和一致性(或相容性),用来防止数据库中存在不合法的数据,防止错误的数据进入数据库中。
数据完整性一般分为实体完整性、域完整性和参照完整性。
实体完整性是指数据库表(关系)的每一行(元组)都有一个唯一的标识,即指表的主关键字(主码)不能有空值或重复值,否则就不能起到唯一标识行的作用。
实体完整性由实体完整性规则来定义,规定基本关系的所有主码都不能取空值或重复。
在SQL Server中,利用PRIMARY KEY约束、UNIQUE约束实现实体完整性。
域完整性是指数据库数据取值的正确性。
它包括数据类型、精度、取值范围以及是否允许空值等。
取值范围又可分为静态和动态两种。
在SQL Server中,利用NULL | NOT NULL约束、CHECK约束、默认、规则来实现。
参照完整性是指数据库中表与表之间存在主关键字(主码)与外部关键字(外码)的约束关系,利用这些约束关系可以维护数据的一致性或相容性,即在数据库的多个表之间存在某种参照关系。
参照完整性属于表与表之间(关系之间)规则。
在SQL Server中,利用FOREIGN KEY约束实现参照完整性。
7、全局变量、局部变量、二者的区别P115变量是在程序运行或操作过程中可以改变其值的量。
确定变量的三要素是变量名、数据类型和变量值。
变量为分为两种:全局变量和局部变量。
全局变量是由SQL Server系统提供并赋值的变量,其作用范围是任何程序均可随时调用。
通常存储一些SQL Server的配置设定值和统计数据,用户可以在程序中用全局变量来测试系统的设定值或者是T-SQL命令执行后的状态值。
引用全局变量时,必须以标记符“@@”开头。
局部变量是用户定义的变量,可以保存单个特定类型数据值的对象,它的作用范围仅限制在程序内部。
局部变量名(标识符)必须是以一个“@”符号开头的,而且必须先用DECLARE语句定义后才可以使用。
变量作用域就是可以引用该变量的T-SQL 语句的范围,从声明变量的地方开始到声明变量的批处理或存储过程的结束。
局部变量的引用若超出其作用域,则将会出错。
8、批处理的概念P129批处理是指同时从应用程序发送到SQL Server服务器并得以执行的一组单条或多条Transact-SQL语句。
批处理使用GO作为结束标志。
9、SQL Server提供的实现数据库完整性的方法可归纳为约束、默认和规则(三种数据库对象):约束是通过限制列中数据、行中数据和表之间数据来保证数据完整性的非常有效的方法,可以确保把有效的数据输入到列中,并维护表和表之间的特定关系。
SQL Server提供以下几种约束来实现数据完整性:PRIMARY KEY约束(实体完整性)FOREIGN KEY约束(参照完整性)NULL | NOT NULL约束(域完整性)UNIQUE约束(实体完整性)CHECK约束(域完整性)默认是指向数据表插入数据时,如果没有明确给出某列的值,SQL Server自动为该列输入的值。
规则用来验证某列数据是否处于一个指定的值域范围内,是否与特定的格式相匹配。
10、索引的概念P179索引是以数据表的列为基础建立的数据库对象,它保存着表中排序的索引列,并且记录了索引列在数据表中的物理存储位置,实现了表中数据的逻辑排序。
索引由一行行的记录组成,每一行记录都包含数据表中一列或若干列值的组合和相应指向表中数据页的逻辑指针。
11、索引的分类P179索引可按两种标准分类:1、按照索引的顺序和表中记录的物理存储顺序是否相同分类:(1)聚集索引(Clustered Index):数据库表中记录的物理存储顺序与索引顺序相同。
由于表中记录的物理存储顺序只能有一种,所以一个表只能创建一个聚集索引。
(2)非聚集索引(Non-Clustered Index):数据库表中记录的物理存储顺序可以与索引顺序不同。
数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。
表中的任何列都可以建立非聚集索引。
2、按照索引值是否惟一分类:(1)唯一索引(Unique Index):表示表中任何两行记录的索引值都不相同,它可以确保索引列不包含重复的值。
(2)非唯一索引(Non-Unique Index):表示表中记录的索引值可以相同。
12、视图的概念:P192视图作为一种数据库对象,为用户提供了一种操作数据表数据的方式。
视图可以把表中分散存储的数据集成起来,让操作人员通过视图而不是通过表来访问数据,提高数据的安全性、报表的设计效率等。
视图是虚拟表,其内容由查询定义。
同真实表一样,视图也包含一系列带有名称的列和行数据。
列和行数据来自由定义视图的查询所引用的表或视图,并且在引用视图时动态生成。
在数据库中,存储的是视图的定义,而不是视图查询的数据。
13、使用视图的优点P192使用视图可以集中、简化和定制用户的数据表显示,用户可以通过视图来访问数据,而不必直接访问数据表。
使用视图的具体优点如下:(1)数据保密。
对不同的用户定义不同的视图,使用户只能看到与自己有关的数据。
(2)简化用户权限的管理。
数据库所有者可以把视图的权限授予需要查询的用户,而不必将基表中某些列的查询权限授予用户。
(3)集中用户使用的数据。
视图创建了一种可以集中控制的环境,即视图的数据可以来自于不同的表,而用户可以操纵视图中显示的数据,就像操纵表中的数据那样。
(4)简化查询操作。
为复杂的查询建立一个视图,用户不必键入复杂的查询语句,只需针对此视图做简单的查询即可。
(5)保证数据的逻辑独立性。
视图把数据库设计的复杂性与用户的使用方式屏蔽开了。
这样就为数据库开发人员提供了一种改变数据库的设计而不影响用户使用的能力。
14、存储过程的概念P208过程(Procedure):是具有专门功能、可反复调用且具有独立名字和调用参数的程序模块。
存储过程(Stored Procedure) :是预先编译和优化并存储于数据库中的过程。
SQL Server的存储过程包含一组为了完成特定功能的Transact-SQL语句。
15、使用存储过程的优点P20816、触发器的概念P215触发器是一种特殊类型的存储过程,它被绑定到数据表或视图上,即触发器是一种在数据表或视图被修改时能自动执行的内嵌存储过程。
17、存储过程与触发器的区别触发器与存储过程的主要不同体现在:1、存储过程可以由用户直接调用执行;2、触发器不能直接调用,它只能通过事件的触发而自动执行。
18、SQL SERVER 2005 中触发器的类型P216触发器的分类有两种分类标准:1、按照触发事件的不同,SQL SERVER触发器类型可以分为DDL 触发器和DML触发器:DDL触发器:当数据库中发生数据定义语言(DDL)事件,如CREATE, ALTER, DROP 等操作时,将调用DDL 触发器,DML触发器:当发生数据操纵语言(DML)事件时,INSERT, UPDATE, DELETE 如操作时,调用DML 触发器。
DML 触发器按照触发器事件类型的不同,可以分为三类:INSERT 触发器、UPDATE 触发器和DELETE 触发器,当向表中进行数据的插入、修改和删除操作时分别触发相应的触发器。
2、按照触发器和触发事件的操作时间划分,DML 触发器可以分为CLR触发器、AFTER 触发器和INSTEAD OF 触发器。
INSERT, UPDATE, DELETE 语句执行以后才执行DML 触发器的操作时,这时的触发器类型是AFTER 触发器。
当使用触发器操作替代触发事件的操作时,触发器类型为INSTEAD OF 触发器。
DDL触发器19、T-SQL语句分类P111。