2023年四级数据库工程师重难点复习.doc
《2023年四级数据库工程师重难点复习.doc》由会员分享,可在线阅读,更多相关《2023年四级数据库工程师重难点复习.doc(38页珍藏版)》请在咨信网上搜索。
1. 数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以辨认的信息。 数据是信息的符号表达,是载体;信息是数据的语义解释,是内涵。 2. 数据模型是对现实世界数据特性的抽象,是数据库系统的形式框架,用来描述数据的一组概念和定义,涉及描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。 满足三条件:比较真实地模拟现实世界;易于人们理解;易于计算机实现 三个组成要素:数据结构(静态,数据对象自身结构及之间的联系)、数据操作(对数据对象操作及操作规则的集合)和完整性约束(语义约束:数据模型、数据内部及之间联系) 3. 模式是对数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图,也称为逻辑模式或概念模式。 外模式是对数据库用户可以看见和使用的局部数据的逻辑结构和特性的描述,是与某一应用有关的数据的逻辑表达,也称为子模式、用户模式或用户视图。 内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。 当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。 当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。 4. 数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,涉及了数据库、数据库管理系统和数据库应用程序。 5. DBMS的重要功能有数据定义、数据操纵、数据库运营管理与控制、数据库建立与维护。 DBMS涉及查询解决器和存储管理器。查询解决器实现面向用户的查询分析解决和优化功能。存储管理器为用户和应用程序提供了访问存储在数据库文献中的应用数据的接口。 6.关系模型 用二维表表达实体及实体之间的联系,现实世界中的每个客观对象相应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特性,列的值(属性的取值)刻画和描述客观对象的某一具体的特性。 优缺陷:建立在“集合”“关系”上,严格成熟的理念基础;用关系表达实体及之间联系,简朴易懂;存储途径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型。 第2章 数据库应用系统生命周期 2.1 软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般涉及概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运营阶段与维护阶段。数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的盼望和规定:数据及数据解决、业务、性能、其他存储安全备份与恢复等。 2.2 数据库应用系统生命周期模型 1.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运营管理与维护五部分 2.快速原型模型和增量模型原理,允许渐进、迭代地开发DBAS。 3.根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计、数据访问与解决设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序。 4.设计阶段细分为概念设计、逻辑设计、物理设计三个环节,每一步涵盖三条设计主线。 第3章 需求分析及功能建模方法 3.1 数据元素(列)是数据解决中的最小单位。 3.2 DFD图:数据流(标有名字的箭头)、解决、数据存储(横圆柱)、数据源/终点(棱形) 3.3 IDEF0图:更好地理解需求;ICOM(输入、控制、输出、机制)码;至少一个控制和输出箭头。A-0;A0(顶层图);A1;A11 3.4 DFD与IDEF0的比较:结构化分析思想:自顶而下逐级细化 1.DFD图用箭头也叫数据流来描述数据移动的方向、数据解决之间的数据依赖关系,IDEF0图也用箭头表达数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富。 2.DFD模型有四种元素,IDEF0图只有两种:箭头和活动 3.IDEF0图更加规范。其概念、建模方法、画图规则等均有说明和规定 4.IDEF0模型结构更清楚,便于理解和沟通 3.5 结构化分析及建模方法的优点: 1)但是早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。 2)通过图形化的模型对象直观地表达系统完毕什么功能,方便系统分析员理解和描述系统。 3)模型对象不涉及太多技术术语,便于用户理解模型。 第4章 数据库概念设计与数据建模 4.1 概念设计的目的和任务:面向现实世界,理解和描述应用领域中的数据需求,分析拟定系统需要存储和解决什么数据。过程:拟定实体集;拟定联系和联系类型;建立由信息模型表达的业务模型;拟定实体集属性;优化信息模型。 4.2 实体集描述具有相同属性特性和性质的事物集合;属性描述实体集具有的某一特性或性质 4.3 IDEF1X:标定型(子依父实例才标定)(拟定型);非标定型(拟定型);分类;不拟定 第5章 关系数据库逻辑设计 5.1 关系数据库:按照二维表格组织和存储的互相关联的关系(表)的集合。 关系数据库采用关系模型在计算机中组织、存储、解决和管理数据。 5.2 主码约束:惟一性;最小性,不能取空值,并且取值要唯一 外码约束:假如两个关系R和S,X是R的属性或属性组,且X不是R的码,但X是S的码,则称X是R的外码。或者取空值,或者等于S中某个元组的主码的值。 5.3 逻辑设计的内容:定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等 目的:得到实际数据库管理系统可以解决的数据库模式。 步聚:ER图转化关系模式;优化关系模式;数据完整性设计;外模式设计 5.4 关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关系是一个表中记录的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映。 5.5 关系的完整性(完整性约束):对关系所满足条件的定义。作用:限定和检查数据库所含实例的合法性和对的性。静态:主码、外码、域(用户定义);动态:基于业务规则 5.6 伪传递规则:X-Y,YW-Z,则XW-Z成立。 5.7 规范化设计理论的重要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南,也是衡量关系模式设计优劣的标准。目的:消除数据冗余及避免操作异常,基本过程:对关系进行分解。一个低档范式的关系模式通过度解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化。 5.8 1NF:R的每一属性均不可再分; 2NF:是1NF且每个非主属性完全依赖于主码。在1上消除非主属性对主码的部分函数依赖; 3NF:是1NF且每个非主属性只依赖于主码。在2上消除非主属对主码的传递函数依赖。 5.9 ER模型转换关系模型:实体集转为同名关系;联系转为一个关系,各实体集的码及联系的属性转为关系的属性(1:1均可、1:n取n、m:n取集);合并具有相同码的关系。 第6章 存储技术与数据库物理设计 6.1 物理设计是在具体的硬件环境、OS、DBMS约束下,基于逻辑设计,设计具体数据存储结构和存取方式。目的:占用空间少、访问效率高、维护代价低。重要环节有数据库逻辑模式调整、文献组织与存取设计、数据分布设计、安全模式设计、拟定系统配置、物理模式评估。 6.2 索引技术(Indexing)是一种快速文献访问技术,它将文献记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文献记录的机制。索引文献是一种运用索引技术支持快速文献访问的文献组织和存取方法。 索引加快了查询记录却减慢了数据更新速度,自身还占用一定的存储空间。 6.3 文献组织:如何将关系数据库中的关系映射为操作系统中的数据库文献,及管理文献。 文献结构:如何将DB文献中的逻辑记录映射到物理文献的中磁盘块。 文献存取:针对某种结构的DB文献,如何查、添删改其中的逻辑记录 6.4 数据字典:数据库各类对象的描述信息、数据库管理系统的控制信息。涉及关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运营记录信息。 作用:DBA用来监视DBMS的使用情况并协助完毕管理工作;一般用户可用于查阅部分数据库结构信息;DBS运营时各子系统频繁使用以完毕相应的存储和查询解决功能。 6.5 DBMS的三种完整性控制机制:CHECK子句、断言、触发器 断言语句:Create assertion 断言约束名 check (…) 6.6 堆文献:数据量少且操作频繁;批量加载数据(先选为堆文献再调整文献结构) 顺序文献:查询条件定义在查找码上;快速的二分查找 散列文献:基于散列域值的等值匹配,特别是访问顺序是随机的。非精确查询;非散列域 B-树和B+-树:大数据量基本表;聚焦文献:多表连接操作 6.7有序索引技术运用索引文献实现查找码取值到记录物理地址间的映射关系。索引文献由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文献记录的物理地址。 当需要访问数据文献中某个数据记录时,先根据查找码值查阅索引文献,找到相应的索引项,然后从索引项中找出数据记录在数据文献中的物理地址.根据这个地址访问数据记录。 6.8散列技术是一种快速文献访问技术,它运用散列函数实现文献记录域取值到记录物理地址间的直接映射关系。当需要访问数据文献中查找码值为si的某个或某些文献记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文献记录在数据文献中的物理地址。 6.9 权限:允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)。 第7章 数据库应用系统功能设计 7.1软件体系结构:软件架构={构件,连接件,约束} 7.2 软件设计涉及系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、具体设计 7.3 应用软件分为数据库事务和应用程序。后者一方面可以与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互。 7.4 事务:具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则。 7.5 事务概要设计的核心是辨识和设计事务自身的事务解决逻辑,采用面向数据流的程序设计方法设计事务内部的数据解决流程和结构。 7.6 C/S结构特点:数据管理和数据解决被分在客户端和服务器上;服务器可支持多个客户端;客户端也可访问多个服务器;客户端=人机交互+数据解决 B/S结构特点:表达层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务 优点:实现人面交互、应用业务逻辑解决、数据管理三层分离,提高了系统的可维护性;用WEB浏览器可访问多个异构应用平台,解决了跨平台数据管理问题。 第8章 SQL 8.1 SQL=Structured Query Language,结构化查询语言 8.2 二进制字符串是用十六进制表达的,0x前缀 8.3 创建表:CREATE TABLE Table_Card (CardID varchar(8) NOT NULL, StartDate datetime NOT NULL, EndDate datetime NOT NULL, Score int NOT NULL CHECK(Score >=0) DEFAULT 0, State char(1) NOT NULL CHECK(State in (0,1,2)), Sex char(1) CHECK(Sex in(‘男’,’女’)), Age int CHECK( Age between[16,85]), CustomerID varchar(8), CHECK(EndDate > StartDate), PRIMARY KEY (CardID), FOREIGN KEY (CustomerID) REFERENCES Table_Customer (CustomerID) ) 删除表:DROP TABLE Table_Card 修改表:ALTER TABLE Table_Card ADD CardType char(4) NULL ALTER TABLE Table_Card ALTER COLUMN CardType char(8) ALTER TABLE Table_Card DROP COLUMN CardType 8.4 SELECT Cname FROM Tablb_Customer WHERE Address IN (‘海淀区’,’朝阳区’) AND age BETWEEN 40 AND 50 AND Cname LIKE ‘[王张李]%’ (‘王_ _’) ORDER BY StartDate ASC, EndDate DESC 8.5 除COUNT(*)不忽略空值外,其他函数COUNT(DISTINCT 列名)、SUM()、AVG()、MAX()、MIN()均忽略空值。均返回单值。 SELECT SUM (Score),MAX(Age),MIN(Age),AVG(Age),COUNT (DISTINCT ..)FROM Table 8.6 分组(GROUP BY)依据列不能是text,ntext,image和bit类型的列。先分组后计算 记录每种类别商品的商品数,只列出商品数大于4个的商品类别编号和商品数: SELECT GoodClassID as 商品类别编号,COUNT(*)as 商品数 FROM Table_Goods GROUP BY GoodClassID HAVING COUNT(*)>4 8.7 自连接:查询与王晓在同一个区的顾客的姓名及地址: SELECT T2.Name,T2.Address FROM Table_Customer as T1 JION Table_Customer as T2 ON T1.Address = T2.Address WHERE T1.Name = ‘王晓’ AND T2.Name !=’王晓’ 子查询:一个SELECT语句嵌套在一个SELECT、UPDATE、INSERT或DELETE语句中 SELECT Name,Address FROM Table_Customer WHERE Address IN (SELECT Address FROM Table_Customer WHERE Name=’王晓’) AND Name!=’王晓’ 8.8 外连接:LEFT OUTER JOIN 左外连接(左表全输出)RIGHT OUTER JOIN 右外连接 8.9 子查询: [NOT] IN()集合 不相关子查询,先内后外 WHERE 列 =/ () 比较 不相关子查询,先内后外 [NOT] EXIST(SELECT *)存在 相关子查询,先外后内 8.10 修改数据:INSERT [INTO]表名 [列名表] VALUES(值列表) UPDATE 表名 SET 列名=表达式 [WHERE子句]/ DELETE [FROM] 表名 [WHERE子句] 分情况修改:UPDATE Table_Goods SET SalePrice= CASE GoodsClassName WHEN ‘家用电器’ THEN SalePrice – SalePrice*0.05 WHEN ‘服装’ THEN SalePrice + SalePrice*0.06 ELSE SalePrice END FROM Table_Goods a JION Table_GoodsClass b ON a.ClassID=b.ClassID 8.11 创建索引:CREATE [UNIQUE][CLUSTERED][NONCLUSTERED] INDEX 索引名 ON 表名 (列名 [顺序(ASC/DESC)]) 8.12 视图:由从数据库基本表中选取出来的数据组成的逻辑窗口,是一个虚表,数据库只存放视图的定义而不存放视图涉及的数据。对视图的操作最终都会转换为对基本表的操作。 CREATE VIEW 视图名 [视图列名表] AS SELECT 语句 [WITH CHECK OPTION] 作用:简化数据查询语句;使用户从多角度观测同一数据;提高了数据安全性(屏蔽掉敏感数据);提供一定限度的逻辑独立性 8.13 定点数:numeric(p,q)或decimal(p,q),p为精度(数字位个数),不大于38,q为小数位个数;bit类型:只存储1和0,不多于8个bit列则只用1个字节存储 8.14 Char(n)代表的是普通字符编码按定长存储的字符串,“n”的含义是字符的个数,固定占用n个字节的空间。varchar(n) 代表的是普通字符编码按不定长存储的字符串,“n”的含义也是字符的个数,按字符的实际长度占用空间。 第9章 事务高度与并发控制 9.1 调度:定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作的执行顺序;冲突操作:事务Ti 的操作Ii与事务Tj的操作Ij是冲突的,当且仅当Ii 和 Ij访问数据库中同一个数据项Q,并且Ii 和 Ij中至少有一个是写操作write(Q);冲突可串行:一个并发调度冲突等价于某个串行调度(判断一个并行调度是否对的) 死锁是指数据库系统中部分或所有事务由于无法获得对需要访问的数据项的控制权而处在等待状态,并且将一直等待下去的一种系统状态。 9.2 ACID:Atomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性 9.3 1级加锁协议规定事务T在修改数据项Q之前必须先对Q加X锁,直到事务结束才释放该锁。事务结束涉及正常结束(commit)和非正常结束(rollback)。但事务假如是只读Q而不对其进行修改,是不需要对Q加锁的。 2级加锁协议是在1级加锁协议基础上,规定事务T在读取数据项Q之前必须先对其加S锁,读完Q后可以立即释放S锁。 3级加锁协议则是在1级加锁协议基础上,规定事务T在读取数据项Q之前必须先对其加S锁,但是需要等到事务结束时才释放该S锁。 9.4 2阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段。在加锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁。在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。每个事务开始执行后就进入了加锁阶段。当第一次释放锁后,即转入解锁阶段。 9.5解决死锁重要采用死锁防止和死锁检测与恢复两类方法。 死锁防止运用死锁防止协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态。 一次性加锁法;顺序加锁法 死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁。当发现系统发生死锁后,采用相应的恢复机制使系统摆脱死锁状态。 9.6活锁产生的因素是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的控制权而长期等待下去,无法继续执行。 9.7 锁粒度大:被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之 9.8 基于锁的并发控制技术的原理 P166 第10章 数据库的实行、运营和维护 10.1 试运营:功能测试;性能测试 10.2 数据库维护:数据库的转储和恢复;数据库的安全性、完整性控制;数据库性能的检测和改善;数据库的重组和重构 10.3 数据库安全:行政手段制定规范;权限管理、口令等;维护多个数据副本;防及除毒 10.4 数据库重组:按照系统设计规定对数据库存储空间进行全面调整;数据库重构:业务小范围变化需对数据库逻辑结构作必要改变。 10.5 数据库监控分析:DBA借助相应工具监测数据库系统的运营情况,对监测数据进行分析,评估整个系统的运营状态,为系统的安全运营和性能优化提供依据。 10.6 数据库空间管理:数据量增长和碎片使性能减少;空间溢出会带来劫难性停机故障。 涉及:创建修改删除数据库空间、新建移动关联数据文献等。 10.7 数据库参数调整:外部调整:CPU、网络;调整内存分派(改善限度大);调整磁盘I/O(I/O时间是响应时间的最大组成部分);调整竞争 10.8 数据库查询优化:合理使用索引;避免或简化排序(Order by、Group by,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程 10.9 属于Oracle 但不属于SQL Server的逻辑和物理空间结构:表空间、段、区 第11章 故障管理 11.1 故障种类:事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质故障(软件容错、硬件容错)、病毒 11.2 系统故障对策:重启,撤消(UNDO)未提交的事务,重做(REDO)已提交的事务 11.3 软件容错:备份、日记文献,运用恢复技术;硬件容错:双物理存储设备 11.4 恢复基本原理:冗余,即所有数据均可通过存储在别处的冗余数据来重建。 11.5 对于经常进行数据操作的数据库:完全转储+差异转储 11.6 以记录为单位的日记文献:开始标记(Ti BEGIN TRANSACTION)、结束标记(Ti COMMIT或者Ti ROLLBACK)、每个事务的所有操作(Ti,A,50,80) 11.7 以数据块为单位的日记文献:存放更新前和更新后的整个数据块。只有事务标记和被更新的数据块,没有操作类型和操作对象。 11.8 日记的作用:用来进行业务故障和系统故障恢复;协助后备副本进行介质故障恢复(动态转储必用);记录操作监视行为分析问题 登记原则:登记顺序严格按并行事务执行顺序;必须先写日记文献再写数据库 11.9 检查点:最大限度减少数据库完全恢复时所必须执行的日记部分(针对系统故障)。 11.10 数据库镜像:提高数据库可用性的解决方案(比如介质故障,两台服务器互相备份) 优点:提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性。 双机互备援模式(均为主);双机热备份模式(一主一备份机)。数据库镜像可用于并发操作。 11.11 RAID便宜冗余磁盘阵列:(镜像冗余、)校验冗余:对成员磁盘上的数据执行异或(XOR)操作得到其校验值并存放在此外的校验磁盘上。当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值。 第12章 SQL Server2023数据库管理系统 12.1 四个服务:SQL Server 核心服务; SQL Server Agent:代理服务,代理定期进行的管理工作; DTC:Distributed Transaction Coordinator,分布式事务协调器,同一事务访问多个服务器 Microsoft Search:全文检索服务 12.2 四个版本:公司版(所有功能、大型数据库)、标准版(小部门)、开发版(同公司版,作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据) 12.3 服务帐户:使用本地系统帐户:自动取当前登录到Windows的用户,没有Windows的网络访问权限,合用于非网络服务器操作系统(如XP);使用域用户帐户:使用Windows身份验证设立连接到SQL Server,用户必是Windows系统管理员,合用于网络服务器OS 12.4网络库:在SQL S客户端和服务器间传递网络数据包。服务器可一次监听多个网络库 12.5 SQLServer的两大类数据库:系统数据库:DBMS自动创建及维护,存放维护系统正常运营的信息,master(系统级信息)、msdb(支持自动执行任务)、model(所有用户数据库的公共信息)、tempdb(临时数据库),示例Pubs、Northwind;用户数据库 12.6 估算存储空间:SQLServer数据存储单位为页(Page),一个数据页是一块8KB的连续磁盘空间,行不能跨页存储,一行数据的大小不能超过一页的大小。一个表10000行数据,每行3000字节,则需要(10000/2)*8KB=40MB的空间。 12.7 主数据文献:扩展名为.mdf,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文献。辅助数据文献:扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得运用多个磁盘上的存储空间并提高数据存取的并发性。 12.8 每个数据文献及日记文献(.ldf)初始大小均不得小于512KB,主数据文献大小不得小于model数据库主数据文献,日记文献最佳不小于1MB 12.9 创建数据库:CREAT DATABASE jessymin ON ――表达数据库按下面参数创建 ( NAME = jessymin, ――逻辑文献名 FILENAME = ‘…\MSSQL\Data\jessymin_Data.mdf’, ――OS下的物理文献名 SIZE = 10,――文献初始大小,单位默认为MB,下同 MAXSIZE =30,――文献最大大小 FILEGROWTH = 5,――文献增量,为0表达不自动增长,默认按当前10%增长) LOG ON ――表达该数据库日记文献按下面参数创建 (……..同上,只是物理文献名为jessymin.LDF) 12.10 删除数据库:DROP DATABASE jessymin。删除六种数据库对象均用DROP 12.11 Transact-SQL:非过程化高级语言,全司变量@@,局部变量@,局部变量可以是自定义类型但不能是text或image类型。 12.12 Transact-SQL示例:计算1+2+3+…+100的和: DECLARE @i int, @sum int SET @i = 1,@sum = 0 --SET可换为SELECT WHILE @i <=100 BEGIN SET @sum = @sum + @i SET @i = @i +1 END PRINT @sum 12.13 DTS(Data Transformation Service)数据转换服务。注意区别DTC(分布式事务协调器)。导出数据时用户必须是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限 第13章 数据库对象 13.1 存储过程的:SQL语句和控制流语句的预编译集合,应用程序可通过调用方法来执行 优点:模块化程序设计;提高性能;减少网络流量;可作为安全机制使用 13.2 带有多个参数并有默认值及输出参数的存储过程示例: CREATE PROCEDURE p_Example @area varchar(20) = ‘武汉大学’,@Price money,@Sum int output AS SELECT/UPDATE/INSERT/DELETE…… SET @Sum = ….. 应用程序中执行的SQL语句: Declare @res int EXECUTE p_Example ‘武汉大学信息学部’,1000,@res output 或者 EXECUTE p_Example @Price =1000,@res output 13.3 用户自定义函数:标量函数(返回单值,非text、Image类型,任何允许出现表达式的地方)、内嵌表值函数(返回一个表,放在查询语句的From子句中)、多语句表值函数(返回一个可自定义的表,也放在查询语句的From子句中,视图和存储过程的结合) 13.4 标量函数救示例:根据指定的商品类别查询该类的商品个数。 CREAT FUNCTION dbo.f_GoodsCount(@class varchar(10)) RETURNS int AS BEGIN DECLARE @x int SELECT @x=count(*) From T_GoodsClass a JION T_Goods b ON a.GoodClassID = b.GoodClassID WHERE GoodClassName = @class RETURN @x END 调用:SELECT dbo.f_GoodsCount(‘服装’) 或者 SELECT GoodsName AS 商品名,dbo.f_GoodsCount(‘服装’) AS 种类数 From …. 13.5 内嵌表值函数的不同之处在于RETURNS 后只能是table,RETURN后面只能是单个的 SELECT语句,没有相关联的返回变量也没有函数体。调用时放在查询语句的FROM子句中。 13.6 触发器是一种不需要由用户来调用的存储过程,当用户对表进行UPDATE、INSERT或DELETE操作时自动触发执行。作用:保证业务规则和数据完整性。优点:用编程方法来实现复杂的解决逻辑和业务规则,增强数据完整性约束。 13.7 触发器合用场合:比CHECK语句更复杂的数据约束(可引用其他表中的列);为保证数据库性能而维护的非规范化数据(如增长记录总值的列);实现复杂的业务规则 13.8 AFTER/FOR:后触发型触发器,可在同一操作上建立多个;INSTEAD OF:前触发型,在同一操作上只能建立一个。所有的涉及对数据库对象操作的语句均不允许出现在触发器中。 13.9 DELETED表:存储UPDATE和DELETED操作语句所影响行的更新前的旧数据; INSERTED表:存储UPDATE和INSERT操作语句所影响行的更新后的新数据。 13.10 维护数据操作完整性的后触发器示例:销售量大于库存量则撤消当前销售,小于时则在插入销售单据明细时同时修改库存量。 Create Trigger OperatonCon ON T_SaleDetail FOR INSERT AS IF EXISTS(Select * From inserted a Jion T_Goods b ON a.GoodsID = b.GoodsID WHERE a.Quanity > b.TotalCharge) BEGIN ROLLBACK PRINT ‘此商品库存量小于本次销售数量’ END ELSE UPDATE T_Goods SET TotalCharge = TotalCharge – (SELECT Quanity From inserted) 13.11 维护不同列之间取值完整性的后触发器示例:保证商品表中的单价与价格变动表中一致 CREATE TRIGGER PriceConstraint ON T_PriceHistory FOR INSERT, UPDATE AS DECLARE @newprice money SELECT @newprice = SalePrice From inserted UPDATE T_Goods SET SaleUnitPrice = @newprice WHERE GoodsID IN (SELECT GoodID From inserted ) 13.12 前触发器指定执行触发器而不执行引发触发器的SQL语句,因此,假如数据操作满足完整性约束则在触发器中必须重新执行这些数据操作语句。 前触发器示例:保证销售单据中的会员卡是有效日期内的会员卡: CREATE TRIGGER CardValid ON T_SaleDetail INSTEAD OF INSERT, UPDATE AS IF NOT EXISTS (SElETCT * From inserted a JOIN T_Card b ON a.CardID=b.CardID WHERE a.SalDate NOT BETWEEN b.StartDate AND b.EndDate) INSERT INTO T_SaleDetail SELECT * From inserted (若满足条件此语句重新执行) 13.13 用SQL语句修改存储过程、用户自定义函数、触发器的语法与创建基本一致,只是将CREATE改为了ALTER。(查询分析器中实现) 第14章 安全管理 14.1 数据库的安全控制:在DBMS的不同层次提供对故意和无意损害行为的安全防范。 故意的非法活动:加密存、取数据;故意的非法操作:用户身份验证、限制操作权; 无意的损坏:提高系统的可靠性和数据备份 14.2 数据库权限的种类:对DBMS进行维护的权限;对数据库对象和数据进行操作的权限 SQL Server权限种类(与数据库用户分类相应):隐含权限(预定义的内置权限);语句权限(DDL语句权限,创建删除数据库对象);对象权限(DML语句权限,操作数据库对象) 14.3 数据库用户的分类:数据库系统管理员(SA,所有权限);数据库对象拥有者(创建数据库对象的用户,对所拥有的对象具有一切权限);普通用户:只具有对数据的编辑查询功能 14.4 三个认证过程:身份认证,只认证用户是否有连接到数据库服务器的“连接权”;合法用户,验证是否是数据库的合法用户;权限认证,验证用户是否具有要进行的操作的操作权限 14.5 系统内置的登录账户:BUILTIN\Administrator;SA;域名\Administrator,均DBMS管理员 14.6 创建SQL Server身份认证的登录账户:EXECUTE sp_addlogin ‘user3’,’123’,’jessymin’ User3为登录账户,123为密码,jessymin为默认数据库;WINDOWS认证:sp_grantlogin 14.7 删除登录账户存储过程:EXEC droplogin ‘user3’(SQL Server身份验证);EXEC revokelogin ‘Server1\nt_user’(WINDOWS身份验证) 14.8 登录账户可以连接到SQL Server服务器上但并不具有访问任何数据库的能力,必须再成为数据库的合法用户。一个登录账户可以映射为多个数据库用户,管理数据库用户的过程事实上就是建立登录账户与数据库用户之间的映射关系的过程。新建的数据默认只有一个用户:dbo,它是数据库的拥有者。 14.9 创建数据库用户:EXEC sp_adduser ‘U2’,’U2’,’user_role’,用户名与登录账户一致,并让其成为“user_role”角色的成员。删除:EXEC sp_dropuser ‘U2’ 14.10 合法用户除了对所属数据库系统表具有一些查询权限外并不对数据库中的用户数据和对象具有任何权限,还得得到对数据库数据和对象的操作权限 14.11 收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限,置空标记; 拒绝访问:拒绝某用户或角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记 14.12 用Transact-SQL语句管理对象权限入管理语句权限:P245 14.13 角色:数据库中具有相同权限的一组用户。系统预定义的固定角色;自定义用户角色 14.14 固定的服务器角色:*amdin + dbcreator,权限最重要最高的是sysadmin,角色成员源均为系统的登录账户:EXEC sp_addsrvrolemember ‘Server1\nt_user’ ,‘sysadmin’ 14.15 固定的数据库角色:db_*+public,权限最高的是db_owner:EXEC sp_addrolemember- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 级数 工程师 难点 复习
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文