数据库中视图的知识点

       视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一般用于查询,不会改变基本表的数据。

1)   定义和概念

① 从一个或几个基本表中根据用户需要而做成一个虚表

② 视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据 

③ 视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户

2)   视图的优点

① 能分割数据,简化观点。可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作 

② 为数据提供一定的逻辑独立性。 如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据 

③ 提供自动的安全保护功能。 视图能像基本表一样授予或撤消访问许可权,给用户是表的一部分访问权限而不是全部。

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

3)   使用视图的一些限制和规则

① 视图必须唯一命名,不能和表或者其他视图重名

② 视图可以嵌套,可以从其他视图中构造视图

③ order by可以用在视图定义中,但是如果select语句从视图中检索数据时候,在视图中order by将被覆盖。

4)   视图和基本表的区别

a)   视图是已经编译好的sql语句。而表不是  

b)   视图没有实际的物理记录。而表有。

c)   表是内容,视图是窗口

d)   表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改

e)   表是内模式,视图是外模式

f)   视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。

g)   表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。 

h)   视图的建立和删除只影响视图本身,不影响对应的基本表。

5)   视图的创建、删除、使用、查看:

CREATE or replace view VIEW view_name AS

SELECT column_name(s)

FROM table_name

WHERE condition

DROP VIEW view_name

select * from view当成表使用就好

由于视图相关与一张虚表,使用show tables查看当前数据中的视图:

6)   通过视图变更数据

INSERT INTO v_order(pid,pname,price) VALUES('p010','柴油','34');

跨表插入数据系统反馈报错,提示不能修改超过一个表的数据。因此,可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

补充考点:创建视图的时候的 with check 语句

对视图进行update或者insert操作时,保证更新或者插入的行满足图中定义的谓词条件。例如:一张表里有个字段是专业的;你创建视图的时候 create view stu as select 学生 from table where 专业='计算机' with check option 这样where后面就实现了对专业的限定 以后你如果对视图添加记录的时候专业如果不是计算机的话不让添加进去的。

    Access的数据表视图中,可以修改字段名称、删除字段和删除记录,但是不能够修改字段类型。字段的类型需要在设计视图中修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress如何判断当前页是否属于文章页或页面?

我想在WordPress站点的文章页和页面中输出一些内容,其他页面不输出,那么我应该怎么判断当前页是否为文章页或页面呢?下面boke112百科就跟大家简单介绍一下。 估计很多WordPress站点都知道以下两个判断函数: 1、如果当前页是文章…

.Net MAUI 搭建Android 开发环境

一、 安装最新版本 VS 2022 安装时候选择上 .Net MAUI 跨平台开发 二、安装成功后,创建 .Net MAUI 应用 三、使用 VS 自带的 Android SDK 下载 ,Android镜像、编译工具、加速工具 四、使用Vs 自带的 Android Avd 创建虚拟机 五、使用 Android 手机真机调试

【PyTorch】6-可视化(网络结构可视化、CNN可视化、TensorBoard、wandb)

PyTorch:6-可视化 注:所有资料来源且归属于thorough-pytorch(https://datawhalechina.github.io/thorough-pytorch/),下文仅为学习记录 6.1:可视化网络结构 Keras中可以调用model.summary()的API进行模型参数可视化 torchinfo…

【软考高项】三十五、资源管理基础内容

一、管理基础 项目资源管理包括识别、获取和管理所需资源以成功完成项目的各个过程,包括实物资源和团队资源。项目资源管理是为了降低项目成本,而对项目所需的人力、材料、机械、技术、资金等资源所进行的计划、组织、指挥、协调和控制等的活动。项目团…

Milvus Cloud 的RAG 的广泛应用及其独特优势

一个典型的 RAG 框架可以分为检索器(Retriever)和生成器(Generator)两块,检索过程包括为数据(如 Documents)做切分、嵌入向量(Embedding)、并构建索引(Chunks Vectors),再通过向量检索以召回相关结果,而生成过程则是利用基于检索结果(Context)增强的 Prompt 来激…

C表示interp2基本功能

在MATLAB中,interp2函数用于二维插值。当使用nearest选项时,它会执行最近邻插值。以下是如何在MATLAB中使用nearest选项的示例: % 假设X和Y是已知点的网格,V是这些点上已知的函数值 X 1:0.5:3; % X坐标的网格 Y 1:0.5:3; %…

ROS研究-初步

目录 1.ROS安装简述1.ROS版本选择2.添加源3.添加ros公钥4.设置环境5.构建包的依赖关系6.初始化rosdep7.小乌龟验证00.卸载ros2.ros安装目录说明3.检查脚本配置环境1.ROS安装简述 安装步骤可参考官网:ROS官网 ROS Notic的Ubuntu安装 1.ROS版本选择 2.添加源

Web API之DOM

DOM 一.认识DOM二.获取元素三.事件基础四.操作元素(1).改变元素内容(2).修改元素属性(str、herf、id、alt、title)(3).修改表单属性(4).修改样式属性操作(5).小结 五.一些思想(1).排他思想(2).自定义属性的操作 六.节点操作1.认识2.节点层级关系3.创建和添加、删除、…

el-checkbox 无法动态设置勾选状态

问题 cheked 值动态变化&#xff0c;但是勾选状态无法动态改变 解决 v-model 与:checked 同时使用 <el-checkbox class"add-shop-check" v-model"renderData[0].isCheck" :checked"renderData[0].isCheck" change"checked > selec…

3.处理数据

处理数据 写在前面1.变量整型char类型bool类型浮点型类型分类 2.算术运算符除模 3.类型转换总结 写在前面 关于看书。其实我已经很久没看过书了&#xff0c;最近一次长时间看书还要追述到大学的时候&#xff0c;那时候上面都没有&#xff0c;就是有时间。原本我其实很爱看书的…

leetcode91.解码方法(动态规划)

问题描述&#xff1a; 一条包含字母 A-Z 的消息通过以下映射进行了 编码 &#xff1a; A -> "1" B -> "2" ... Z -> "26" 要 解码 已编码的消息&#xff0c;所有数字必须基于上述映射的方法&#xff0c;反向映射回字母&#xff08;可…

HFSS学习-day2-T形波导的优化设计

入门实例–T形波导的内场分析和优化设计 HFSS--此实例优化设计 优化设计要求1. 定义输出变量Power31、Power21、和Power11&#xff0c;表示Port3、Port2、Port1的输出功率2.参数扫描分析添加扫描变量和输出变量进行一个小设置添加输出变量进行扫描分析 3. 优化设计&#xff0c…

威客网上招标系统(四)

目录 4 总体设计 4.1 网站系统功能说明 4.1.1总体功能 4.1.2非功能性需求 4.1.2.1用户界面需求 4.1.2.2软硬件环境需求 4.1.2.3产品质量需求 4.2 建立数据库模型 前面内容请移步 威客网上招标系统&#xff08;三&#xff09; 免费源代码毕业设计论文 威客网上招标系统…

卸载系统自带APP

Firefly RK3588 android 12自动多个系统软件&#xff0c;无法从UI界面进行手动删除。因此&#xff0c;考虑使用shell指令进行处理。 系统自动APP大多都安装在system/app目录下&#xff0c;且该目录多为只读。因此采用如下步骤&#xff0c; //Shell su adb shell su //重新挂载…

G1 垃圾回收器解决的问题

背景 Java G1&#xff08;Garbage First&#xff09;垃圾回收器的诞生背景与Java平台对内存管理和垃圾回收的不断演进密切相关。在了解G1诞生的背景之前&#xff0c;我们先简要回顾一下Java平台的垃圾回收发展历程&#xff1a; Serial收集器&#xff1a;最初的Java垃圾回收器…

【Linux】线程的内核级理解详谈页表以及虚拟地址到物理地址之间的转化

一、线程的概念 对于进程来说&#xff0c;进程创建时间和空间成本较高&#xff0c;因为进程是承担分配系统资源的基本实体&#xff0c;所以线程的出现就成为了必然。Linux线程与进程非常相似&#xff0c;Linux设计者在设计之初觉得如果再为线程设计数据结构和调度算法就会使整个…

增量同步笔记

2.2.2.增量同步 全量同步需要先做RDB&#xff0c;然后将RDB文件通过网络传输个slave&#xff0c;成本太高了。因此除了第一次做全量同步&#xff0c;其它大多数时候slave与master都是做增量同步。 什么是增量同步&#xff1f;就是只更新slave与master存在差异的部分数据。如图…

kubeflow简单记录

kubeflow 13.7k star 1、Training Operator 包括PytorchJob和XGboostJob&#xff0c;支持部署pytorch的分布式训练 2、KFServing快捷的部署推理服务 3、Jupyter Notebook 基于Web的交互式工具 4、Katib做超参数优化 5、Pipeline 基于Argo Workflow提供机器学习流程的创建、编排…

JAVA系列 小白入门参考资料 接口

目录 接口 接口的概念 语法 接口使用 接口实现用例 接口特性 实现多个接口和实现用例 接口间的继承 接口 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本上的 USB 口&#xff0c;电源插座等。 电脑的 USB 口上&am…

手撕spring框架(4)

手撕spring框架&#xff08;4&#xff09; 相关系列 手撕spring框架&#xff08;1&#xff09; 手撕spring框架&#xff08;2&#xff09; 手撕spring框架&#xff08;3&#xff09; 本节主要是讲通过BeanNameAware获取在容器中配置的Bean名称&#xff0c;使得Bean能够获取自身…