显示数据模型中Oracle视图之间的关系

时间:2015-10-08 10:41:07

标签: oracle database-design oracle-sqldeveloper data-visualization data-modeling

我有一组根据基础表结构创建的Oracle数据视图。

现在我想用它们的关系直观地表示这些视图,就像表关系(外键)一样。我只想为数据视图创建一个模型,指出它们与其他数据视图的关系。

使用Oracle SQL Developer有什么办法吗?还是其他一些工具?

2 个答案:

答案 0 :(得分:1)

我们可以在视图上定义主键和外键。这些约束必须是DISABLED NOVALIDATE(即,它们不会强制执行):

create or replace view v_dept 
    (deptno
     , dname
     , constraint vdept_pk primary key (deptno) RELY DISABLE NOVALIDATE
    ) as 
select deptno, dname 
from dept
/

create or replace view v_emp 
    (empno
     , ename
     , job
     , deptno
     , constraint vemp_pk primary key (empno) RELY DISABLE NOVALIDATE
     , constraint vemp_vdept_k foreign key (deptno) 
                    references v_dept(deptno) RELY DISABLE NOVALIDATE
    ) as 
select empno, ename, job, deptno 
from emp
/

这些约束有助于优化器和真人了解我们的物理数据模型。 Why is the Borg pattern better than the Singleton pattern in Python

您不会说您正在使用哪个版本的SQL Dev Data Modeller。视图上的外键关系显示在4.1或更高版本中。 Find out more

如果您使用的是早期版本的SQL Dev Data Modeller,那么您应该升级:)或者,您必须通过在逻辑数据模型中将视图渲染为实体来伪造关系,或者使用其他绘图工具,如Powerpoint或Visio。

答案 1 :(得分:0)

对我来说,我曾使用Oracle Sql Developer Data Modeler来实现实体之间的关系。它只是免费软件。enter image description here

http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html