5

我的问题与数据库理论有关。

如果给我一组表,有没有办法通过查看它们来确定基表?

4

5 回答 5

7

关系模型的一个原则是在基表(基本关系)和派生表(又名虚拟关系或“视图”)之间没有不必要的区别。这两种类型都有属性、键和所有其他你期望关系的特性,并且两者都可以以相同的方式使用。作为一个实际的实现问题,DBMS 软件有必要提供一些方法来区分它们,但从逻辑上讲它们是相同的。

基本关系和派生关系以这种方式相似的原则有时被称为互换性原则。

实际上,我很惊讶这里对您的问题有这么多的困惑,并且很惊讶您的问题被否决了。基表/关系是关系数据库理论和 SQL 标准中非常常见的术语。你的问题对我来说似乎非常简洁。

于 2011-04-21T20:29:08.967 回答
1

免责声明:我以前从未听说过“基表”

经过一番谷歌搜索,任何人都在谈论“基表”的唯一实例似乎是在描述视图所依赖的物理表时。

基于此,我会说所有表都是基表,临时表可能除外。

于 2011-04-21T18:28:18.357 回答
1

根据 IBM说法,基本表是大多数人所理解的“数据库表”,换句话说就是实际的表本身。

但我不得不说你的问题有点像“量子理论”——如果从字面上看“只看它们”……对不起,我不得不笑,因为我发现自己对此感到头疼。

如果我假设您的意思是“仅通过查询它们”,那么您必须已经知道表名才能编写查询。再一次有点鸡和蛋。

也许您想知道是否有一个表包含所有数据库表的列表?这取决于您正在使用的数据库系统,有时还取决于哪些应用程序。以 SAP 为例。它可能使用 Oracle 数据库系统,并创建一个数据库表,其中包含所有 SAP 生成的表的列表。您可以将其视为基表,因为它不会比自身更进一步。

我只是想到了一些其他的东西:如果您暗示在安装数据库系统的开始时必须至少有一个数据库表,那就是您所说的“基本”表寻找,我知道没有办法确定作为一个一般的理论命题。那里会有比我更好的人来回答这个问题......

...或者可能不是。

于 2011-04-21T18:44:29.333 回答
0

我假设您的意思是从视图中告诉常规表。

这取决于你的意思,“看着他们”。

如果你的意思是只看数据,那么没有。

如果您的意思是查看创建表的脚本,那么可以。此外,如果您的意思是浏览 SQL Server Management Studio 之类的东西,那么再次是的,因为它们将表和视图分成不同的文件夹。

于 2011-04-21T18:21:13.480 回答
0

如果通过基表您正在谈论从表继承,那么是的,您可以通过统一基表中的公共表字段。

例如:基表:用户(名称)使用表继承的表用户:管理员、成员等。

但是不要对这种继承感到困惑,它只复制字段,没有别的,它不是面向对象的东西。

于 2011-04-21T18:30:01.167 回答