在查询信息架构之前是否存在信息架构



在SQL数据库中,我可以运行查询来呈现现有信息,并且可以创建以前不存在的数据的新编译。

例如,SELECT * FROM Table1将返回已经存在的信息,而一系列嵌套联接和 WHERE 语句可以以运行查询之前不存在的方式呈现数据。

我的问题是,数据库的信息模式——假设它以前从未被拉出过——是否属于第一类或第二类。

信息架构视图查询数据库中已存在的系统表。您可以将自己控制为sys.tables等,这些表在SQL服务器中称为目录视图。因此,在您的问题中,使用这些视图属于第二种用法。以不同的方式使用现有数据。

INFORMATION_SCHEMA中的所有内容都只是系统表上的视图。因此,您的问题的答案是数据一直存在(因为数据库中的每个对象在系统表中的某处都有一行或多行表示它),并且它是在查询时生成以供查看的乐趣(以INFORMATION_SCHEMA所需的形式呈现它)。

请注意,即使是我们通常所说的"系统表"(sys.tables和相关表)也只是对真实的、实际的物理系统表的视图,任何用户都无法访问这些表,而只能由数据库引擎本身访问 - 直接查看这些表需要直接的管理员连接和调整一些标志,并且通常不是由SQL Server开发人员以外的任何人完成的操作。

至于这在《信息自由法》的背景下意味着什么,可能最好在法律环境中回答,而不是在信息理论环境中回答。

相关内容

最新更新