• 4_1 数据库系统


    在这里插入图片描述
    在这里插入图片描述
    补充:4.19 数据库的安全机制

    4.01 数据库系统前言

    在这里插入图片描述

    数据库模式

    4.02 数据库模式——数据库三级模式&两级映射

    考察:选择题
    在这里插入图片描述

    三级模式:

    • 内模式 (Internal Schema)【物理级数据库】:和内部存储形式直接关联
      • 管的是如何去存储这一系列的数据
      • 定义:也称存储模式 (Storage Schema) ,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
      • 理解
        • 一个数据库只有一个内模式;
        • 一个表可能由多个文件组成,如: 数据文件、索引文件。它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有:
          • 为了减少数据几余,实现数据共享;
          • 为了提高存取效率,改善性能。
    • 模式(Schema)【概念级数据库】:用数据库时候,呢个级别
      • 将数据分成若干张表
      • 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
      • 理解
        • 一个数据库只有一个模式;
        • 是数据库数据在逻辑级上的视图;
        • 数据库模式以某一种数据模型为基础;
        • 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系
    • 外模式(External Schema)【用户级数据库】:对应数据库里面的视图
      • 提供了一些更灵活更安全的处理方式
      • 比如用户登录的时候,只需要调用数据库中的用户名和密码
      • 定义:也称子模式(Subschema) 或用户模式是数据库用户(包括应用程序员和最终用户) 能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
      • 理解:
        • 一个数据库可以有多个外模式;
        • 外模式就是用户视图;
        • 外模式是保证数据安全性的一个有力措施。
    总结:
    • 外模式——视图
    • 模式——基本表
    • 内模式——存储

    两级映射:

    • 外模式-概念模式映射
      • 表通过一定操作得到视图,表和视图直接存在映射,表发生变化的时候,我们只需要改动映射,不需要改应用程序了
    • 概念模式-内模式映射
      • 内部存储形式和表的情况一种映射关系,存储的结构发生改变,只用调整该映射关系,不用修改用户的应用程序
    例题讲解【2021下】

    考察:

    • 聚簇索引:是对磁盘上实际数据重新组织以按指定的值排序。由于是对磁盘的操作,所以属于内模式
      在这里插入图片描述
    例题讲解【2017下】

    在这里插入图片描述

    4.03 数据库模式——数据库设计过程

    考察:了解流程和中间产出物

    在这里插入图片描述

    • ER模型:看实体有哪些属性,看实体之间会有什么联系,这时候和DBMS还没有什么关系
      • 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。
      • 数据库管理系统产品主要是Oracle、IBM、Microsoft和Sybase、Mysql等公司的产品

    E-R模型

    4.04 E-R模型【考点】

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    • 1对1的联系:最少转成两个关系模式
    • 1对多的联系:最少转成两个关系模式,且联系记录在N(多)的一端。
      • 如果部门和员工的关系模式中,将部门号记录在员工的关系模式中
    • 多对多的联系:最少转成三个关系模式,多对多的联系也必须转成一个关系模式

    例题解释:

    每个实体转一个关系模式,多对多的关系中联系也要转成一个关系模式,所以最少转为4个关系模式

    例题讲解【2021上】

    在这里插入图片描述

    例题讲解【2017年上】

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    关系代数与关系演算(元组演算,域演算)

    数据库中存储了大量的关系(表)之后,要对其进行增删查改等操作,其一般通过SQL类语言来实现,而语言实现的基础就是对关系进行一定的集合(关系代数)或逻辑处理(关系演算、域演算),然后返回处理结果。

    关系代数运算和关系演算运算有什么区别

    • 关系代数运算是以元组为运算对象,有并、差、笛卡儿积、投影、选择 行有限次的复合运算。
    • 关系演算运算是以元组或域为运算对象,由数理逻辑的谓词进行有限次的复合演算。

    元组演算【关系演算其中一种】

    元组演算是埃德加·科德导入的演算,是关系模型的一部分,发展目的是提供宣告式的数据库查询语言。

    关系代数

    关系代数:以并、差、笛卡尔积、选择、投影、更名为基本操作,以交、连接、关系除为扩展操作。
    原文

    4.05 关系代数与元组演算

    考察:综合知识里的选择题

    在这里插入图片描述

    • 差:S1-S2的差,将S2公共部分删掉

    在这里插入图片描述

    • 笛卡尔积【符号X】:
      • 将两个参与笛卡尔积的集合的属性一一列出来
      • 将S1的第一条记录和S2的所有记录组合形成新的

    在这里插入图片描述

    • 投影:

      • 是选列的一种操作
      • 图中对Sno和Sname做了投影,则只有这两列的数据
        • 也可以用1,2数字来表示
    • 选择:

      • 选择的记录,也就是选择行的一种操作
      • 图中Sno=No003,就会选出No003的行
        • 也可以用1,2数字来表示

    在这里插入图片描述

    • 联接:
      • 联接操作一般符号下面会有条件
        • 不写条件的称为:自然联接
          • 这时候的联接条件就是两个关系当中相同的字段(比如这里的Sno)
      • 联接操作之后,同字段只留一个

    在这里插入图片描述
    考题注意:需要使用投影留下Sno,Sname,Age三列

    • 【先做联接操作在做投影】在自然联接情况下做投影操作是1,2,4
      • 因为联接中相同字段只留一个
    • 【先做笛卡尔积操作在做投影】如果换成笛卡尔积,则做投影操作时1,2,5
      • 因为笛卡尔积中相同字段都保留
    例题讲解【2021 下】

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    规范化理论

    4.06 规范化理论——函数依赖

    在这里插入图片描述
    函数依赖:

    • 如:y=x2 , 给定一个x能求出唯一的y,但是y不能求出x
    • 在数据库中表示为:学号能求出唯一的姓名,但是同名的姓名不能求出唯一学号

    在这里插入图片描述

    两种特殊形式

    部分函数依赖:

    • 主键是两个部分的组合件时,主键当中的一部分可以确定某一个属性

    传递函数依赖:(传递律)

    • A可以确定B,B可以确定C,则A可以确定C
    • 前提是B不能确定A【不然就平级了】

    补充知识:AmStrong公理

    • 从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。
    • 合并规则:a1—>a2,a1—>a3,得出:a1—>a2a3
    • 传递律:a1—>a2,a2—>a3,得出:a1—>a3

    4.07 规范化理论——价值与用途

    在这里插入图片描述

    • 规范化理论就是为了来解决非规范化存在的问题:如上图
    • 但是过去追求规范化也不可取,设计时候要始终甚至逆规范化来增加数据冗余

    4.08 规范化理论——求候选关键字【考点】

    掌握:(超键,候选键,主键),外键的概念和求候选关键字

    超键,候选键,主键

    在这里插入图片描述
    超键:

    • 唯一标识元组
    • 可单个或多个属性的组合

    超键和候选键区别:

    • 超键可能存在冗余属性,但候选键不会存在

    候选键:

    • 就是消除了超键多余的属性
    • 也可以唯一表示元组

    超键和候选键举例:

    • 学号,姓名,性别
    • 其中(学号+姓名),就可以称为超键,但是不能称为候选键
      • 因为一个学号就可以确定性别,这样姓名就算是冗余属性

    候选键和主键的区别:

    • 候选键可以有多个
    • 主键只能有一个
    • 比如学号和身份证只能选一个为主键

    外键

    概念:

    • 别的关系的主键

    提出原因:

    • 为了做表之间的关联

    举例:

    • 比如员工表中的部门号就是外键,用来关联部门表

    求解候选键【考点】

    图示法步骤:

    1. 将一个关系模式画成图形的形式
      • 画图时遇到(A,B,C—>D),就将三者连线之后再指向D,而不是分别画3条线
    2. 找出入度为0的属性
      • 没有指入的结点,称为入度为0的属性
      • 若没有入度为0的属性,就去找中间结点【既有入度,又有出度】
    3. 尝试用该结点遍历整个图,如果能遍历,则说明该结点就是**候选键**

    例题演示:
    在这里插入图片描述

    • 第一题:简单题
    • 第二题:需要ABCD组合才能遍历所有属性
    • 第三题:没有入度为0的结点时候,去找中间结点(既有入度,又有出度),且不能写成AB,不然表示的是AB组合才能推出C
    例题讲解【2021下】

    考察:

    • 求候选码
    • 从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。——函数传递特殊形式
      在这里插入图片描述
      在这里插入图片描述
    例题讲解【2017上】

    在这里插入图片描述

    4.09 规范化理论——范式【重点考点】

    • 函数依赖和候选键是优先学习内容

    在这里插入图片描述
    主属性与非主属性区别:

    • 主属性:指属于候选键的一部分
    • 非主属性:不出现在候选键的属性就为非主属性

    范式:

    • 规范化程度越高,往往数据的密度越小
    • 提高范式的级别,一般都是进行数据表的拆分
    • 表拆的太细的时候,就会带来性能低的问题
    • 所以实际开发一般用到3NF

    1NF:第一范式

    在这里插入图片描述
    概念:

    • 属性值都是不可分的原子值
      • 原子值:就是一个属性不能再拆分成多个属性了

    在这里插入图片描述

    • 答:不满足,因为高级职称人数低下又分为教授和副教授
    • 解决:直接把高级职称人数删除掉即可

    2NF:第二范式

    在这里插入图片描述

    • 从1NF到2NF:消除非主属性对候选码的部分依赖
    • 总结就是一个主键

    发生部分依赖的例子:
    在这里插入图片描述

    • 此时这里就有部分依赖:课程号和学号组成的候选码,才能对应找出成绩,但是一个课程号就能对应学分(这里就发生了部分依赖)

    部分依赖会存在的问题:

    • 数据冗余:课程和学分其实只用存在一次
    • 更新异常:只更新了前两个,就会发生更新异常
    • 插入异常:新开了一个课程和学分,但是没有人考试时就无法插入
    • 删除异常:当删除成绩的时候,连带学分一并删除了

    解决方案:分表

    • 将课程号和学分列提取出来形成一个新的关系模式
    • 将原来的关系模式中的学分列删除掉,留下课程号做外键
    • 总结就是一个主键
    例题讲解【2017下】

    在这里插入图片描述

    3NF:第三范式

    在这里插入图片描述

    • 其实就是在第二范式的基础上,做到消除非主属性对候选键的传递依赖

    发生传递依赖的例子:
    在这里插入图片描述
    传递依赖会存在的问题:

    • 数据冗余:课程和学分其实只用存在一次
    • 更新异常:只更新了前两个,就会发生更新异常
    • 插入异常:新开了一个课程和学分,但是没有人考试时就无法插入
    • 删除异常:当删除成绩的时候,连带学分一并删除了

    解决方案:分表

    • 将DNO,DNAME,LOCATION三列独立出来一个关系模式
    • 原来的关系模式只留下SNO,SName,DNO

    BC范式

    在这里插入图片描述

    • 通俗点讲:把所有函数依赖写出来,函数依赖的左边部分,必须是候选键。
      • 因为函数依赖里面的左边就是它的决定因素
    • 消除主属性对候选键的传递依赖

    不是BC范式的例子:
    在这里插入图片描述

    • 候选键为:SJ和ST(因为T可以确定J)【两个候选键都可以遍历完所有的结点】
    • 此时SJ函数关系当中可以推出T
    • T函数关系可以推出J
    • 但是T不属于候选键,所以该关系模式不属于BC范式

    4.10 规范化理论——范式练习题

    在这里插入图片描述

    第一问:

    • 不属于3NF的情况有两种
      • 达到了2NF,没有达到3NF
      • 连2NF都没有达到
      • 选D

    第二问:

    • 1对多的联系时候:最少转成两个关系模式,且联系记录在N(多)的一端。
    • 本地职工和部门是多对一的关系,则将部门号记录在职工一端
    • 选D

    第三问:

    • 第二问已经建立了部门号和职工号的关系,所以C,D排除
    • B选项中的商品名称不需要(冗余了),因为通过商品号就可以得到
    • 选A

    4.11 规范化理论——模式分解

    前言:当范式级别不够的时候,主要进行模式的拆分,这样级别就上去了,拆分的时候有不同的拆分机制,原则需要注意,下面就主要将两个分解的要求

    保持函数依赖的分解

    • 分解之前有那些函数依赖,分解之后这些函数依赖仍然存在
      • 将原关系模式当中的所有函数依赖关系,都能写到新拆分出来的关系模式当中,有缺失则不行

    在这里插入图片描述
    举例:

    • 这里R1和R2就保持了函数依赖的分解
    • 这里R1和R3就没有

    若有冗余性质的函数依赖,不要求保留:
    在这里插入图片描述

    • 这时候R1和R2还是保持了函数依赖的分解
      • 因为A—>B,B—>C,就能推出来A—>C

    无损分解

    在这里插入图片描述
    有损和无损区别:

    • 有损:不能还原
    • 无损:可以还原

    有损和无损对应到规范化理论中:

    • 有损分解:把一个R的关系模式拆成3个之后,没办法在还原成R
    • 无损分解:把一个R的关系模式拆成3个之后,通过自然联接和投影等运算仍能还原到原来的关系模式

    例题讲解:

    在这里插入图片描述

    • 该题为无损分解,通过联接的方式可以还原

    例题讲解:(书上判断无损分解的第一方式:表格法)——了解

    在这里插入图片描述
    先画出初始表:

    • a:表示当前关系模式真正拥有的属性【只有列的数字】
      • a后数字只表示列,a1表示第一列,a4表示第四列
    • b:表示当前关系模式不拥有的属性【有行和列的数字】
      • b后数字表示行和列,b24表示第二行,第四列

    根据每一个函数依赖,对表进行更新:
    在这里插入图片描述
    在这里插入图片描述

    例题讲解【2021上】

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    例题讲解【2017下】

    在这里插入图片描述
    在这里插入图片描述

    例题讲解:(书上判断无损分解的第二方式:公式法)——了解、

    在这里插入图片描述
    局限性很强:

    • 只适合一分为二的情况

    步骤:

    • 先做交集求出一个属性
    • 然后分别做减操作,求出来的属性与前面交集属性做函数依赖
    • 若题中有其中一个相同的函数依赖则表示无损

    并发控制

    4.12 并发控制——数据库并发控制

    考察:事务基本情况,并发的了解

    在这里插入图片描述

    事务

    概念:

    • 把多个操作封装起来,看成一个整体来操作
    • 要么全做,要么全不做

    举例:

    • 比如银行转账,如果不把多个操作封装,就会出现,我这里转出了,但是你呢没有转入

    事务四大特性:

    • 原子性:将多个操作看成一个原子值
    • 一致性:事务执行之前,数据保持一致的状态,执行之后也是一致的状态
      • 比如银行转账前后的总金额不变
    • 隔离性:事务之间是独立进行的
    • 持续性:事务执行之后的结果,其影响是持续的

    事务是并发,并行的前提条件

    数据库并发控制

    在这里插入图片描述
    并发操作存在的问题:
    在多用户共享的系统中,许多用户可能同时对同一数据进行操作,可能带来数据不一致的问题。为了解决这类问题,数据库系统必须控制事务的并发执行,保证数据库处于一致的状态,在并发控制中引入两种锁:排他锁(写锁)X锁和共享锁(读锁)S锁。

    • 丢失更新
      • T2写回结果时候会覆盖T1的结果
    • 不可重复读
      • 读第二次时候,值可能不同
    • 读“脏”数据
      • “脏”数据:指不是真正的数据,不是执行过程中真正产生的数据,而只是一个临时值(无作用)

    读锁(共享锁Share Locks)与写锁(排他锁Exclusive Locks)的区别:

    • S锁:共享锁(读锁),X锁:排他锁(写锁)
    • S锁:加上之后,别人还可以再加S锁,但是不能加X锁
      • 用于对数据进行读操作时进行锁定。
      • 如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务只能在对其加S锁(读取)而不能加X锁(修改)
    • X锁:加上之后,不能加任何锁
      • 用于对数据进行写操作时进行锁定。
      • 如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再有任何锁,其他事务也不能读取和修改数据A,直到事务T释放A上的锁

    为了解决问题—提出几级封锁协议:

    • 一级封锁协议——解决丢失更新:在T1读之前加X锁,加锁之后T2不能对A进行操作,只有等到T1完成之后T2才能进行
    • 二级封锁协议——解决丢失更新和读“脏”数据:在一级封锁协议之前先加S锁,读完后即可释放S锁
    • 三级封锁协议——解决丢失更新和读“脏”数据和数据重复读:在一级封锁协议之前先加S锁,直到事务结束才释放【释放时间和二级封锁不同】
    • 两段锁协议:可串行化的【引入后可能发生死锁】

    死锁问题:【加封锁协议就可能发生死锁】

    • 预防法
    • 死锁的解除法
    例题讲解2017上

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    数据库完整性约束

    4.13 数据库完整性约束

    在这里插入图片描述

    实体完整性约束

    • 使用数据库的时候,会给数据表定义主键
    • 实体完整性约束:就是约束主键不能为空和重复

    参照完整性约束

    • 之前将理论体系的时候,外键这一部分的完整性约束
    • 参照完整性约束:填入的数据必须是对应表里面主键的内容【允许为空和正确的数据】
      • 比如:员工表中的部门号,就要参照部门表中的数据进行填写,不能乱填

    用户自定义完整性约束

    • 用户可以设置一个属性,它的值得情况。
      • 比如:用户表中的年龄,用户就可以自定义该属性不能为负数和超过200

    总结:上面三个约束主要为了提高数据的可靠性的机制,但是只能处理简单问题,如果遇到困难问题还需要引入触发器问题

    • 触发器就是通过写脚本

    分布式数据库

    4.14 分布式数据库——数据库安全

    考察:了解数据库安全有那些措施

    在这里插入图片描述
    用户标识和鉴定问题:

    • 也就是身份认证

    存取控制【也就是访问控制】:

    • 对用户进行授权

    密码的存储和传输:

    • 远程终端信息可用密码传输

    视图的保护:

    • 对视图进行授权,不同权限的用户采用不用的视图

    审计:

    • 事后的一种机制,把用户对数据库的操作记录下来【用日志的方式】,做后期分析

    4.15 分布式数据库——数据库备份与恢复【考点】

    考察:备份的形式和优缺点

    数据备份部分

    数据备份的第一种分类方式

    在这里插入图片描述

    冷备份

    也称静态备份

    优点:

    • 简单,速度快

    缺点:

    • 数据库备份的这段时间里,是不能正常走业务的
    • 不能按表或按用户来恢复(只能直接全部备份,不能细致化)
    热备份

    也称动态备份

    优点:

    • 灵活度高
    • 可以精确的备份或恢复某一个表
    • 恢复起来速度快

    缺点:

    • 复杂度高
    • 不能够出错

    数据备份的第二种分类方式

    依据备份数据的量来区分的

    在这里插入图片描述

    完全备份
    差量备份
    • 针对的是完全备份
    增量备份
    • 针对的是上一次的备份(不管什么类型)

    增量备份的缺点:若周六出故障了要从周一重新来一遍

    • 若周一出故障,则先恢复周日的完全备份,再恢复周一增量部分
    • 若周三出故障,则先恢复周日的完全备份,再分别恢复周一,周二,周三增量部分
    • 这时候差量备份就会好点:先恢复周日的,后直接恢复周四的差量部分
    • 所以这三者有机的结合才能更好的做恢复工作

    数据备份的第三种分类方式在这里插入图片描述

    • 转储:就是做备份
    • 海量:指所有数据
    • 增量:指上一次转储之后的
    • 静态:不运行状态
    • 动态:运行状态

    日志文件

    由来:在第二天数据备份前,如果发生故障,则在这段空白期没有备份的数据将丢失,就会导致数据恢复不完整
    在这里插入图片描述
    这种问题的解决方式:日志体系

    • 在做任何数据库操作(增,删,改)之前,先去写日志(记录sql语句),再去做数据文件

    在这里插入图片描述

    数据库故障与恢复部分

    在这里插入图片描述

    数据仓库与数据挖掘

    4.16 数据仓库与数据挖掘

    考察:了解相关概念,区分数据仓库和数据库

    这项技术的应用场景:商业智能(Business Intelligence,简称:BI)

    数据库与数据仓库的区别:
    数据库:

    • 根据业务的需求,需要处理那些业务就将那些数据记录下来
    • 随着使用时间增加,数据量增加之后,性能开始下降
      • 优化:删除历史数据
      • 但是删除的数据对于后期决策有用,所以就单独拿出来一个地方存储这个地方就叫:数据仓库

    数据仓库:

    • 存储的都是需要删除的留存数据,所以在这里对查询的要求很高,但对增,删,改要求不大
    • 这时候对数据库的优化和原本数据库就不一样了【特殊的一种数据库】
    • 特点:
      • 面向主题:比如从商品系统提取商品,从仓库系统提前商品号,然后再将各个系统提取出来的数据组成一个主题来进行后期决策
        • 一般数据库是按业务的
      • 集成的:比如将商品系统的日报,月报都存到一起
        • 一般数据库会分开
      • 相对稳定的(非易失的):存进去的数据不做增,删,改操作了
      • 反应历史变化(随着时间变化):定时间段来存储新的数据

    数据仓库的建立过程:

    1. 数据源层次:做抽取,清理(格式的统一),装载,刷新操作
    2. 数据仓库层次:含有数据集市(部门级别的数据仓库,分期来建立数据仓库,从而降低风险),多个数据集市整合成企业级的数据仓库
    3. OLAP服务器层次:联机分析处理服务器(专门做分析,处理)
    4. 表层前端工具层次:查询,报表,分析,数据挖掘工具
      • 查询,报表,分析工具的目标性很强
      • 数据挖掘工具目标性不明确,可能挖掘到人类不知道的事务或特性,挖到之后可以运用到商业领域。
        • 比如:老用户偏好什么样子的产品对应那些营销手段可以提高购买率
        • 经过多年的发展,现在有很多种算法能实现

    数据挖掘方法分类:
    在这里插入图片描述

    4.17 反规范化技术

    也叫逆规范化技术——核心在于提高查询效率,以牺牲空间换时间
    由来:数据表规范化程度不高,会有过多的冗余,但是规范化越高分表越多,就会出现新的问题【增加了查询的工作量,要关联多表查询】

    在这里插入图片描述

    技术手段:

    在这里插入图片描述

    4.18 大数据基本概念

    在这里插入图片描述
    概念:

    • 指对海量数据处理的相关技术

    这些数据的特点:

    • 数据量大
    • 速度快
    • 多样性
    • 有价值

    **常见大数据场景:**对多种类别的数据进行联合分析,得出结论

    • 正向:百度
    • 反向:个人隐私

    现在与云计算等新兴技术配合使用

    大数据与传统数据的区别

    在这里插入图片描述

    4.19 SQL注入攻击问题

    • 考点:SQL注入攻击的首要目标是:获得数据库的权限
    例题讲解【2021上】

    在这里插入图片描述

    4.19 数据库的安全机制

    • 存储过程 (Stored Procedure) :是在大型数据库系统中,一组为了完成特定功能的SOL 语句集,它存储在数据库中,一次编译后永久有效用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升,而通过提供存储过程供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。
    • 触发器:是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、Insert、Delete 这些操作时,SOL Server 就会自动执行触发器所定义的SOL语句,从而确保对数据的处理必须符合由这些SQI语句所定义的规则。
    • 视图:通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。
    • 索引:是对数据库表中一列或多列的值进行排序的种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
    例题讲解【2021下】

    在这里插入图片描述

  • 相关阅读:
    详解K8S网络模型(包含Service讲解)
    Java基础(三)
    零基础产品经理如何迅速学习Axure原型制作?快速上手攻略!
    Java八股文(Spring Security)
    從turtle海龜動畫 學習 Python - 高中彈性課程系列 6.1 內嵌正多邊形 類似禪繞圖
    Flask项目 - 01、项目有关知识 - flask路由查找
    vue3 状态管理pinia
    LM小型可编程控制器软件(基于CoDeSys)笔记二十七:温度电阻通道和DO通道
    Node.js操作MySQL8.0数据库无法连接
    如何理解Linux下一切皆文件
  • 原文地址:https://blog.csdn.net/qq_40572023/article/details/127083232