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

三范式

第一范式 原子性

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

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

第二范式 唯一性

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

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

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

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

第三范式 独立性

消除传递依赖

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

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

视图

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

特点:

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

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

与查询的区别:

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

查询可以排序 视图不行

更新限制的要求不一样

优点:

分割数据 简化观点

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

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

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

触发器

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

img

存储过程

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

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

优点

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

较快的执行速度

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

减少网络流量

DELIMITER //
  CREATE PROCEDURE myproc(OUT s int)
    BEGIN
      SELECT COUNT(*) INTO s FROM students;
    END
    //
DELIMITER ;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值