DQ这样设计,是从各个厂商数据库结构差异性出发,TDQ 提供一个统一的三层架构来处理所有数据库,即:
CONNECTION
对于有些数据库,比如MYSQL是没有SCHEMA层级的,ORACLE没有CATALOG层级,所以对于各自的catalog
analysis和schema
analysis分析是相同的结果,但是对于MSSQL,DB2等包含三层结构的数据库,他们分析的结果是不相同的。
From zqin @Talend中文论坛
http://www./forum.php?mod=viewthread&tid=311&extra=page=1
由此而来的呢,就是对于数据库中这种设计的说明:
Catalog和Schema都属于抽象概念,作为数据库对象命名空间中的一个层次,他们的存在主要是解决命名冲突的问题。这么说,一个DB
Connectiong就可以确定一个DB,一个DB包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等)。这样我们就可以通过限定Catalog和Schema的名称从而解决命名冲突的问题了。数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。
各种数据库系统对Catalog和Schema的支持和实现方式是不同的,比较简单而常用的实现方式是使用数据库名作为Catalog名,使用用户名作为Schema名,具体可参见下表:
最后来澄清下Schema。在数据库建模中,它的概念是用来描述数据库结构的语言。而在命名空间中,Schema则是一组数据库对象的集合。
|
|