《2022年数据库应用技术考试知识点.docx》由会员分享,可在线阅读,更多相关《2022年数据库应用技术考试知识点.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 其次章系统数据类型 介绍 p24 创建用户自定义数据类型:sp_addtype type_name , phystypelength|precision,scale,null | not null | identity 查看,重命名,删除用户定义的数据类型:sp_help type_name 查看用户自定义数据类型的特点;sp_rename type_name给用户自定义数据类型重新命名;sp_droptype type_name 删除一个已经定义且未被使用的用户自定义数据类型;定义局部变量 :DECLAER local_variable da
2、ta_type n 设定局部变量的值,必需使用 SELECT 命令或者 SET 命令;其语法形式为:SET local_variable = expression 或者SELECT local_variable = expression ,.n 全局变量:全局变量分为两类,一是与 SQL Server 连接有关的全局变量,如 rowcount 表示受最近一个语句影响的行数;二是关于系统内部信息有关的全局变量,如 version 表示 SQL Server 的版本号;SQL Server 运算符的优先级别数学函数:字符串函数 : 1 / 15 名师归纳总结 - - - - - - -第 1 页,
3、共 15 页精选学习资料 - - - - - - - - - 日期函数:转换函数:系统函数:2 / 15 名师归纳总结 - - - - - - -第 2 页,共 15 页精选学习资料 - - - - - - - - - 聚合函数:批和脚本:批处理:包含一个或多个T-SQL 语句的组,它将一次性地发送到SQL Server 中执行,用GO 来通知 SQL Server 一批 T-SQL 语句的终止;脚本 就是一系列次序提交的批;流程掌握:各语句的作用:BEGIN END 用来设定一程序块 IF ELSE 用来判定当某一条件成立时执行某段程序,条件不成立时执行另一段程 序;CASE 语句为多分支语
4、句 WHILE CONTINUE BREAK 循环语句 WAITFOR 语句用来临时停止程序执行 GOTO 语句用来转变程序执行的流程RETURN语句用于终止当前程序所在的批、储备过程和触发器的执行,返回到上一个调用它的程序或其它程序;PRINT 语句的作用是在屏幕上显示用户信息;RAISERROR 语句的作用是将错误信息显示在屏幕上,同时也可以记录在日志中;各语句的形式:IF ELSE 语句的语法形式:| Boolean_expression IF sql_statement statement_block ELSE 3 / 15 名师归纳总结 - - - - - - -第 3 页,共 15
5、 页精选学习资料 - - - - - - - - - sql_statement | statement_block BEGIN END 语句的语法形式:BEGIN sql_statement | statement_block END Case 语句: 见 p37 WHILE CONTINUE BREAK 语法形式 :| Boolean_expression WHILE sql_statement statement_block BREAK | sql_statement statement_block CONTINUE WAITFOR 语句的语法形式为:WAITFOR DELAY time
6、 | TIME time RETURN 语句的语法形式为:RETURN integer_expression GOTO 和 RAISERROR 见 p39-40 第三章数据库的规律结构 从规律角度,SQL Server 2005 将数据库组织成为各种数据库对象,如数据表、视图、索 引、数据类型、储备过程、触发器等;(各对象的定义见 p48);数据库的物理结构 从物理角度, SQL Server 2005 数据库以多种操作系统文件形式储备在运算机硬盘上,一 般一个数据库被组织成数据文件和日志文件两种类型的文件;主要数据文件 .mdf ,该文件包含数据库的启动信息,并用于储备数据 次要数据文件 .
7、ndf ,它含有不能置于主要数据文件中的数据,可以有多个,并分布在不 同磁盘上;日志文件 .ldf ,记录了用户对数据库的全部操作;文件组 文件组是数据库中数据文件的规律组合;每个数据库有一个主要文件组;此文件组包 含主要数据文件和未放入其他文件组的全部次要文件;可以创建用户定义的文件组,用于 将数据文件集合起来,以便于治理、数据安排和放置;数据文件的组织方式:数据文件由如干个大小为64KB 的区组成,每个区由8 个 8KB 大小的连续空间组成,这些连续空间被成为数据页;在数据页上,数据行紧接着页首按次序存放;页尾有一个行偏移表,表中页上的每一 行都有一个条目,每个条目记录那一行的第一个字节与
8、页首的距离;SQL Server 2005 有两种区, 统一区和混合区 ;统一区属于单个数据库对象全部,区全部的数据页只能由拥有该区的对象使用;混合区最 多可以由 8 个规律对象来使用;事务日志:事务日志是数据库中已经发生的一连串修改和操作的记录;4 / 15 名师归纳总结 - - - - - - -第 4 页,共 15 页精选学习资料 - - - - - - - - - SQL Server 2005 包含两种类型的数据库:系统数据库和用户数据库;系统数据库储备有关数据库系统的信息,例如 master、model、msdb、tempdb;master 数据库 记录 SQL Server 20
9、05 的全部系统级信息,包括登录帐户和系统配置设 置;model 数据库 为用户创建新的数据库供应模板;msdb 数据库 是代理服务使用的数据库,代理程序调度警报作业以及记录操作员的操 作时使用;tempdb 数据库保 存全部的临时表和临时储备过程;创建用户数据库:CREATE DATABASE database_name ON PRIMARY NAME=logical_file_name, FILENAME=os_file_name,SIZE=size ,MAXSIZE=max_size|UNLIMTED ,FILEGROWTH=grow_increment , n LOG ON NAME=
10、logical_file_name, FILENAME=os_file_name,SIZE=size ,MAXSIZE=max_size|UNLIMTED ,FILEGROWTH=grow_increment , n 参数说明:参数 说明database_name 要建立的数据库名称PRIMARY ON LOG ON NAMEFILENAME在主文件组中指定文件;指定储备数据库数据部分的磁盘文件数据文件 ;指定建立数据库的日志文件;指定数据或日志文件的文件名称指定文件的操作系统文件名和路径;os_file_name 中的路径必需指定为SQL Server 所安装服务器上的某个文件夹;指定数据或
11、日志文件的大小;用户可以以MB 为单位指定大小,也可SIZE以使用默认单位MB 来指定大小;假如没有为主文件供应size,就数据库引擎 将使用model 数据库中的主文件的大小;假如指定了帮助数据文件或日志文件,但未指定该文件的size ,就数据库引擎将以 1 MB 作为该文件的大小;MAXSIZEFILEGROWTH指定文件能够增长到的最大长度;默认单位为MB ,用户也可以以MB来指定该长度;假如没有指定长度的话,文件将始终增长直到磁盘满为止;要建立的数据库大小单位为MB ;指定文件的增长增量;该参数设置不能超过MAXSIZE参数;指定值的默认单位为MB ,用户也可以以KB 为单位进行指定,
12、此外仍可以使用百分比 % ;假如该参数没有指定的话,默认值为10,最小值为64KB ;5 / 15 名师归纳总结 - - - - - - -第 5 页,共 15 页精选学习资料 - - - - - - - - - 修改数据库:ALTER DATABASE databasename ADD file, n TO filegroup fileg roupname | ADD log file , n | REMOVE file logical_file_name with delete | MODIFY file | MODIFY name=new_databasename | ADD fileg
13、roup filegroup_name | REMOVE filegroup filegroup_name | MODIFY filegroup filegroup_name filegroup_property|name=new_filegroup_name 查看数据库状态:sys.databases: 数据库和文件目录视图,可以查看有关数据库的基本信息;Microsoft SQL Server 实例中的每个数据库都对应一行 sys.databases_files:可以查看有关数据库文件的信息;每个储备在数据库本身中的数 据库文件在表中占用一行;sys.master_files:可以查看数据
14、库文件的基本信息和状态信息;文件对应一行;增加用户数据库容量:ALTER DATABASE database_name MODIFY FILE NAME=file_name, SIZE=newsize 缩减用户数据库容量:P65 master 数据库中的每个DBCCSHRINK DATABASE database_name |database_id|0,target_percentWITH NO_INFOMSGS 数据库快照的作用:1、保护历史数据以生成报表;2、将查询实施在数据库的快照上,可以释放主体数据库上的资源;3、使用快照将数据库复原到生成快照时的状态比从备份仍原快得多;创建快照数据库
15、语法格式CREATE DATABASE database_snapshot_name ON NAME = logical_file_name, FILENAME = os_file_name ,.n AS SNAPSHOT OF source_database_name 数据库更名与 删除: p69 更名: exec sp_renamedb old_name ,new_name删除: drop database database_name 第四章数据表中行和列的作用:每行代表一唯独的记录,每列代表记录中的一个域;6 / 15 名师归纳总结 - - - - - - -第 6 页,共 15 页精选
16、学习资料 - - - - - - - - - 创建数据库:CREATE TABLE database_name. owner .| owner. table_name | column_name AS computed_column_expression | := CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ,.n ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT := column_name data_type COLLATE 修改表结构:ALTER TABLE table_
17、name ALTER COLUMN column_name new_data_type precision , scale COLLATE NULL | NOT NULL | ADD ,.n | DROP CONSTRAINT constraint_name | COLUMN column_name ,.n 插入、更新和删除表数据 : 查看表结构 : 使用系统储备过程 sp_help 查看表结构 EXECUTE sp_help table_name 数据插入 : INSERT 命令完成数据插入;INSERT INTO table_name column1,column2 valuesvalue
18、1,value2 更新表中现存记录中的数据 : UPDATE 语句可以更新表中现存记录中的数据 UPDATE table_name SET column1=modified_value1 ,column2=modified_values, WHERE column1=value1,column2=value2 删除数据:DELETE 语句可以从表中删除一行或多行记录;DELETE FROM table_name WHERE column1=value1,column2=value2 数据完整性:储备在数据库中数据的一样性和正确性;数据完整性分为:实体完整性、参照完整性、域完整性和用户定义完整性
19、四种;约束:CHECK 约束7 / 15 名师归纳总结 - - - - - - -第 7 页,共 15 页精选学习资料 - - - - - - - - - 限制输入到一列或多列的值的范畴 DEFAULT 约束 假如没有为列指定数据,系统将默认值赋给列 PRIMARY KEY 约束 假如某列或多列的值能惟一标识表中的每一行,这样的列称为表的主键,通过它可 以强制表的实体完整性;FOREIGN KEY约束主表与从表的一列或多列数据之间的外键 Foreign Key 是用于建立和加强两个表链接,当数据添加、修改或删除时,通过参照完整性保证它们之间数据的一样性;定义表之间的参照完整性是先定义主表的主键
20、,再对从表定义外键约束 UNIQUE 约束 确保表中的两个数据行在非主键列中没有相同的列值 约束的创建与删除:CHECK 约束的创建 ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK logical_expression Check 约束的删除:DROP CONSTRAINT constraint_name 创建和删除 DEFAULT 约束ALTER TABLE table_name ADD CONSTRAINT constraint_name DEFAULT constraint_expression DROP CONST
21、RAINT constraint_name 创建和删除PRIMARY KEY约束ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED constraint_expression DROP CONSTRAINT constraint_name 创建和删除FOREIGN KEY约束ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY REFERENCES referenced_table_name
22、ref_column DROP CONSTRAINT FOREIGN KEY constraint_name 创建和删除UNIQUE约束ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE constraint_expression CLUSTERED|NONCLUSTERED ALTER TABLE table_name DROP CONSTRAINT UNIQUE constraint_name 创建默认值和将其绑定到表上的某列CREATE DEFAULT default_name AS constraint_expres
23、sion EXEC sp_bindefault default_name 8 / 15 名师归纳总结 - - - - - - -第 8 页,共 15 页精选学习资料 - - - - - - - - - table_name.column_name, |user_datetype第五章SELECT 语句的形式:SELECT select_list INTO new_table_name FROM table_list WHERE search_conditions GROUP BY group_by_listHA VING search_conditions ORDER BY order_lis
24、t ASC|DESC COMPUTE row_aggregatecolumn_nameBY column_name 简洁查询:SELECT ALL | DISTINCT column_title * | table_name | view_name .* | column_name AS FROM table_name | view_name 各个子句的作用:FROM 子句: 指定 SELECT 语句查询的一个或多个表,最多可以指定 16 个表,每一 个表名 用逗号分隔;即从指定 的数据 表 table_name1,table_name2,. 的记录中,检索SELECT 出指定的列 colum
25、n_name1, column_name2,.n 形成结果集;不过,FROM 后面 的表名在两个或者两个以上时,SELECT 列表中应当采纳 table_name.column_name 形式限 定列所属的表;使用SELECT INTO语句 可以在查询数据的基础上创建新的数据表;通常,可使用这种方法来创建临时表,以便在随后的开发过程中使用;SELECT column_name1, column_name2,.n INTO new_table FROM table_name Where 子句:从整个表中选出满意指定条件的内容,这就要用到 WHERE 子句;SELECT column_name1,
26、 column_name2,.n FROM table_name WHERE search_condition ORDER BY column_name1ASC | DESC , column_name2ASC | DESC, . ORDER BY 是 一 个 可 选 的 子 句 , 如 果 有 ORDER BY 子 句 , 将 按 照 排 序 列 名 column_name1, column_name2, . 进行排序,其结果表仍要按选项的值升序 ASC 或降序 DESC 排列;缺省时为查询结果按升序排列;使用 GROUP BY 子句可以按肯定的条件对查询到的结果进行分组,再对每一组数据 运
27、算统计信息;SELECT column_name1, column_name2 ,.n FROM table_name WHERE search_condition GROUP BY group_by_expression HAVING search_condition GROUP BY 将查询结果按group_by_expression 进行分组,该属性列相等的记录为一个组;通常,在每组中通过聚合函数来运算一个或者多个列;9 / 15 名师归纳总结 - - - - - - -第 9 页,共 15 页精选学习资料 - - - - - - - - - 假如 GROUP 带有 HAVING ,就只
28、有满意 Compute 子句:search_condition 的组才能输出;SELECT column_name1, column_name2,.n FROM table_name WHERE search_condition ORDER BY column_nameASC | DESC, . COMPUTE row_aggregatecolumn_name , row_aggregate column_name BY column_name ,column_name 其中, row_aggregate 表示行聚合函数,如AVG , COUNT , MAX , MIN ,SUM ;COMPU
29、TE 子句生成合计作为附加的汇总列显现在结果集的最终;当与 BY 一起使用时, COMPUTE 子句在结果集内对指定列进行分类汇总;可在同一查询内指定COMPUTE BY和 COMPUTE ;内连接:内连接是用比较运算符比较两个表中列值,将两个表中满意连接条件的行组合起来作为结果,它是最常见的表连接形式;内连接分为:等值连接 ,在 SELECT 列表中使用星号* 的和在结果集中显示冗余列数据的连接;不等值连接,在连接条件中使用除等于运算符以外的其它比较运算符、 =、 = 、.、 ,来比较被连接列的列值;自然连接 ,对结果集的冗余列数据进行限制的连接;在连接条件中使用等号 =运算符 比较被连接列
30、的列值,但它使用挑选列表指定查询结果聚合中所包括的列,并删除连接表 中的重复列; P109 第六章视图的概念 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已;视图与真正的表很类似,也是由一组命名的列和数据行所组成,其内容由查询所定义;但 是视图并不是以一组数据的形式储备在数据库中,数据库中只存放视图的定义而不存放视 图对应的数据,这些数据仍存放在导出视图的基表中;当基表中的数据发生变化时,从视图中查询出来的数据也随之转变;创建视图:CREATE VIEW view_name column_name ,.n WITH ENCRYPTION AS SELECT_statement
31、WITH CHECK OPTION 通过视图查询数据 p131 第七章索引的概念:索引是一个表中所包含的值的列表,它说明白表中包含各个值的行所在的储备位置;索引中数据的储备:在没有建立索引的表内,使用堆的集合的方法组织数据页;在堆集中,数据行不按任 何次序进行储备,数据页序列也没有任何特别次序;因此扫描这些数据堆集花费的时间肯10 / 15 名师归纳总结 - - - - - - -第 10 页,共 15 页精选学习资料 - - - - - - - - - 定较长;在建有索引的表内,数据行基于索引的键值按次序存放,将改善系统查询数据的 速度;索引的分类 : 依据索引储备方式的不同 ,可以将索引分
32、为集合索引和非集合索引;在集合索引 Clustered Index 中,行的物理储备次序与索引次序完全相同,即索引的次序决 定了表中行的储备次序,由于行是经过排序的,所以每个表中只能有一个集合索引;非集合索引 Nonclustered Index 并不在物理上排列数据,即索引中的规律次序并不等同于表 中行的物理次序,索引仅仅记录指向表中行的位置的指针,这些指针本身是有序的,通过 这些指针可以在表中快速地定位数据;依据索引取值方式 可以将索引分为唯独索引和非唯独索引;唯独索引和非唯独索引既 可以是集合索引,也可以是非集合索引;唯独索引是指索引值必需是唯独的,不答应数据表中具有两行相同的索引值;创
33、建PRIMARY KEY 或 UNIQUE ,默认建立一个唯独索引;索引视图 :为视图创建特殊的集合索引,从而让拜访此类视图的查询性能得以极大的改 善;创建索引:CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_name ON table | view columnASC | DESC ,.n WITH PAD_INDEX ,FILLFACTOR = fillfactor ,IGNORE_DUP_KEY ,DROP_EXISTING ,STA TISTICS_NORECOMPUTE ,SORT_IN_TEMPDB ON filegroup 索
34、引的查看:通过系统视图sys.indexs 可查看数据库中的索引信息,通过sys.index_columns 可查看索引列信息; P157 索引的更名 p157 sp_rename objname= object_name, newname= new_name ,objtype=object_type 删除索引:DROP INDEX table_name.index_name , n第八章储备过程 :一组完成特定功能的T-SQL 语句集,经编译后以特定的名称储备在数据库中,用户通过指定储备过程的名字并给出参数(假如该储备过程带有参数)来执行储备过程;创建不带参数的储备过程CREATE PROC
35、EDURE procedure_name AS sql_statements procedure_name 为所创建的储备过程的名字;11 / 15 名师归纳总结 - - - - - - -第 11 页,共 15 页精选学习资料 - - - - - - - - - sql_statements 为在储备过程中需要执行的数据库操作;创建带参数的储备过程:CREATE PROCEDURE procedure_name parameter data_type =DEFAULTOUTPUT , n WITHRECOMPILE | ENCRYPTION| RECOMPILE, ENCRYPTI N AS
36、 sql_ statements 使用 ALTER PROCEDURE 命令 ALTER PROCEDURE procedure_name parameter data_type=DEFAULTOUTPUT , n WITHRECOMPILE | ENCRYPTION | RECOMPILE,ENCRYTION AS Sql _statement, n 触发器的概念:触发器也是一种储备过程,一种在基表被修改时自动执行的内嵌过程,主要通过大事进行 触发而被执行的,而储备过程可以通过储备过程名字而被直接调用;当对某一表进行诸如UPDATE 、INSERT 、DELETE 这些操作时, SQL Se
37、rver 就会自动执行触发器所定义的 SQL语句;从而确保对数据的处理必需符合由这些SQL 语句所定义的规章;触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一样性;创建触发器:CREATE TRIGGER trigge_name ON table | view FOR | AFTER | INSTEAD OFINSERT,UPDA TE,DELETE WITH ENCRYPTION AS IF UPDATEcolumn_name and or UPDATEcolumn_name sql_statesments 修改触发器:ALTER TRIGGER trigge
38、_name ON table|view FOR|AFTER|INSTEAD OF INSERT,UPDATE,DELETEWITH ENCRYPTION AS IF UPDATEcolumn_name and|or UPDATEcolumn name sql_statesments 第九章事务的概念:事务是由一系列的数据查询操作或更新操作构成的;从用户的观点来看,依据业务规 就,这些操作是一个整体,不能分割,即要么全部的操作都顺当完成,要么一个也不要做;绝不能只完成了部分操作,而仍有一些操作没有完成;事务中任何一个语句执行时出 错,系统都会返回到事务开头前的状态;事务的 原子性、一样性、隔离性
39、、长久性4 个特性一般简称为事务的ACID 特性事务的治理:12 / 15 名师归纳总结 - - - - - - -第 12 页,共 15 页精选学习资料 - - - - - - - - - 使用 BEGIN TRANSACTION 建立事务 BEGIN TRANSACTION transaction_name | tran_name_variable WITH MARK description 使用 COMMIT TRANSACTION 标识事务终止 COMMIT TRANSACTION transaction_name | tran_name_variable 使用 COMMIT WORK
40、 语句标识事务终止 COMMIT WORK 功能与 COMMIT TRANSACTION 相同,但 COMMIT TRANSACTION 接受用户定义的事务名称;使用 ROLLBACK TRANSACTION 回滚到事务的指定点 ROLLBACK TRANSACTION transaction_name | tran_name_variable | savepoint_name | savepoint_variable 使用 ROLLBACK WORK 回滚到事务的起点 ROLLBACK WORK 此 语 句 的 功 能 与ROLLBACK TRANSACTION 相 同 , 但ROLLBAC
41、K TRANSACTION 接受用户定义的事务名称;嵌套事务时, ROLLBACK WORK 始终回滚到最远的BEGIN TRANSACTION 语句,并将 TRANCOUNT 系统函数减为 0;事务模式:显式事务由用户在其中定义事务的启动和终止隐式事务隐式事务是指在当前事务提交或回滚后,自动启动新事务自动事务模式在自动事务模式下,每个Transact_SQL 语句在胜利执行完成后,都被自动提交;假如遇到错误,就自动回滚该语句;该模式为系统默认的事务治理模式;事务日志的内容 各个事务的开头标记、终止标记、全部更新操作,每个记录的内容包含:事务标识 标明是哪个事务 操作的类型 插入、删除或修改 操作对象 记录内部标识 更新前数据的旧值对插入操作而言,此项为空值 更新后数据的新值对删除操作而言,此项为空值 游标的概念:游标是一种处理数据的方法,为了查看或者处理结果集中的数据,游标供应了在结果 集中向前或者向后浏览数据的才能;某些业务规章要求对结果集逐行执行操作,而不是对整个结果集执行操作;游标正是这样一种基