使用Oracle SQL Data Modeler实现物化视图的主键

时间:2018-01-16 07:19:34

标签: oracle constraints materialized-views oracle-data-modeler

我们正在使用Oracle SQL Data Modeler来创建新的数据库。实际上,我们需要在新的db模式中创建物化视图,以便从另一个模式中提供一些主数据。使用Data Modeler创建MV是没有问题的,但我们想在mv上创建一个主键来使用外键。有了这个约束,我们希望确保数据的完整性。如果我们手动创建整个结构,那么如果我们将其合并到建模器的设计中,我们也会看到主键。但是,如果我们将模型与另一个模式(Testenviroment)进行比较,那么只会创建一个唯一的索引并且缺少主键。

我们尝试使用脚本属性创建主键,但该语句不会出现在脚本中。

处理这些问题的任何想法?

我的步骤: 1.我创建了MV和主键

CREATE MATERIALIZED VIEW MV_TEST ( TEST_ID , NAME , DESCRIPTION , COUNTRY_ID , COUNTRY_NAME  ) 
NEVER REFRESH 
AS SELECT
    B.TEST_ID,
    B.NAME,
    B.DESCRIPTION,
    C.COUNTRY_ID,
    C.COUNTRY_NAME
FROM
    TEST@TESTDB B,
    COUNTRY@TESTDB C
WHERE B.COUNTRY_ID = C.COUNTRY_ID;


ALTER TABLE MV_TEST
ADD CONSTRAINT MV_TEST_PK PRIMARY KEY ( TEST_ID );
  1. 我将db结构合并到我的数据模型中(Oracle SQL Data Modeler) 并查看模具MV,主键和使用主键创建的唯一索引。
  2. 我删除MV或连接到没有这些mv的模式,并将我的comlete模型与db模式进行比较,只获得带有模具MV和死亡唯一索引的脚本
  3. 尝试将主键的sql放入“脚本结束”或“创建后”脚本属性,但它不会出现在我的合并脚本中。

0 个答案:

没有答案