一.sql的数据库对象
1.简述
- 表:二元结构
- 约束:独立名,保证数据的完整性(加在表中的规则)
- 视图:逻辑显示,相当于select语句
- 索引:提高查询性能
- 存储过程存储函数:完成计算
- 触发器:事件的监听器
二.sql的其他数据库对象
1.视图
①视图理解
- 用户–视图—数据表
- 视图看做虚拟表,实际不存数据,本质存储起来的select语句
- 针对视图做增删改,会对基表影响,同时,修改基表的内容,也会对视图的定义需要修改
- 应用场景:某个查询常用,可以定义为视图。(简化查询,控制权限)
②使用视图
- create view _() as select _
- show tables; desc view _;show create view _
- update _ set _ where _/ delete from _ where _视图修改影响表数据
- create or replace view _() as select _/alter view as
③更新操作不一定成功
- 例如avg在视图的定义,不能更新avg,因为基表中并无此选项
④特点
- 简化查询,视图不存数据,控制权限
- 表结构更改视图也更改,维护成本
2.存储过程和存储函数
①存储过程:一组预先编译好的sql语句的封装,直接执行即可
- 例子:delemiter // create procedure _() begin select * from ;end // call
②存储函数:同存储过程,有返回值
③两者的使用
- 优点:一次编译多次使用,减少工作量(库函数)
- 缺点:调试困难
3.触发器
①触发器:同时添加两条数据,手动添加难以保证完整性
②举例说明:
- 创建触发器: delimiter // create triger _ before insert/delete on _ for each row
begin insert into _ values(new/old) end// +更改触发器:show triggers _ ; show create trigger ; drop trigger
③特点:
- 确保数据完整性,记录日志
- 可读性查,数据更新触发器报错,直接更改触发器对应数据才会触发,间接更改不会触发
|