不确定如何问这个问题,因为我想不起来最能描述我想要什么的术语,但我会试一试。
我需要一种机制,使人可以这样:假设A和B,需要采取什么步骤才能使我到达那里。
这将在Oracle db领域中使用,在该领域中,一个数据点是已知的,并且需要一个数据点,但是没有一个数据点到另一个数据点的路径,因此目标是使这种机制提供映射。您知道的,从中选择,然后...等等。
这有意义吗?显然不是。让我尝试一个例子。...
在db中具有多个表的组织,其中相似的数据出现在不同的表中,但通常具有不同的字段/列名称。
我希望能够回答这个问题...
我的数据值为“ A”,而我的数据值为“ B”。答案将类似于...
从...的位置选择*。 然后, 选择*从哪里... 然后, 选择*从
问题又是,数据存在于多个表中,但是要获得我想要的内容,我需要使用不同的字段(或联接等)进行多次选择。
我正在寻找的基本上是一个工具,该工具将提供映射(使用SQL)以获取我想要的东西。
答案 0 :(得分:0)
理想情况下,我们的数据库架构是不言自明的。使用周到的表名和列名有助于使模式更有用。拥有一个良好的开发过程以实现重构,可以帮助我们保持架构的健全。
当名称不够用时,我们可以在表和列上使用COMMENTs来帮助解释它们的含义。许多IDE会自动检索注释并将其显示在结果网格中。外键和检查约束也可以用来帮助我们了解数据中的关系。
数据字典包含有关架构的信息,可用于帮助我们推理对象。例如:
select * from dba_tab_cols;
select * from dba_tab_comments;
select * from dba_col_comments;
select * from dba_constraints;
某些组织使用建模工具来创建表和列的图表,并包含“逻辑”名称。以我的经验,这些资源没有与数据库保持同步,也无济于事。
最后,如果上述还不够,我们可以在表的顶部创建逻辑视图层。 SQL是一种高级的类英语语言,是描述对象之间关系的好方法。
如果使用的系统之一的列名被命名为C00,C01,C02,并且不允许创建视图,那么我从来没有见过解决该问题的好方法。每个人都在受苦,希望下次能上课,并创建一个更有意义的模式。