当前位置: 首页 > news >正文

数据库技术设计(第六单元)

一、章节整体认知

本章核心内容为数据库的数据视图,整体分为两大模块:创建与查询视图、操作视图,配套三套业务实训案例(Petstore商业实例、LibraryDB综合实训、SchoolDB实战演练),是数据库里非常重要的逻辑层对象。

二、6.1 创建和查询视图

6.1.1 视图概述

视图属于数据库的虚拟表,不存在物理存储空间,本质是一条持久化存储在数据库内部的SELECT查询语句,它本身不存储任何数据,所有的数据都来源于底层的基础数据表,也就是基表。每当执行查询视图的操作时,数据库会自动解析视图内部保存的查询逻辑,动态从基表中抓取数据,生成表格形式的结果。
视图可以分为简单视图与复杂视图:简单视图基于单张基表构建,不含聚合函数、分组、多表连接;复杂视图由多表联合查询构成,或是包含统计、去重、子查询等逻辑。
视图具备四大核心价值:简化复杂查询逻辑、管控数据访问权限、统一业务统计口径、隔离底层表结构变动,降低后期维护成本。

6.1.2 创建视图

创建视图的核心工作是定义查询逻辑,我们只需要确定需要关联哪些基表、筛选哪些字段、设置过滤条件,不需要定义字段类型、约束这类存储结构。
创建完成之后,数据库只会记录视图的查询定义,不会分配磁盘物理空间,不需要向视图插入数据。
对比数据表的创建:数据表创建时必须设计字段、数据类型、各类完整性约束,创建后会直接分配物理存储,必须手动插入数据之后表内才有内容,数据表定义的是存储结构,视图定义的是查询逻辑,二者本质完全不同。

6.1.3 查询视图

查询视图的使用方式和普通数据表完全一致,使用者不需要感知视图背后关联了多少张基表,屏蔽了底层复杂的关联关系。
我们还可以查看视图的元数据信息,调取视图原始的查询定义,核对视图内部的业务逻辑是否符合需求。
数据表查询是直接读取磁盘上已经持久化存储好的数据,查询速度相对固定;视图查询是动态拼接SQL再执行,基表的数据一旦发生变化,视图下一次查询结果会自动刷新,永远是最新数据,而数据表的数据不会自动变化,必须手动执行更新操作才会改动。



三、6.2 操作视图

6.2.1 通过视图操作数据

只有简单视图支持增、删、改的数据操作,复杂视图不允许修改数据。对视图执行的数据操作,并不会修改视图本身,所有的新增、更新、删除动作都会映射到底层的基表上,直接修改基表里面真实存储的数据。
对比数据表的数据更新:数据表可以无条件直接对自身数据进行增删改,修改之后永久保存在磁盘;视图的数据修改存在严格限制,并且所有修改最终作用于基表,视图自身只保存查询语句,不存在可以修改的数据。

6.2.2 修改视图定义

修改视图定义,本质是重写视图内部封装的查询语句,可以调整视图的字段、筛选条件、关联的基表。修改视图只会改变查询逻辑,完全不会影响基表的表结构和里面存储的数据。
对比数据表的修改:数据表的修改分为修改表结构和修改表数据,修改表结构会直接改动物理存储的表设计,修改数据会永久改变磁盘内容,会对整个数据库产生实质性影响;修改视图属于纯逻辑层面的调整,无任何物理层面的改动。

6.2.3 删除视图

删除视图只会清除数据库中保存的视图定义语句,仅仅销毁视图这个逻辑对象,底层所有基表的结构、数据完全不受任何影响,不会造成数据丢失。
对比数据表的删除:删除数据表会直接销毁磁盘上的表结构,清空全部物理存储的数据,表关联的索引、外键、依赖视图全部都会失效,一旦删除无备份就无法恢复,破坏性极强;删除视图没有任何数据风险,只移除一条查询逻辑。

四、三大实训业务理解

1. 商业实例:Petstore数据视图
任务1创建与查询视图:围绕宠物商店的商品、订单、库存业务,把商品表和订单表的联查逻辑封装成视图,简化后台日常业务查询。
任务2操作视图:根据业务需求修改视图的筛选条件,淘汰废弃的旧视图,练习视图定义的修改与删除。
2. 综合实训:LibraryDB数据视图
以图书馆业务为背景,围绕读者、图书、借阅记录三张核心表,常用视图有逾期借阅视图、热门图书统计视图,用于图书馆的日常运营管理,适合练习多表构成的复杂视图。
3. 实战演练:SchoolDB数据视图
以学校数据库为场景,包含学生、班级、成绩表,主要用来创建学生成绩视图、不及格学生筛选视图,是学习视图最经典的实训案例,非常适合巩固简单视图的增删改知识点。

五、数据表与视图核心对比总结(作业重点要求)

1. 创建对比
数据表:定义物理存储结构,设置字段、约束,分配磁盘存储空间,需要插入数据才有内容。
视图:定义查询逻辑,只编写查询语句,无物理存储,不需要插入数据,数据全部依赖基表。
2. 更新对比
数据表:可以直接修改表结构、修改表内存储的数据,改动永久落地在磁盘,不受其他对象约束。
视图:只能修改内部查询定义,不会影响基表结构;仅简单视图可以操作数据,所有数据修改都会同步给基表,复杂视图只允许查询。
3. 删除对比
数据表:删除会销毁表结构,清空全部物理数据,连带所有依赖对象失效,存在数据丢失风险。
视图:删除仅移除查询语句定义,基表数据和结构毫不受影响,不存在任何数据安全问题。

六、单元小结

数据表是数据库的物理根基,负责持久化存储业务原始数据;视图是上层逻辑封装对象,只用来简化查询、保障数据安全、统一业务口径。二者在创建、更新、删除的底层原理、执行效果、影响范围有着根本性区别。合理利用视图可以优化数据库架构,减少重复开发工作,也是数据库开发中必须熟练掌握的核心知识点。

http://www.jsqmd.com/news/1132231/

相关文章:

  • 实验七:自媒体运营分析-数据清洗与预处理
  • 涩谷是全球最繁忙的十字路口
  • RAG + Prompt Engineering + 向量数据库:AI 应用开发三件套
  • NSK UPFC 2040-1 极速精密滚珠丝杠详述
  • 项目版本管理的最佳实践:云效飞流Flow篇
  • 2026 年选购好口碑梳子攻略:探秘宣城泾县非遗木梳传统工艺
  • XSS-Labs通关秘籍:7种花式绕过技巧与实战解析
  • 要不要弃坑 Cursor?一个重度用户的真实纠结
  • 2026实测|Cursor、Claude Code、DeepSeek-TUI到底哪个好用?
  • AI Agent开发实战指南:从概念到落地,手把手构建智能体应用
  • 企业级Agentic AI实战指南:架构、RAG与成本优化
  • 提示词工程实战指南:从核心要素到RAG金融问答机器人构建
  • 从提示词工程到技能工程:Agent Skill开发实战指南
  • 拒绝“月半”体质!在家练出高级感,我的自律养成方案
  • 《智人之上》第一章「信息是什么」读后总结
  • 相机拓扑全局关联建模,CameraGraph 实现视频孪生全域目标无缝接力追踪
  • 从OpenMontage到AI工作流:GitHub趋势揭示的Agent与自动化新范式
  • 小龙虾本地AI安装,开源智能体环境搭建全流程
  • 2024年全国外贸工艺品资讯公司选购指南:3招帮你挑对靠谱公司
  • UDS 29服务实战:CANoe 16.0配置PKI证书实现双向认证3步验证
  • Planetoid 数据集 PyG 2.6.0 加载实战:Cora/CiteSeer/PubMed 3 种分割方式对比
  • 解决Windows无法在微软商店安装CodeX问题
  • MySQL Installer 8.0.46下载安装
  • 【硬核干货】透彻理解相机标定:从底磁数学推导到 OpenCV 完整落地实现方案
  • 两轮BMS 电源模式管理 (PMM) 详解
  • DraftPaper_Loop:基于AI Agent的论文写作工作流,从Idea到草稿的自动化实践
  • 整体难度属于工科天花板
  • AIGEO优化企业那个公司好
  • 固定资产管理不再琐碎:智慧系统如何化繁为简
  • 2026年如何选择大模型:一份基于真实价格的实战指南