热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

数据库视图

一、了解视图在增删改查数据的过程中我们很多情况会用到视图,那为什么要使用视图,他有什么好处呢?在设计表的时候,需要考虑到数据的冗余,数据的一致性问题,通常对数据表设计要满足范式的要求,这也就造成了我们的需要的数据分布在不同的表中,如果不使用视图,

一、了解视图 在增删改查数据的过程中我们很多情况会用到视图,那为什么要使用视图,他有什么好处呢? 在设计表的时候,需要考虑到数据的冗余,数据的一致性问题,通常对数据表设计要满足范式的要求,这也就造成了我们的需要的数据分布在不同的表中,如果不使用视图,

一、了解视图

在增删改查数据的过程中我们很多情况会用到视图,那为什么要使用视图,他有什么好处呢?

在设计表的时候,需要考虑到数据的冗余,数据的一致性问题,通常对数据表设计要满足范式的要求,这也就造成了我们的需要的数据分布在不同的表中,如果不使用视图,我们就需要在代码中查询多个表,来查找需要的数据.

其实视图就是我们对基表整合后形成的满足我们需求的虚拟表,尽管视图不是表。视图是数据库的对象,为用户提供了一种检索数据表的方式,保存的是对一个表或者多个表(视图)的查询定义。视图定义后就保存在了数据库中,视图是基于基本表的,所以如果基本表发生了变化,视图中所涉及的信息也会随之变化,他们之间的关系式相互的。

二、视图的优点:

1简化查询语句:

通过视图可以将复杂的查询语句变得简单,利用视图用户不必了解数据库及实际表的结构,方便使用和管理数据。

2增加可读性:

在视图中可以只显示有用的字段,并且可以使用字段别名,方便用户查询结果。视图可以让不同的用户以不同的方式看同一个数据集的内容,体现数据库的个性化要求。

3保证数据逻辑独立性:

视图也是数据库对外的一种方式,如果数据表的结构发生了变化,只需要改变视图的查询语句即可,不必改变程序,感觉视图就像接口一样,这样使程序对数据库的操作更加灵活。

4增加数据的安全性和保密性

针对不同的用户,可以创建不同的视图,此时的用户只能查看和修改其所能看到的视图中的数据,而真正的数据表中的数据甚至连数据表都是不可见不可访问的。

三、创建视图

1使用对象管理器创建

(1)在对象资源管理器中右击数据库Charge下的视图

(2)添加与视图中字段相关的表

(3)选择需要的字段,也可以为他们创建别名。

2使用T-SQL语句创建视图

基本语法:

create view <视图名>[(<列名>[,<列名>]…)]

as <子查询>

例子:在student库中为学生表创建视图,通过该视图,可以查询“专业代码”为“0101”的所以学生的姓名和学号

create view view1

as

select 学号,姓名

form dbo.学生

where (专业代码='0101')

数据视图的最大功能是为用户使用数据带来的安全性。在用户创建视图时可以将敏感数据隐藏,只显示用户感兴趣的字段。利用视图只能查询和修改视图本身所能包含的数据。


推荐阅读
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • SQL查询与事务管理:深入解析
    本文详细介绍了SQL查询的基本结构和高级特性,包括选择、分组查询以及权限控制等内容,并探讨了事务管理中的并发控制策略,旨在为数据库管理员和开发人员提供实用指导。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 面对众多的数据分析工具,如何选择最适合自己的那一个?对于初学者而言,了解并掌握几种核心工具是快速入门的关键。本文将从数据处理的不同阶段出发,推荐三种广泛使用的数据分析工具。 ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • 本文详细介绍了如何使用SQL*Plus连接Oracle数据库以及使用MySQL客户端连接MySQL数据库的方法,包括基本命令和具体操作步骤。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文探讨了如何在SQL Server Reporting Services (SSRS)中利用TOP N功能来筛选和展示数据集中的前N条记录。通过正确的配置图表属性中的筛选器设置,可以轻松实现这一目标。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的Redo Log和Undo Log,探讨了它们的工作原理、存储方式及其在事务处理中的关键作用。 ... [详细]
author-avatar
安安1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有