我有一组根据基础表结构创建的Oracle数据视图。
现在我想用它们的关系直观地表示这些视图,就像表关系(外键)一样。我只想为数据视图创建一个模型,指出它们与其他数据视图的关系。
使用Oracle SQL Developer有什么办法吗?还是其他一些工具?
答案 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来实现实体之间的关系。它只是免费软件。
http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html