【发布时间】:2010-07-01 21:20:10
【问题描述】:
我正在研究在 Oracle 上使用 JBoss 5.1.0GA,并且已经看到 this,警告我应该明确说明应该在其中创建 TIMERS 表的架构名称,因为 Oracle 不允许这样做表名被使用两次,甚至跨模式。
读完后,我在 StackOverflow 上看到了this question,想了解一下 Oracle 中对象的层次结构。
假设我们有一个 Oracle 数据库服务器。在此,我们创建了两个数据库 - D1 和 D2。在每个数据库中,我们创建两个模式 - S1 和 S2。在每个数据库的每个模式中,我们创建一个表 - T1 到 T4:
+-D1
| +---S1
| | +---T1
| +---S2
| +---T2
+-D2
+---S1
| +---T3
+---S2
+---T4
我是否正确地认为,如果我在 D1/S2 中添加另一个名为 T1 的表,它将不起作用,因为表名在模式中必须是唯一的,并且 T1 已经存在于 D1/S1 中,但是如果我添加T1 到 D2/S1 或 D2/S2 都可以,因为名为 T1 的两个表在不同的数据库中?
我有一种讨厌的感觉,我对 Oracle 模式的理解存在缺陷(它不是我以前经常使用的数据库),所以如果我问了愚蠢的问题,我很抱歉。
提前致谢
丰富
【问题讨论】:
标签: sql oracle database-design