SQL Views(视图)
目录
Views
Declaring Views
Example: View Definition
Example: Accessing a View
Advantages of Views
Triggers on Views
Interpreting a View Insertion(视图插入操作的解释)
The Trigger
Views
A view is a relation defined in terms of stored tables (called base tables ) and other views.(视图是一种储存表和其他视图之间的一种关系)
Two kinds:
-
Virtual = not stored in the database; just a query for constructing the relation.
-
Materialized = actually constructed and stored.
可以将视图分为两种形式:虚拟视图(并没有真实存在,只是构造关系的查询语句)、物化视图
Declaring Views
Declare by:
CREATE [MATERIALIZED] VIEW
<name> AS <query>;
Default is virtual.(缺省值是虚拟的)
Example: View Definition
CanDrink(drinker, beer) is a view “containing” the drinker-beer pairs such that the drinker frequents at least one bar that serves the beer:
CREATE VIEW CanDrink AS
SELECT drinker, beer
FROM Frequents, Sells
WHERE Frequents.bar = Sells.bar;
Example: Accessing a View
- Query a view as if it were a base table.(视图的查询和普通的表没有什么区别)
- Also: a limited ability to modify views if it makes sense as a modification of one underlying base table.(能够有限的修改能力,如果对于视图的操作能够合理的映射到基表)
Example query:
SELECT beer FROM CanDrink
WHERE drinker = ’Sally’;
Advantages of Views
-
Focus the Data for Users(为用户聚焦数据)
-
Focus on important or appropriate data only
-
Limit access to sensitive data(限制访问敏感数据)
-
-
Mask Database Complexity(屏蔽掉数据库的复杂性)
-
Hide complex database design
-
Simplify complex queries, including distributed queries to heterogeneous data
-
-
Simplify Management of User Permissions
-
Improve Performance
-
Organize Data for Export to Other Application
Triggers on Views
-
Generally, it is impossible to modify a virtual view, because it doesn’t exist.(通常情况下,修改视图是不可能的,因为视图并不存在)
-
But an INSTEAD OF trigger lets us interpret view modifications in a way that makes sense.(但是可以通过建立触发器,使得对于视图的操作能够映射到对应的基表中)
-
Example:
View Synergy has (drinker, beer, bar) triples such that the bar serves the beer, the drinker frequents the bar and likes the beer.
Interpreting a View Insertion(视图插入操作的解释)
-
We cannot insert into Synergy --- it is a virtual view.
-
But we can use an INSTEAD OF trigger to turn a (drinker, beer, bar) triple into three insertions of projected pairs, one for each of Likes, Sells, and Frequents.(可以使用触发器将视图投影成三个数对,对应三张表)
-
Sells.price will have to be NULL.(要注意的是Sells表中的price一定要置空)
The Trigger
CREATE TRIGGER ViewTrig
INSTEAD OF INSERT ON Synergy
REFERENCING NEW ROW AS n
FOR EACH ROW
BEGIN
INSERT INTO LIKES VALUES(n.drinker, n.beer);
INSERT INTO SELLS(bar, beer) VALUES(n.bar, n.beer);
INSERT INTO FREQUENTS VALUES(n.drinker, n.bar);
END;
相关文章:

SQL Views(视图)
目录 Views Declaring Views Example: View Definition Example: Accessing a View Advantages of Views Triggers on Views Interpreting a View Insertion(视图插入操作的解释) The Trigger Views A view is a relation defined in terms of…...

「卫星百科」“绿色守卫”高分六号
高分六号(GF-6)是中国高分辨率对地观测系统(高分专项)的重要组成卫星,于2018年6月2日成功发射。高分六号卫星凭借其高时空分辨率、红边波段、宽覆盖能力,在农业、生态、灾害等领域提供了重要的数据支撑。本…...

秋招Day12 - 计算机网络 - IP
IP协议的定义和作用? IP协议用于在计算机网络中传递数据包,定义了数据包的格式和处理规则,确保数据能够从一个设备传递到另一个设备,中间可能经过多个不同的设备(路由器)。 IP协议有哪些作用?…...
Servlet 快速入门
文章目录 概念SpringBoot 测试案例执行原理传统 Servlet在 SpringBoot (嵌入式 Tomcat Spring MVC) 中请求从浏览器到业务代码的完整步骤关键点流程图 参考 概念 运行在服务器端的小程序, Servlet 就是一个接口,定义 Java 类被浏…...

【前端】CSS面试八股
网上现有资料已经很丰富了,我挑了些自己押面试题时总结过的来写。 Q:回流和重绘 A: 回流reflow:计算元素的几何,引发layout重绘repaint:更新元素可见样式,引发paint 回流的成本比重绘高得多&…...
[蓝桥杯]找到给定字符串中的不同字符
题目描述 在不考虑字符排列的条件下,对于相差只有一个字符的两个字符串,实现一个算法来识别相差的那个字符。要求如下: 当传入的字符串为 aad 和 ad 时,结果为 a。 当传入的字符串为 aaabccdd 和 abdcacade 时,结果为…...

Redis底层数据结构之字典(Dict)
Dict基本结构 Dict我们可以想象成目录,要翻看什么内容,直接通过目录能找到页数,翻过去看。如果没有目录,我们需要一页一页往后翻,这样时间复杂度就与遍历的O(n)一样了,而用了Dict我们就可以在O(1)的时间复杂…...

佰力博科技与您探讨低温介电温谱测试仪的应用领域
低温介电温谱测试应用领域有如下: 一、电子材料: 低温介电温谱测试仪广泛应用于电子材料的性能测试,如陶瓷材料、半导体材料、压电材料等。通过该设备,可以评估材料在高温或低温环境下的介电性能,为材料的优化和应用提…...
ubuntu之开机自启frpc
在 Ubuntu 系统中为 frpc 设置开机自启(以 frpc -c frpc.toml 命令为例),可以通过 systemd 服务实现。以下是详细步骤: 创建 systemd 服务文件 sudo vim /etc/systemd/system/frpc.service 写入以下内容(根据你的路…...

【办公类-48-04】202506每月电子屏台账汇总成docx-5(问卷星下载5月范围内容,自动获取excel文件名,并转移处理)
背景需求: 1-4月电子屏表格,都是用这个代码将EXCEL数据整理成分类成3个WORD表格。 【办公类-48-04】20250118每月电子屏台账汇总成docx-4(提取EXCLE里面1月份的内容,自制月份文件夹)-CSDN博客文章浏览阅读1.2k次&…...
对 `llamafactory-cli api -h` 输出的详细解读
llamafactory-cli 是 LlamaFactory 项目提供的命令行接口工具,它允许用户通过命令行参数来配置和运行大型语言模型的各种任务,如预训练(PT)、有监督微调(SFT)、奖励模型训练(RM)、基…...

基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
引 言 随着电子信息技术的不断进步,人工智能、医 疗器械、机器视觉等领域都在高速发展 [1] ,工业相机 是机器视觉系统中的一部分 [2] ,对工业相机而言,传 输图像的速率、传输过程的抗干扰能力是其关键, 工业相…...

demo_win10配置WSL、DockerDesktop环境,本地部署Dify,ngrok公网测试
win10配置WSL、DockerDesktop环境,本地部署Dify,ngrok分享测试 一、配置WSL 1.1 开启Hyper-V 安装WSL2首先要保证操作系统可以开启hyper-v功能,默认支持开启hyper-v的版本为:Windows11企业版、专业版或教育版,而家庭版是不支持…...

TablePlus:一个跨平台的数据库管理工具
TablePlus 是一款现代化的跨平台(Window、Linux、macOS、iOS)数据库管理工具,提供直观的界面和强大的功能,可以帮助用户轻松管理和操作数据库。 TablePlus 免费版可以永久使用,但是只能同时打开 2 个连接窗口ÿ…...

SQL Indexes(索引)
目录 Indexes Using Clustered Indexes Using Nonclustered Indexes Declaring Indexes Using Indexes Finding Rows Without Indexes Finding Rows in a Heap with a Nonclustered Index Finding Rows in a Clustered Index Finding Rows in a Clustered Index with …...

Axure 基础入门
目录 认识产品经理 项目团队* 基本概述 认识产品经理 A公司产品经理 B公司产品经理 C公司产品经理 D公司产品经理 产品经理工作范围 产品经理工作流程* 产品经理的职责 产品经理的分类 产品经理能力要求 产品工具 产品体验报告 原型设计介绍 原型设计概述 为…...

结构型设计模式之Decorator(装饰器)
结构型设计模式之Decorator(装饰器) 前言: 本案例通过李四举例,不改变源代码的情况下 对“才艺”进行增强。 摘要: 摘要: 装饰器模式是一种结构型设计模式,允许动态地为对象添加功能而不改变其…...

HCIP-Datacom Core Technology V1.0_3 OSPF基础
动态路由协议简介 静态路由相比较动态路由有什么优点呢。 静态路由协议,当网络发生故障或者网络拓扑发生变更,它需要管理员手工配置去干预静态路由配置,但是动态路由协议,它能够及时自己感应网络拓扑变化,不路由选择…...

工作自动化——工作自动提炼--智能编程——仙盟创梦IDE
工作自动化中的自动提炼、自动比对代码生成日志,为软件开发与项目管理带来诸多好处。 自动提炼能从复杂代码中精准提取关键信息,节省人工梳理时间,开发人员可快速把握核心逻辑,加速项目熟悉进程。自动比对代码则及时发现版本间差异…...
go语言学习 第 2 章:变量与数据类型
第 2 章:变量与数据类型 在 Go 语言中,变量和数据类型是构建程序的基础。理解它们的使用方式和特性,对于编写高效、可维护的代码至关重要。本章将详细介绍变量的声明、初始化、使用以及 Go 语言中的各种数据类型。 一、变量的声明与初始化 …...

大语言模型评测体系全解析(上篇):基础框架与综合评测平台
文章目录 一、评测体系的历史演进与技术底座(一)发展历程:从单任务到全维度评测1. 2018年前:单数据集时代的萌芽2. 2019-2023年:多任务基准的爆发式增长3. 2024年至今:动态化、场景化、多模态体系成型关键节…...
Spring Event(事件驱动机制)
一、Spring Event 应用场景 1. 业务解耦 当一个业务操作触发多个后续动作时,用事件解耦各个动作,避免代码耦合。 比如:用户注册后同时发送欢迎邮件、积分赠送、日志记录等,这些逻辑可以通过事件发布多个监听器异步处理。 2. 跨模…...
Fisher准则例题——给定类内散度矩阵和类样本均值
设有两类样本,两类样本的类内散度矩阵分别为 S 1 ( 1 1 / 2 1 / 2 1 ) , S 2 ( 1 − 1 / 2 − 1 / 2 1 ) S_1 \begin{pmatrix} 1 & 1/2 \\ 1/2 & 1 \end{pmatrix}, \quad S_2 \begin{pmatrix} 1 & -1/2 \\ -1/2 & 1 \end{pmatrix} S1(11/21…...
MySQL数据库中INNODB表数据的备份与恢复
使用数据库时,其中非常重要的一块内容就是数据的安全,而保障数据安全的重要手段是数据备份与还原恢复。目前,我们主要的备份手段有逻辑备份、物理备份,逻辑备份一般适用范围很广,可以适用于解决不同版本间的备份与恢复,但一般执行时间长,而且备份占用空间大。这里介绍一…...
振动分析师(ISO18436-2)四级能力矩阵 - 简介
本文的内容绝大多数来自:VCAT-II Vibration Analyst - Mobius Institute相关振动分析员培训招生彩页,特此致谢!内容整理参见:振动分析师四级能力矩阵 - 知乎。 CAT I 振动分析技术员 1.1角色画像 Collect vibration dataValida…...

生产环境MYSQL常见锁表场景
前言 锁表是我们在生产环境十分常见的问题之一,解决问题前需要先了解锁表产生的原因以找到解决方案,并制定方案以预防锁表,本文接下来会分别模拟元数据锁表(MDL锁)、行锁升级为表锁、死锁、**显示锁表 **四种锁表情形…...

结构性设计模式之Composite(组合)
结构性设计模式之Composite(组合) 摘要: Composite(组合)模式通过树形结构表示"部分-整体"层次关系,使得用户能够统一处理单个对象和组合对象。该模式包含Component(组件接口&#x…...

Java面试八股--04-MySQL
致谢:感谢整理!2025年 Java 面试八股文(20w字)_java面试八股文-CSDN博客 目录 1、Select语句完整的执行顺序 2、MySQL事务 3、MyISAM和InnoDB的区别 4、悲观锁和乐观锁怎么实现 5、聚簇索引与非聚簇索引区别 6、什么情况下my…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(31):そう
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(31):そう 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)复习(2) そう1,いAくな+さそうでう。2,なAな + そうです。3,いいです ー>よさそうです。4、x Xの状況(じょうきょう)5、みたい & ら…...

设计模式——访问者设计模式(行为型)
摘要 访问者设计模式是一种行为型设计模式,它将数据结构与作用于结构上的操作解耦,允许在不修改数据结构的前提下增加新的操作行为。该模式包含关键角色如元素接口、具体元素类、访问者接口和具体访问者类。通过访问者模式,可以在不改变对象…...