希赛考试网
首页 > 软考 > 软件设计师

视图是外模式还是内模式

希赛网 2024-06-21 08:07:20

视图是数据库中的一种重要元素,用来描述对数据的不同逻辑划分。而从模式的角度来看,视图既可以被看作是外模式,也可以被看作是内模式。那么,视图到底是属于外模式还是内模式呢?本文将从多个角度进行分析。

一、模式的概念

在谈论视图是外模式还是内模式时,需要先了解模式的概念。模式是数据库中描述数据结构和数据类型的固定格式和规范。它包括三个级别:外模式、概念模式和内模式。

1. 外模式

外模式又称用户模式,是对用户而言最接近的数据表示方式。一个数据库系统可以为不同的用户或用户组建立不同的外模式,以满足用户的不同需求。外模式是一个三元组:(用户模式名,外模式映像,认证信息)。

2. 概念模式

概念模式是数据库系统的全局逻辑表示,是数据模型的核心。它是从全局角度描述数据库中数据相关信息的,能够反映出数据之间的关系。其本质是对实际世界的抽象。概念模式是一个四元组:(模式名,概念模式图,区间限制,认证信息)。

3. 内模式

内模式是数据库中最低层次的数据表示方法,它描述的是数据在物理存储介质上的结构和方式。内模式是一个五元组:(模式名,内模式图,存储方式,存储地址,认证信息)。

二、视图

视图是从数据库中的表中推导出来的逻辑表,它并不真实存在于数据库中,也没有实际的物理存储结构。因此,视图既可以被看作是外模式,也可以被看作是内模式。

1. 视图是外模式

从视图作为用户接口的角度来看,视图被归类为外模式。因为视图是用户通过数据库管理系统所能看到的数据,相当于是用户对数据库的一个“抽象”,也即是说,视图代表了用户对特定表的一种外模式。

2. 视图是内模式

从数据实际存储的角度来看,视图是内模式。视图是在查询时动态生成的,不存在实际的物理存储结构。但是,在动态生成的过程中,视图还是需要决定数据库中对应表的参照关系、存储方案、数据类型等信息。

三、引入视图的目的

引入视图的主要目的是为了数据的简化和保护。视图使数据访问变得更为简单和直观,并且提高了数据的安全性。下面分别从数据的简化和保护两个角度来说明引入视图的目的。

1. 数据的简化

在某些情况下,我们只需要查看数据中某些列的内容,而忽略其他列。此时,如果要查看整个表,就需要浪费宝贵的时间和资源。这时,引入视图就可以使数据更加简单,命令更加直观,并且能够减少错误的出现。举个例子,一个视图可能只包含员工的名字、雇佣日期、地址列,但不包含身份证号码。

2. 数据的保护

在某些情况下,我们需要确保敏感数据不被其它用户所看到。比如,财务部门可以查看整个薪水表,但其他部门仅可以查看雇员的名字和地址。这时,引入视图就可以通过限制用户的权限以保护敏感数据。

四、结论

综上所述,不同的角度会得到不同的答案。但是,从引入视图的目的来看,可以认为视图更类似于外模式。因为,视图的目的在于简化数据、保护数据等方面,而这些都是外模式的特性。同时,从数据实际存储的角度来看,视图的确是内模式。但是,视图不是从实际表中生成的,而是动态生成的虚拟表。因此,总体而言,视图被归类为外模式。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件