数据库之“视图”

数据库存储数据是通过表来实现的,其有物理存储空间,也是你数据真正存储的地方。可以通过对表的操作来实现你对数据的操作。

视图其实是物理不存在的,其是通过数据库代码来将一些表中的数据进行一个想要的逻辑结构重新进行整理。可能这样说有点更迷糊。

下面来看看一个截图。

这是一个视图的展开。这个视图是通过两个表重新组合而成的。其中一个是读者信息表和借阅管理表。

如果不通过视图我们可以新建一个表,表中的数据包含上图中所有打勾的内容。虽然可以这样做,但是问题也很明显,我们需要额外的物理存储空间来存储这个表。然后我们对这个表中的数据进行更改的时候不会改变读者信息表和借阅管理表中的数据。如果需要更改数据,需要把这些表全部操作一遍。是不是感觉会比较累啊。

视图可以有效的解决这个问题,视图没有新建表,只是把原来表中的数据成员通过数据库语言按照我们需要的逻辑结构重新组织,而进行操作的时候跟一个表是一样的。

这时候视图会有一个问题,不同表重新组织怎么保证组织的数据对应上。也可能借阅管理中的图书书号跟读者信息中姓名是不对应的。这时视图需要一个连接符,就是两个表中间的那个东东。其表明了对应关系,就是读者信息中的编号要跟借阅管理的读者编号对应上,根据这个对应关系来组织视图中的数据。这也暗示不同表组织成视图的时候,表之间至少要有共同的标识数据,如果没有的,数据库会按照其默认的规则来进行组织。

原文地址:https://www.cnblogs.com/qiaoyanlin/p/6742824.html