【数据库】磨刀之知识点对应

第一章

四个基本概念

数据(Data)是数据库中存储的基本对象。
数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。
数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。常常把数据库系统简称为数据库。

数据库系统的构成

由数据库、数据库管理系统(及其开发工具)、应用系统(应用程序)、数据库管理员(和用户)构成。

数据库管理系统DBMS的功能

  • 数据定义(DDL)

  • 数据组织、存储和管理

  • 数据操纵功能(DML)

  • 数据库的事务管理和运行管理

  • 数据库的建立和维护功能

  • 其他功能

数据库系统DBS的特点

  • 数据结构化
  • 数据共享性高、冗余度低且易扩充
  • 数据独立性高
    • 物理独立性:指用户的应用程序与数据库中的数据物理存储是相互独立的
    • 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的
  • 数据由数据库管理系统统一管理和控制
    • 数据的安全性保护
    • 数据的完整性检查
    • 并发控制
    • 数据库恢复

综上:数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以提供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

数据管理技术的发展过程

  • 人工管理阶段(40年代中–50年代中)

  • 文件系统阶段(50年代末–60年代中)

  • 数据库系统阶段(60年代末–现在)

数据模型的分类及三要素

分类
  • 概念模型

  • 逻辑模型和物理模型

三要素
  • 数据结构

  • 数据操作

  • 数据的完整性约束条件

关系数据模型

  • 关系:表

  • 元组:表中的一行

  • 属性:表中的一列(字段)

  • 码:属性组,可以唯一确定一个元组(一行)。

  • 域:相同数据类型的值的集合。比如:性别的域(男、女)

  • 分量:元组中的一个属性值。(一行里的一个属性值)

  • 关系模式:对关系的描述

    • 学生表(学id,name,sex,address)

数据库系统的三级模式二级映像

三级模式
  • 模式:逻辑模式。是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  • 内模式:存储模式。是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
  • 外模式:子模式或者用户模式。它是数据库用户能够看见和使用的数据的逻辑结构和特征的描述,是数据库的数据视图,是与某一应用有关的数据的逻辑表示。
二级映像
  • 外模式 / 模式映像
  • 模式 / 内模式映像

习题

【数据库】习题

第二章

关系、关系模式概念

  • 一组具有相同数据类型的值的集合(表中的一列)
笛卡尔积
  • 笛卡儿积是域上的一种集合运算;笛卡尔积可表示为一个二维表;表中的每行对应一个元组表中的每列对应一个域
    给定一组域D1,D2,…,Dn,这些域中可以有相同的
    笛 卡 尔 积 : D 1 ∗ D 2 ∗ … ∗ D n = { ( d 1 , d 2 , . . . , d n ) ∣ d i ∈ D i , i = 1 , 2 , . . . n } 笛卡尔积:D1*D2*…*Dn=\{(d1,d2,...,dn)| di\in Di,i=1,2,...n \} :D1D2Dn={d1,d2,...,dndiDi,i=1,2,...n}

  • 所有域的所有取值的一个组合;不能重复;

  • 元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组 【(小源同学,计科专业,2123班)、(阮财源,计科专业,2123班)等都是元组】

  • 分量:笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量 【阮财源,计科专业,阮财源等都是分量】

  • 基数:可以把基数看做笛卡尔积元素的个数,及元组的个数;若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:
    M = ∏ i = 1 a = m i M=\prod^a_{i=1}=mi M=i=1a=mi

关系
  • 笛卡尔积的有限子集
候选码
  • 关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码简单的情况:候选码只包含一个属性
全码
  • 最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码
主码
  • 若一个关系有多个候选码,则选定其中一个为主码
主属性
  • 候选码的诸属性称为主属性不包含在任何侯选码中的属性称为非主属性或非码属性

关系的完整性约束

  • 实体完整性

  • 参照完整性

  • 用户定义的完整性

关系运算

关系代数(表示、计算)

会根据要求写出关系代数表达式

会根据关系代数表达式计算结果

SQL语句与关系代数互转

习题

【数据库】习题

第三章

MySQL数据库部分语法

SQL语言、分类、语句命令(SELECT,排序,条件,分组,模式匹配,聚集函数统计)

连接:交叉连接、等值连接、自然连接、内连接、外连接、左外连接、右外连接、完全外连接、自连接

等值连接、自然连接区别

表操作(表结构、数据操作四种)

索引的概念,分类及使用

视图的概念,与基本表的区别,优点,创建

习题

【数据库】习题

第四章

MySQL数据库部分语法

安全性概念
两类存取控制方法
身份认证模式,SQL语句相关权限操作
角色创建
数据库安全性控制的常用方法

习题

【数据库】习题

第五章

MySQL数据库部分语法
完整性概念、分类,创建约束,及主要工作
数据完整性规则:实体及实体间相互依存和制约的规则
字段约束
触发器的概念及创建,作用

理解两个临时的关系表(MySQL:NEW和OLD)的用途

mysql触发器中, NEW关键字,和 MS SQL Server 中的 INSERTED 和 DELETED 类似,MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据。
具体地:
在 INSERT 型触发器中,NEW 用来表示将要(BEFORE)或已经(AFTER)插入的新数据;
在 UPDATE 型触发器中,OLD 用来表示将要或已经被修改的原数据,NEW 用来表示将要或已经修改为的新数据;
在 DELETE 型触发器中,OLD 用来表示将要或已经被删除的原数据;
使用方法: NEW.columnName (columnName 为相应数据表某一列名)
另外,OLD 是只读的,而 NEW 则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用。

安全性和完整性的联系和区别

  • 数据库的完整性是为了在数据的添加、删除、修改等操作中不出现数据的破坏或多个表数据不一致,是指存储在数据库中的数据正确无误并且相关数据具有一致性,数据在逻辑上的一致性、正确性、有效性和相容性。

  • 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。

  • 数据的完整性和安全性是两个不同概念,数据库的完整性是指数据的正确性和相容性。数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更玫或破坏。其相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。

习题

【数据库】习题

第六章

规范化的概念

是数据库设计的一系列原理和技术,以 减少数据库中数据冗余,增进数据的一致性

函数依赖的概念

通俗描述的解释:

描述一个关系时,如学生表,有ID,Name,Dept。
一个学号(ID)只能对应一个学生姓名(Name),一个学生只能就读于一个院系(Dept)。
因此,当学号确定后,学生的姓名、所在院系也就确定了。
用类似数学中的函数描述,就是y=f(x),即,学生的其他信息=f(ID)。

这样的关系称为函数依赖,即,ID函数决定Name,Dept,或者说Name,Dept函数依赖于ID。记为:ID->Name,ID->Dept

完全函数依赖

在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。

例:成绩表(学号,课程号,成绩)关系中,
完全函数依赖:(学号,课程号)→ 成绩,学号 → 成绩,课程号 → 成绩,所以(学号,课程号)→ 成绩 是完全函数依赖

部分函数依赖

在关系模式R(U)中,如果X→Y,并且存在X的一个真子集X0,使得X0→Y,则称Y对X部分函数依赖。
在一个关系中,通过一组联合的键能唯一确定一个元组,但是通过这组联合键中某一个键就能确定一个元组的时,称存在部分函数依赖。

举例:

U = { 学 号 , 姓 名 , 年 龄 , 班 号 , 班 长 , 课 号 , 成 绩 } U = \{学号,姓名,年龄,班号,班长,课号,成绩 \} U={}

学 号 , 课 号 → f U {学号,课号} \stackrel{f}{\rightarrow} U fU

学 号 , 课 号 → p 姓 名 , 年 龄 { 学号,课号 } \stackrel{p}{\rightarrow} { 姓名,年龄 } p

学 号 , 课 号 → p 成 绩 { 学号,课号 } \stackrel{p}{\rightarrow} { 成绩 } p

解释:单个学号可以决定性别和年龄,单个学号就可以决定成绩。因此姓名年龄成绩学号课号是部分函数依赖。

传递函数依赖

对于X→Y,如果Y-/→X,且Y→Z成立,那么称Z对X传递依赖,记作X→Z。
例如,有学号,宿舍号,住宿费用表关系

学 生 ( 学 号 , 姓 名 , 系 号 , 系 主 任 ) 学生( 学号,姓名,系号,系主任 ) ()

学 号 → 系 号 {学号}\rightarrow { 系号 }

系 号 → 系 主 任 {系号}\rightarrow{ 系主任 }

学 号 → 系 主 任 {学号}\rightarrow{ 系主任 }

“ 系 主 任 ” 是 传 递 依 赖 于 “ 学 号 ” 的 。 “系主任” 是传递依赖于 “学号” 的。

常用名词

实体(Entity)/关系(Relation):现实世界客观存在且可以区分的对象或事物。如:学生、教师、课程、班级(对应到数据库中,实体往往指某类事物的集合,也就是数据库表,Table)
属性(Attribute):实体所具有的特性(对应到数据库,就是 1列)
元组(Tuple):表的 一行 就是一个元组
分量:元组中的一个属性值。如表4.2中,Student第一个元组对应Name属性的分量是“Tim”
域(Domain):属性的取值范围。如:年龄为0-99岁。
码(Key)/键(Key)/关键字(Key):由一个或多个属性组成的可以 唯一标识一行 的属性组
主键(Primary Key):表中的某个或某组属性,能唯一确定一个元组(1行)
外键(Foreign Key):表(关系)中的一个属性或一组属性,是别的表(关系)中的属性,它便是外键(外码)
元数:关系模型中,属性的个数。
关系模式:对关系(表)的描述。一个关系模式对应一个关系结构。一般表示为:关系名(属性1,属性2……,属性n)。如:表4.2可以描述为 学生(Name,Sex,Age,Class,ID)
全码(键):一个码包含了所有的属性,就是全码
主属性:候选键中的属性为主属性
非主属性:不在候选键中的属性为非主属性
超键:除包含一个候选键外,还可以包含其他属性
候选码(键):能唯一标识一个元组,并且不含多余属性的属性组
主键:从若干个候选键中指定一个作为主键
闭包:能从 函数依赖集 F 中推导出的所有函数依赖组成的集合,称为 F 的闭包

候选码的确定

能唯一标识一个元组,并且不含多余属性的属性组。

(1)只在F左部出现的属性,一定存在于某候选码当中
(2)只在F右部出现的属性,不属于候选码
(3)外部属性一定存在于任何候选码当中[两边都没有出现的属性]
(4)其他属性逐个与2、3的属性组合,求属性闭包,直至X的闭包等于全集U,此时的X则为候选码

例1:R<U,F>,U=(A,B,C,D,E,G),F={AB–>C,CD–>E,E–>A.A–>G},求候选码。

  • E-A、E->AEG、BE->ABEG、BE->ABCEG、BDE->ABCDEG
  • AB–>C、AB–>ABC、AB–>ABCG、ABD–>ABCDEG
  • CD->E、CD->CDE、BCD->ABCDEG

范式的定义及证明

  1. 一范式(1NF): 列的原子性(同一列不能有多个值)
  2. 第二范式(2NF):消除了非主属性对于码的部分函数依赖(满足1NF且非主键列都完全函数依赖于主键)
  3. 第三范式(3NF):消除了非主属性对于码的传递函数依赖(满足2NF且非主属性列都不传递依赖于主键)
  4. BCNF:消除了主属性对于码的部分函数依赖和传递函数依赖(即满足3NF,并且主属性之间没有依赖关系)

习题

【数据库】习题

第七章

数据库设计过程及各过程中的主要任务:(六个步骤)

  • 系统需求分析阶段:对现实世界要处理的对象进行详细的调查
  • 概念结构设计阶段:将需求分析设计成E-R模型
  • 逻辑结构设计阶段:将概念模型转换成特定DBMS所支持的数据模型的过程
  • 物理结构设计阶段:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构
  • 数据实施阶段阶段:根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。
  • 数据库运行和维护阶段:主要有以下三项内容: 维护数据库的安全性和完整性 监测并改善数据库性能 重新组织和构造数据库

实体间联系的类型

一对一,一对多,多对多

分E-R图合并时的冲突

  • 属性冲突

    • 属性域冲突,即属性值的类型、取值范围或取值集合不同。
      例如零件号,有的部门把它定义为整数,有的部门把它定义为字符型。
      年龄,某些部门以出生日期形式表示职工的年龄,而另一些部门用整数表示职工的年龄。
      属性取值单位冲突。
      例如,零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位。
  • 命名冲突

    • 同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。
      异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
      如对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。
      命名冲突
      可能发生在实体、联系一级上
      也可能发生在属性一级上
      通过讨论、协商等行政手段加以解决
  • 结构冲突

    • 同一对象在不同应用中具有不同的抽象。
      例如,职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。
      解决方法:把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。
      同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同。
      解决方法:使该实体的属性取各子系统的E-R图中属性的并集,再适当调整属性的次序。
      实体间的联系在不同的E-R图中为不同的类型。
      实体E1与E2在一个E-R图中是多对多联系,在另一个E-R图中是一对多联系
      解决方法是根据应用的语义对实体联系的类型进行综合或调整。

习题

【数据库】习题

第八章

存储过程的概念及创建

存储过程

SQL中的“脚本”

  1. 创建存储过程
  2. 调用存储过程
  3. 存储过程体
  4. 语句块标签
存储过程的参数
  1. in:向过程里传参
  2. out:过程向外传参值
  3. inout:既实现in又实现out in and out
存储过程语法

可参考【详细版本】MySQL数据库部分语法,很容易就对应上

 delimiter $$
 create proceduce pro_name(in stuName varChar(64))
     begin
     	delete from student 
     		where sNname = stuName;
     end$$ 
 delimiter ;
 -- 删除指定名称的学生	
 
 drop procedure pro_name

与触发器两者的区别

触发器与存储过程的主要区别在于触发器的运行方式。

存储过程必须有用户、应用程序或者触发器来显示的调用并执行
而触发器是当特定时间出现的时候,自动执行或者激活的,与连接用数据库中的用户、或者应用程序无关。当一行被插入、更新或者删除时触发器才执行,同时还取决于触发器是怎样创建的,当UPDATE发生时使用一个更新触发器,当INSERT发生时使用一个插入触发器,当DELETE发生时使用一个删除触发器。

习题

【数据库】习题

第九章

查询处理的步骤

  1. 查询分析
  2. 查询检查
  3. 查询优化
  4. 查询执行

习题

【数据库】习题

第十章

事务的概念及特性

事务的概念

是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有四个特性

原子性、一致性、隔离性和持续性。。这个四个特性也简称为ACID特性

  • 原子性:事物是数据库的逻辑工作单位,事物中包括得诸操作要么都做,要么都不做。
  • 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
  • 隔离性:一个事务的执行不能被其它事物干扰。即一个事物内部的操作及使用的数据对其它并发事物是隔离的,并发执行的各个事物之间不能互相烦扰。
  • 持续性:也称永久性,只一个事物一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

常见的四种故障

  • 事务内部的故障:事务内部故障可分为预期的和非预期的,其中大部分的故障都是非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等。
  • 系统故障:系统故障也称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要系统重新启动的一类故障。这类事务不破坏数据库,但是影响正在运行的所有事务。
  • 介质故障:介质故障也称为硬故障,主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障。
  • 计算机病毒故障:计算机病毒故障是一种恶意的计算机程序,它可以像病毒一样繁殖和传播,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏(破坏方式以数据库文件为主)。

四种故障的解决方法

  • 预期的事务内部故障:将事务回滚,撤销对数据库的修改。

  • 非预期的事务内部故障:强制回滚事务,在保证该事务对其他事务没有影响的条件下,利用日志文件撤销其对数据库的修改。

  • 系统故障:待计算机重新启动之后,对于未完成的事务可能写入数据库的内容,回滚所有未完成的事务写的结果;对于已完成的事务可能部分或全部留在缓冲区的结果,需要重做所有已提交的事务(即撤销所有未提交的事务,重做所有已提交的事务)。

  • 介质故障的软件容错:使用数据库备份及事务日志文件,通过恢复技术,恢复数据库到备份结束时的状态。

  • 介质故障的硬件容错:采用双物理存储设备,使两个硬盘存储内容相同,当其中一个硬盘出现故障时,及时使用另一个备份硬盘。

  • 计算机病毒故障:使用防火墙软件防止病毒侵入,对于已感染病毒的数据库文件,使用杀毒软件进行查杀,如果杀毒软件杀毒失败,此时只能用数据库备份文件,以软件容错的方式恢复数据库文件。

    这四类故障虽然有所不同,但是对数据库的影响无外乎是对数据库本身的破坏或对数据库中数据的破坏,其恢复的基本原理概况起来也就是利用存储在别处的冗余数据来重建数据库中的数据。

数据库恢复策略和方法

事务故障的恢复是由DBMS自动完成的,对用户是透明的。DBMS执行恢复步骤是:

  • 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作;
  • 对该事务的更新操作执行逆操作,即将日志记录中"更新前的值"写入数据库;
  • 继续反向扫描日志文件,做同样处理;
  • 如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

事务中的提交和回滚

事务中的提交(COMMIT)是提交事务的所有操作,具体来说是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束;

事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态,具体来说是在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态

日志文件及作用

MySQL中有六种日志文件,分别是:

  • 重做日志(redo log)
  • 回滚日志(undo log)
  • 二进制日志(binlog)
  • 错误日志(errorlog)
  • 慢查询日志(slow query log)
  • 一般查询日志(general log)
  • 中继日志(relay log)。

其中重做日志回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意义。

差异备份、完全备份和增量备份

  • 完全备份(Full Backup)

    备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份。换言之,清除存档属性。
    完全备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。实际应用中就是用一盘磁带对整个系统进行完全备份,包括其中的系统和所有数据。这种备份方式最大的好处就是只要用一盘磁带,就可以恢复丢失的数据。因此大大加快了系统或数据的恢复时间。然而它的不足之处在于,各个全备份磁带中的备份数据存在大量的重复信息;另外,由于每次需要备份的数据量相当大,因此备份所需时间较长。

  • 差异备份(Differential Backup)

    备份自上一次完全备份之后有变化的数据。差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,也即备份后不标记为已备份文件。换言之,不清除存档属性。
    差异备份是指在一次全备份后到进行差异备份的这段时间内,对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全备份最后一次差异备份进行恢复。
    举例来说,在星期一,网络管理员按惯例进行系统完全备份;在星期二,假设系统内只多了一个资产清单,于是管理员只需将这份资产清单一并备份下来即可;在星期三,系统内又多了一份产品目录,于是管理员不仅要将这份目录,还要连同星期二的那份资产清单一并备份下来。如果在星期四系统内有多了一张工资表,那么星期四需要备份的内容就是:工资表+产品目录+资产清单。
    差异备份在避免了另外两种备份策略缺陷的同时,又具备了它们各自的优点。首先,它具有了增量备份需要时间短、节省磁盘空间的优势;其次,它又具有了全备份恢复所需磁带少、恢复时间短的特点。系统管理员只需要两盘磁带,即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。

  • 增量备份

  • 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。
    这就意味着:第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。
    举例来说,如果系统在星期四的早晨发生故障,丢失大批数据,那么现在就需要将系统恢复到星期三晚上的状态。这时管理员需要首先找出星期一的那盘完全备份磁带进行系统恢复,然后再找出星期二的磁带来恢复星期二的数据,然后在找出星期三的磁带来恢复星期三的数据。很明显这比第一种策略要麻烦得多。另外这种备份可靠性也差。在这种备份下,各磁带间的关系就象链子一样,一环套一环,其中任何一盘磁带出了问题都会导致整条链子脱节。
    这种备份方式最显著的优点就是:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。但增量备份的数据恢复是比较麻烦的。您必须具有上一次全备份和所有增量备份磁带(一旦丢失或损坏其中的一盘磁带,就会造成恢复的失败),并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此这就极大地延长了恢复时间。

习题

【数据库】习题

第十一章

并发控制
三类并发问题及判断
封锁、死锁
可串行化调度
两段锁协议

模拟试卷中的题目类型务必熟悉!

常用的数据库对象

什么是数据库的安全性和完整性?两者有什么联系和区别?
答:数据库的安全是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。数据库的完整性是指数据的正确性和相容性。数据库的完整性视为防止数据库中存在不符合语义的数据,防止错误的信息输入和输出。数据库的安全性是保护数据库防止恶意的破坏和非法的存储。也就是说,完整性措施的防范对象是不合法的语义数据,安全性措施的防范对象是非法用户和非法操作。

存储过程和触发器的区别:
触发器是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。触发器主要通过事件进行触发而被执行,触发器不能直接调用执行,也不能被传送和接受参数,而存储过程可以通过存储过程名被直接调用。触发器与表有关,存储过程与表无关。

习题

【数据库】习题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源同学r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值