实战演练 | 在 Navicat 16 中创建视图

news/2024/11/17 20:44:24/

为了规范化数据库表,常常会将高级别表中的冗余列抽取到单独的子表中。这通常是由于某些字段与父实体具有一对多关系而发生的。例如,请参考以下使用 Navicat Data Modeler 生成的模型:

评估最初是 ups 表的一部分,但这导致了数据冗余,因为在一次访问中可以评估多辆车。因此,从 ups 表中删除车辆的字段并将它们放在自己的表中是明智之举。

规范化为第三范式(3NF)的缺点是最终会在主表中产生很多 ID 字段。作为一名要查看表的数据库从业者,很难知道每个 ID 列指向哪个实体。举个例子,请看上述模型图中的 ups 表,并注意 CSR、customer 和 vehicle 都全部简化为数字 ID,这些 ID 无助于辨认基础实体:

这部分与自动递增 ID 以及规范化有关,但无论如何,通过创建视图,我们可以使数据更易于阅读。数据库视图是数据库的一个子集,它基于对一个或多个数据库表上运行的查询。数据库视图作为命名查询保存在数据库中,可用于保存常用的复杂查询。

在 Navicat 16 中,我们可以从主菜单中选择“文件”->“新建”->“视图...”来创建一个新视图:

这样会添加一个新的视图选项卡。

下一步是添加会生成视图字段的 SQL 语句:

如果你在编写语句时需要任何帮助,选项卡工具栏上有“预览”、“解释”、“视图创建工具”和“美化 SQL”按钮。

假设我们不想等待视图创建完成就查看结果,可以单击“预览”按钮立即查看結果:

现在,ID 列包含更具描述性和意义的文本数据。

在选项卡按钮下,还有三个选项卡 - 定义、高级和 SQL 预览。“高级”选项卡包含其他选项,例如算法、定义者、安全性和检查选项,而“SQL 预览”则显示生成的 CREATE VIEW 语句:

新视图在保存之前的名称为“Untitled”。在保存时会出现一个对话框,可以在这里指定视图名称:

保存后,新视图将添加到左侧的导航窗格中,并可随时调用:

在 Navicat 16 中创建视图的结语

在今天的文章中,我们学习了关于数据库视图的知识,并介绍了如何制作一个视图,通过 ID 字段将一个表链接到多个相关表以帮助识别该表的记录。在今天的文章中,我们学习了关于数据库视图的知识,并介绍了如何制作一个视图,通过 ID 字段将一个表链接到多个相关表以帮助识别该表的记录。欢迎了解14天免费试用,体验数据库管理开发工具 Navicat Premium 或专业的数据库模型工具 Navicat Data Modeler 实现此功能。

往期回顾 

  1. 招募 Navicat Monitor 3.0 监控工具体验官 | 好礼相送
  2. 保姆级教程 | Navicat 人工备份和自动备份
  3. Navicat 16 正式支持 OceanBase 全线数据库产品
  4. Navicat 16 即将支持 Redis
  5. 免费试用 Navicat 16
  6. Navicat 20年发展史 | 1999 年成立于中国香港
  7. SQL 语句中 WHERE 1=1 的作用
  8. SQL 中计算总行数的百分比
  9. 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium
  10. 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件

http://www.ppmy.cn/news/242630.html

相关文章

基于html+css的图展示110

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Linux系统下安装配置 Nginx 详细教程介绍

Linux系统下安装配置 Nginx 详细教程介绍 一、下载 Nginx 安装包 打开Nginx官网 :nginx: download 然后我们找到一个版本,把鼠标移动到上面,右键 - 复制链接地址 我们使用 wget 命令把Nginx安装包下载到/usr/local/目录中 安装wget yum…

laravel 消息通知实现

PS:本次主要记录一下laravel 自带的消息通知Notification的实现 1.生成数据库,可以使用迁移 在项目目录下的cmd中运行 artisan命令 php artisan notifications:table php artisan migrate 在user表里增加一个notification_count 字段,记录未读通知数量php artisan make:not…

记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试

记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试 目录 记一次使用Chat-GPT3.5和Chat-GPT4进行的K8s运维工程师模拟面试前言ChatCPT-3.5ChatGPT-4结论 前言 感谢我的怨种朋友倾力赞助我升级成GPT4。我也有幸使用GPT4进行了一次关于K8s运维工程师的模拟面试。结合…

完美解决safari、微信浏览器下拉回弹效果、包含微信小程序 webview 套H5页面下拉效果。

如题,解决微信小程序、公众号 下拉回弹橡皮筋效果, 屏蔽掉 “此网页由XXXXX提供”; // 禁止页面上下整体滑动 document.body.style.overflow "hidden"

Android手机 全面屏(18:9屏幕)适配指南

Android手机 全面屏(18:9屏幕)适配指南 点击打开链接 从小米MIX 1发布以来,越来越多所谓“全面屏”手机发布,如三星S8,小米MIX2,VIVO X20,Google Pixel2等等...2017年下半年开始&am…

驱动程序接口和HAL层区别和联系

驱动程序接口(Device Driver Interface)和硬件抽象层(Hardware Abstraction Layer,HAL)是在软件系统中用于处理硬件的两个不同层次的概念。 驱动程序接口(Device Driver Interface):…

酷玩部落:智能硬件的游戏化

酷玩部落这个名字听起来像个俱乐部。宅客君(letshome)初到公司拜访的时候,这里乍看又像个健身房。酷玩的团队在日进斗金的游戏业淌过,如今又在智能硬件的前沿弄潮。 健身的游戏化 酷玩的产品有着强烈的跨界属性:健身房…