(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Создание представления через модуль знаний (Create View IKM)

Источник: deepedit
deepedit

God aften!
Представления (или, как их еще называют - вьюхи) очень важны, иногда они являются непосредственным воплощением ETL процесса. Например, на этапе загрузки данных из источников вполне вероятно использование представлений для простейших преобразований данных.
Нельзя сказать, что такое важное значение представлений никак не отражено в фольклоре. Как поет фронтмен группы ETaLlica - James_PK_Head_Field:
I am the View
I am the Table(t).
I am the View, I am the Table(t).
Даже из этого отрывка ясно, что представления многими ставятся на одно из первых мест.
В ODI есть возможность создания таблиц, например, с помошью опций модулей знаний можно создавать временную таблицу, но нет модуля знаний для создания представлений.
Из своего опыта, я хотел бы отметить две возможных задачи, которые периодически возникают при разработке ETL проектов. Первая задача - иметь возможность отслеживать пути происхождения данных, иногда это называется lineage, если в этой цепочке есть представления. И вторая задача - создание объектов БД при развертывании на промышленном сервере или в новой схеме БД при разработке.
В случае создания таблиц можно воспользоваться механизмами Конструктора Моделей. Код представлений также можно хранить в виде процедур по их созданию, но существует более подходящий вариант.
На одном из проектов я увидел, что существует специальный модуль знаний, для создания представлений. Этот модуль использовался при моделировании представления через интерфейс ODI. Я уточнил у коллег, оказалось, что этот модуль знаний не поставляется вместе с ODI, т.е. является самописным.
Итак, как же получить такой модуль знаний из того, что уже есть? На самом деле, совсем просто. Стандартный модуль знаний для загрузки данных из Oracle в Oracle имеет необходимый нам кусок. Смотрите, LKM Oracle to Oracle (DBLINK) работает, в упрощенном изложении, по следующему алгоритму:
    1. Удалить dblink на целевой БД.
    2. Создать dblink на целевой БД.
    3. Создать представление/таблицу на источнике.
    4. Создать синоним на результат пункта 3 в целевой БД.
    5. Далее работает интеграционный модуль знаний.
    6. Удалить созданное в пунктах 4, 3, 2.
      Таким образом все, что необходимо сделать для создания нового модуля знаний для создания представлений, это небольшая модификация уже существующего кода из другого модуля знаний, штатно поставляемого с ODI.
          Вот этот код:
            create or replace view <%=odiRef.getTable("L", "TARG_NAME", "D")%>
              (
                  <%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>
                  )
                    as select <%=odiRef.getPop("DISTINCT_ROWS")%>
                        <%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>
                        from  <%=odiRef.getFrom()%>
                          where  (1=1)
                            <%=odiRef.getFilter()%>
                              <%=odiRef.getJrnFilter()%>
                                <%=odiRef.getJoin()%>
                                  <%=odiRef.getGrpBy()%>
                                    <%=odiRef.getHaving()%>
                                        Если я ничего не забыл, код, по сравнению с оригинальным вариантом, измененился только в плане передаваемых команде getTable параметров.
                                            Создайте новый интеграционный модуль знаний и поместите приведенный код в единственный шаг этого IKM на вкладку Command on Target
                                                Выглядеть будет примерно так:
                                                        И, как результат, при просмотре через модель ветки Populated By, будут видны таблицы или представления, которые загружают данное представление:
                                                                Таким образом, в полном согласии с заветами, мы начали с существующего кода в поставляемом модуле знаний и модифицировали его для наших нужд.

                                                                Ссылки по теме


                                                                 Распечатать »
                                                                 Правила публикации »
                                                                  Обсудить материал в конференции Oracle »
                                                                Написать редактору 
                                                                 Рекомендовать » Дата публикации: 25.06.2012 
                                                                 

                                                                Магазин программного обеспечения   WWW.ITSHOP.RU
                                                                Oracle Database Standard Edition 2 Processor License
                                                                Oracle Database Personal Edition Named User Plus License
                                                                Oracle Database Standard Edition 2 Named User Plus License
                                                                Oracle Database Personal Edition Named User Plus Software Update License & Support
                                                                Zend Studio Commercial License 1 Year Free Upgrades
                                                                 
                                                                Другие предложения...
                                                                 
                                                                Курсы обучения   WWW.ITSHOP.RU
                                                                 
                                                                Другие предложения...
                                                                 
                                                                Магазин сертификационных экзаменов   WWW.ITSHOP.RU
                                                                 
                                                                Другие предложения...
                                                                 
                                                                3D Принтеры | 3D Печать   WWW.ITSHOP.RU
                                                                 
                                                                Другие предложения...
                                                                 
                                                                Новости по теме
                                                                 
                                                                Рассылки Subscribe.ru
                                                                Информационные технологии: CASE, RAD, ERP, OLAP
                                                                Безопасность компьютерных сетей и защита информации
                                                                Новости ITShop.ru - ПО, книги, документация, курсы обучения
                                                                Программирование на Microsoft Access
                                                                CASE-технологии
                                                                СУБД Oracle "с нуля"
                                                                Новые материалы
                                                                 
                                                                Статьи по теме
                                                                 
                                                                Новинки каталога Download
                                                                 
                                                                Исходники
                                                                 
                                                                Документация
                                                                 
                                                                Обсуждения в форумах
                                                                Access, Ключевое поле, Счетчик (10)
                                                                Подскажите пожалуйста, как изменить в Access в ключевом поле (счетчик последовательно),...
                                                                 
                                                                Решение задач на оптимизацию с помощью MS Excel (4)
                                                                Zdravstvuyte, ya pro4itala danniy material, no ne smogla ponat kakie formuli ispolzovalis v...
                                                                 
                                                                Отличается ли ДрифтКазино от беттинга? (4)
                                                                Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
                                                                 
                                                                Сайт инструмент (1)
                                                                Я бывший программист пользовался 1 сайтом проверенным он мне действительно помог я блогодоря...
                                                                 
                                                                Где взять лицензионный ключ для AllFusion Process Modeler (BPwin) 7? (5)
                                                                Выручайте!!! где найти ключ, ужасно срочно нужна программа. заранее спасибо!
                                                                 
                                                                 
                                                                 



                                                                    
                                                                rambler's top100 Rambler's Top100