你如何确定基表?

时间:2011-04-21 18:11:03

标签: database database-design theory database-table

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

如果我获得了一组表,是否有办法通过查看它们来确定基表?

5 个答案:

答案 0 :(得分:6)

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

基础和派生关系以这种方式相似的原理有时被称为可互换原理。

实际上,我很惊讶这里有很多关于你的问题的困惑,并且惊讶于你的问题被低估了。基表/关系是关系数据库理论和SQL标准中非常常见的术语。你的问题看起来非常简洁,对我而言。

答案 1 :(得分:1)

根据IBM here,大多数人都会将基表理解为“数据库表”,换句话说就是实际的表本身。

但我不得不说你的问题有点像“量子理论” - 如果按照字面意思“只是看着它们”......对不起我不得不笑,因为我发现自己对这个问题感到头疼。 / p>

如果我认为你的意思是“只是通过查询他们”,那么你必须已经知道表名来编写你的查询。再一次鸡肉和鸡蛋。

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

我只是想到了一些有点宇宙的东西:如果你暗示在数据库系统安装开始时必须至少有一个数据库表,那就是你所谓的“基础”表那个你在寻找,我知道无法确定这是一般理论命题。那里会有比我更好的人来回答那个......

......或许不是。

答案 2 :(得分:0)

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

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

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

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

答案 3 :(得分:0)

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

经过一些谷歌搜索后,任何人都在讨论“基表”的唯一情况,似乎是在描述视图所依赖的物理表时。

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

答案 4 :(得分:0)

如果你在基表上谈论从表继承,那么你可以通过统一基表中的公共表字段来实现。

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

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