欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQl三范式 视图触发器存储过程简述

程序员文章站 2022-06-03 23:14:11
...

三范式

第一范式 原子性

表示每一项的信息都是不可再分的

比如 你一个字段中存放了 姓名和年龄 这就违反了原子性

第二范式 唯一性

消除数据之前的部分依赖 使一个表中的非主键部分完全依赖于主键

消除非主键部分依赖联合主键中的部分字段

需要实现每一 行数据具有唯一 可区分的特性,并不能有部分依赖关系。

通常,给一个表加主键(也是推荐做法),就可以做到“唯一可区分”。

第三范式 独立性

消除传递依赖

属性不依赖于其它非主属性

数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。

视图

从一个或者多个表中根据用户的需要做成一个虚表

特点:

只是虚表 只存储视图的定义 没有存储数据

只在打开的一瞬间 通过定义从基表中查找到数据 并且展示给用户

与查询的区别:

视图是数据库设计的一部分 查询不是

查询可以排序 视图不行

更新限制的要求不一样

优点:

分割数据 简化观点

为数据提供一定的逻辑独立性

提供自动的安全保护功能 视图能像 基本表- 样授予或撤消访问许可权。

视图可以间接对表进行更新,因此视图的更新就是表的更新。

触发器

触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,会**促发其执行相应的操作。

MySQl三范式 视图触发器存储过程简述

存储过程

为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。

优点

增强SQL语言的功能和灵活性

较快的执行速度

作为一种安全机制来充分利

减少网络流量

DELIMITER //
  CREATE PROCEDURE myproc(OUT s int)
    BEGIN
      SELECT COUNT(*) INTO s FROM students;
    END
    //
DELIMITER ;