数据库学习第九课
来源:互联网 发布:mac安装win10 不断重启 编辑:程序博客网 时间:2024/04/30 05:37
1,视图
1.为什么需要视图
简化查询,避免代码冗余,避免属性大量重复的sql语句
2.什么是视图
视图代码上看视图是个select语句
视图逻辑上被当做一个虚拟表看待
( 感觉像函数)
3.视图的格式
create view 视图的名字
as
---select 的前面不能添加begin
select 语句
---select 的后面不能添加end
4.视图的优点
简化查询
增加数据的保密性
create view v$_emp2
as
select empno,ename,job,mgr,comm,deptno from emp
select * from v$_emp2
a用户只有emp2的权限,没有emp的访问权限,则可以有保密性
5.视图的缺点
增加数据库维护的成本,删除原始表不会删除依附于原始表上的视图,比如上面例子中的emp删除后视图依然存在
或者emp中的ename字段删除后,视图就会报错,需要重新维护
视图只是简化了查询,但是并不能加快查询的速度,这也是视图使用不足的地方
6.注意的问题
创建视图的select语句必须得为所有的计算列指定别名
create view v$_a
as
select avg(sal) from emp
------error
create view v$_a
as
select avg(sal) as "avg_sal " from emp
------ok
视图不是物理表,是虚拟表
不建议通过视图更新视图所依附的原始表的数据或结果
2,事务
1.事务可以保证避免数据处于一种不合理的中间状态
2.利用事务可以实现多个用户对共享资源的同时访问
初学者必须要掌握的几个问题
事务时用来研究什么的
1.避免数据处于不合理的中间状态
转账
2.怎样避免多用户同时访问时呈现给用户的数据时合理的很复杂,现在仍然没有很好的解决办法
事务和线程的关系
事务也是通过锁来解决很多问题的
线程同步就是通过锁来解决的 synchronized
事务和第三方插件的关系
直接使用事务库技术的难度很大,很多人借助第三方插件来实现
因此一般不需要研究数据库中的事物的语法细节
第三方插件想完成预期的功能,一般必须的借助数据库的事务机制
- 数据库学习第九课
- 第九课学习
- 韩语学习之第九课
- 易语言学习第九课
- OpenGL入门学习——第九课
- 学习笔记 (MySQL日志总结) [第九课]
- JavaScript学习第九课--if else
- 学习Hadoop第九课(RPC)
- 机器学习第九课,经验风险最小化
- Linux运维学习第九课
- 学习Hadoop第九课(理解RPC协议)
- 数据库第九章作业
- 如何在数据库中使用存储过程 【数据库高效编程 - 学习笔记 第九章】
- perl学习-第九章
- python学习第九章
- 第九周学习总结
- 第九周学习总结
- Linux学习:第九周
- 编写java程序151条建议读书笔记(2)
- [Leetcode]_13 Roman to Integer
- IAR for STM8系列教程(一)_新建软件工程详细过程
- 鞍点
- 获取图像像素方法汇总
- 数据库学习第九课
- 灵活的构建maven项目
- Java ---Filter过滤器
- maven的配置常见问题
- NestedScrollingParent
- javaoop基础知识总结
- 1339
- L1-016. 查验身份证 java
- Java的线程控制方法和线程池