视图有什么用?

2023-12-01

我只是想大致了解 RDBMS 中视图的用途。也就是说,我知道什么是视图以及如何创建视图。我也知道我过去用它们做什么。

但我想确保我彻底了解视图的用途和视图不应该用途。进一步来说:

  1. 视图有什么用?
  2. 是否存在某些情况下,当您不应该使用视图时却很想使用视图?
  3. 为什么要使用视图来代替表值函数之类的东西,反之亦然?
  4. 是否存在某些视图可能有用但乍一看并不明显的情况?

(郑重声明,其中一些问题是故意提出的。这在一定程度上是一个概念检查。)


在某种程度上,视图就像一个界面。您可以根据需要更改底层表结构,但视图提供了一种不必更改代码的方法。

视图是为报告编写者提供简单内容的好方法。如果您的业务用户想要从 Crystal Reports 之类的工具访问数据,您可以在他们的帐户中为他们提供一些简化数据的视图,甚至可以为他们将数据非规范化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视图有什么用? 的相关文章

  • SQL Server 2008 R2 的 Try_Convert

    我正在使用 SQL Server 2008 R2 并且有一个VARCHAR我想要转换为的列DECIMAL 28 10 using CONVERT 但其中许多行的格式错误 因此无法将它们解析为数字 在这种情况下 我只想通过将结果设置为 0 或
  • 插入后用触发器更新多行(sql server)

    我有一个表 orderDetails 包含订单的产品 产品编号 color size quantity 和一个表库存 产品编号 size color stock 订单完成后 我使用此查询将项目插入表中orderDetails INSERT
  • 是什么阻止“Select top 1 * from TableName with (nolock)”返回结果?

    我目前正在运行以下语句 select into adhoc san savedi from dps san savedi record 这花了很长时间 我想看看它走了多远 所以我运行了这个 select count from adhoc s
  • Id 或 [TableName]Id 作为主键/实体标识符

    是否首选使用 Id 作为主键的列名或 TableName Id 作为命名约定 表 账户主键 ID 相对 表 账户主键 AccountId 在我见过的实现中 它似乎分为 50 50 左右 每种方法的优点和缺点是什么 跟进 在我的数据库中使用一
  • SQL SERVER 中的排序依据和大小写

    我需要在存储过程中按功能排序 一个值被发布到网络服务 并且基于该值我必须以某种方式对结果进行排序 即 当 ColName 按 ColName 发布订单时 当 ColName2 由 ColName2 发布订单时 我正在研究使用 Case 但出
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • 如何使用PostGIS将多边形数据转换为线段

    我在 PostgreSQL PostGIS 中有一个多边形数据表 现在我需要将此多边形数据转换为其相应的线段 谁能告诉我如何使用 PostGIS 查询进行转换 提前致谢 一般来说 将多边形转换为线可能并不简单 因为没有一对一的映射 http
  • 如何将可视选择的文本通过管道传输到 UNIX 命令并将输出附加到 Vim 中的当前缓冲区

    使用 Vim 我尝试将在可视模式下选择的文本通过管道传输到 UNIX 命令 并将输出附加到当前文件的末尾 例如 假设我们有一个 SQL 命令 例如 SELECT FROM mytable 我想做如下的事情
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和

随机推荐

  • 使用 Apache Beam 将插入流式传输到 BigQuery 时如何指定 insertId

    BigQuery 支持流式插入的重复数据删除 如何通过 Apache Beam 使用此功能 https cloud google com bigquery streaming data into bigquery dataconsisten
  • 使用jdom创建xml,如何设置standalone =“no”属性

    当我创建 jdom 文档 Document doc new Document 时 默认情况下我只在 xml 标头中看到版本和编码 如何添加独立属性以获得 在文档到达 JDOM 之前 XMLParser 通常会删除标头 我很确定你的意思是你正
  • Font Awesome 无法使用 vue 正确更新

    我正在尝试使用 font awesome 和 bulma 制作一个可点击的 星 图标 在 Vue 中的常规样式和实体样式 fas 和 far 之间切换 为了实现此目的 我有以下组件
  • 原生 GetUninitializedObject 实际存在于哪里?

    我对一些序列化的东西很好奇 所以我四处探索FormatterServices并找到了一个名为的方法nativeGetUninitializedObject它实际上处理给定类型的初始化 不调用构造函数 该方法装饰有extern关键字和以下属性
  • c 分段错误 fgets

    int main int argc char argv FILE inFilePtr fopen argv 1 r char rawdata malloc sizeof char 100 float ary malloc sizeof fl
  • 两个移动物体与纬度/经度坐标的交点

    尽管我已经阅读了几篇文章 但到目前为止我还无法真正解决这个问题 希望有人可以在这里提供帮助 事实 已知变量 地球表面上的两个移动物体 均具有当前已知的纬度 经度坐标 两个物体的速度也是已知的 以米 秒为单位 一个物体的方向 角度 是已知的
  • HybridAuth / PHP Facebook SDK 身份验证失败(getUser 返回 0)

    我正在尝试配置 HybridAuth 目前还处于早期阶段 现在我想做的就是连接并确保 HA 将重定向到 Facebook 并提示安装应用程序 然后在用户返回时对用户进行身份验证 我正在手动调用以下位置 http mydomain com a
  • 打字机效果 Pygame

    这个问题确实很难问 但我知道 Stack Overflow 的你们都是最聪明的人 我完全不知道为什么会发生这个问题 我对 Python 和 Pygame 相当熟悉 所以任何关于如何改进代码的建议都会带着提高我的技能的热爱而被接受 我正在创建
  • 如何关闭 UI KeyboardType NumberPad?

    我试图隐藏数字键盘 但我不想实现按钮 当用户点击文本字段外部时 有没有办法关闭数字键盘 这是你读到它并说 这很简单 你只是 的问题之一 然后你就去做 让它变得超级复杂 然后意识到事情不必那么复杂 我想出的答案是使用隐形的 我相信它会帮助其他
  • 如何使用 ggplot2 在 y 轴截距(y 轴)上添加点

    我有一个散点图 其中 y 轴缩放比例在某个点发生变化 以绘制具有某些极值的数据 我试图在 y 轴上添加某种视觉提示 指示缩放在该点发生变化 这是一个情节的例子 library scales library ggplot2 set seed
  • Spring:PropertyPlaceholderConfigurer找不到属性文件

    我在使用 Spring 时遇到一个奇怪的问题PropertyPlaceholderConfigurer 我的一种豆子设计如下
  • C++ 纯虚函数的多重继承问题

    我制作了一个最小的示例来复制我在更复杂的类层次结构中遇到的问题 include
  • Django - 模型 - 递归检索叶节点的父节点

    我有一个用户模型类定义如下 class CustomUser models Model user models OneToOneField User slug models SlugField max length 35 unique Tr
  • 导入错误:没有名为 pynput.keyboard 的模块

    我有问题 找不到任何帮助 想法是我无法导入 pynput 我做了 pip install 它显示的是 gt Traceback most recent call last File sb py line 1 in
  • C++读取带空格的字符串

    我有这样的文件 59 137 New York 137 362 Syracuse 216 131 New Jersey 我想将其读入一个结构 X Y 城市名称 char city 100 int x y f open map txt f g
  • 删除 XWPFHyperlinkRun Apache POI

    我和这位小伙伴有同样的问题 如何通过 poi 删除 XWPFHyperlinkRun 由于 XWPFHyperlinkRun 元素 我无法将 doc 转换为 pdf 我可以删除一个简单运行的段落 如下所示 for XWPFParagraph
  • NumberPicker 在 setValue() 之后显示错误的值

    我试图创建一个可以满足我的需求的 NumberPicker 但我偶然发现了一些东西 但我不明白它是什么 行为很简单 我有三个数字选择器 每个数字选择器的值可以从 15 到 15 之间 当用户按下Ok按钮选择的值 如果有效 将保存在 结构 和
  • 如何计算 unix 中给定日期之前的日期?

    我有两个变量 X 和 Y X 的值将以格式给出的日期mmddyy我想计算日期前那个日期and以格式返回yyyymmdd 让我举一个例子 当X 091509 时 mmddyy格式 Y 应为 20090914 yyyymmdd format d
  • Android popupWindow,无法获取弹出窗口中的元素

    我在抓取我的东西时遇到问题Buttons 和 my 中的其他元素PopupWindow 使用debugger它只是报告为null private void initiatePopupWindow try We need to get the
  • 视图有什么用?

    我只是想大致了解 RDBMS 中视图的用途 也就是说 我知道什么是视图以及如何创建视图 我也知道我过去用它们做什么 但我想确保我彻底了解视图的用途和视图不应该用途 进一步来说 视图有什么用 是否存在某些情况下 当您不应该使用视图时却很想使用