视图在数据库中存放在哪里
-
视图(View)在数据库中通常以元数据的形式存放在系统表中。这些系统表记录了数据库中的所有对象,包括表、索引、触发器、存储过程以及视图等。不同的数据库管理系统会有不同的系统表结构和存储方式。
-
MySQL:在MySQL中,视图的定义以及相关的元数据信息存放在
information_schema数据库中的VIEWS表中。这个表记录了所有视图的信息,包括视图的名称、所属的数据库、视图的定义语句等。 -
SQL Server:在SQL Server中,视图的定义存放在系统数据库
master的sys.objects、sys.sql_modules和INFORMATION_SCHEMA.VIEWS等系统视图中,这些视图包含了对数据库中所有对象的元数据信息。 -
Oracle:在Oracle数据库中,视图的定义以及相关的元数据信息存放在系统表
ALL_VIEWS中。此表包含了所有用户视图的信息,例如视图的名称、所属的用户、视图的定义语句等。 -
PostgreSQL:在PostgreSQL中,视图的定义以及相关的元数据信息存放在系统表
information_schema.views中。这个表记录了所有视图的信息,包括视图的名称、所属的模式、视图的定义语句等。 -
SQLite:在SQLite中,视图的相关信息存放在
sqlite_master表中,这个表记录了数据库中的所有对象,包括表、视图等的定义语句及元数据信息。
总的来说,不同的数据库管理系统都提供了一种机制来存储视图的元数据信息,以便于数据库在查询和管理视图时能够准确地获取视图的定义以及相关信息。
1年前 -
-
在数据库中,视图是一个虚拟的表,它基于一个或多个实际表的查询结果动态生成。视图并不在数据库中实际存储数据,而是在每次查询时根据视图的定义动态生成结果集。在存储视图的时候,实际上只是存储了视图的定义,不存储实际数据。
视图所存放的位置可以理解为在数据库的元数据中。数据库管理系统会将视图的定义存储在系统表中,用于在用户查询时进行解析和执行。在不同的数据库管理系统中,存放视图定义的系统表可能有所不同。
一般来说,视图的定义包括视图的名称、查询语句、列名、列的数据类型等信息。这些信息存储在数据库中的系统表中,以便在需要的时候能够快速地生成视图的结果集。
当用户查询视图时,数据库管理系统会解析视图的定义,将其转换为对实际表的查询,然后返回结果给用户。由于视图的存在,用户可以通过对视图的操作来简化复杂查询、隐藏表结构、保护数据等。
1年前 -
在数据库中,视图是存放在系统目录中的。视图是基于数据库中表的查询结果集,其本质上是虚拟的表。数据库系统会保留视图的定义,但不会在数据库中实际存储视图生成的数据,而是在需要时动态地基于其定义查询对应的数据。
下面将从不同的数据库系统角度来介绍视图是如何存放的。
MySQL数据库中的存放位置
在MySQL数据库中,视图的元数据和定义存储在
information_schema数据库的VIEWS表中。实际的数据并不会被物理存储,而是在查询视图的时候,系统会根据视图的定义去检索和返回相关的数据。SQL Server数据库中的存放位置
在SQL Server数据库中,视图的定义和元数据信息存储在
sys.views系统视图中。实际的数据并不独立存储,而是在执行视图查询时实时生成。Oracle数据库中的存放位置
在Oracle数据库中,视图的元数据和定义也被存储在系统的数据字典中,而实际的数据并不物理存储在数据库中。当执行视图查询时,数据库会基于视图的定义动态地检索和返回相关的数据。
PostgreSQL数据库中的存放位置
在PostgreSQL数据库中,视图的定义和元数据存储在
information_schema.views中。和其他数据库类似,实际的数据并不会物理存储,而是在需要时根据视图的定义动态地生成和返回相关的数据。综上所述,不同数据库系统中的视图都是存储在系统目录或数据字典中的,而实际的数据并不会被物理存储,而是在需要时根据视图的定义动态地生成和返回。
1年前


