Читать «Основы проектирования корпоративных систем» онлайн - страница 261
Сергей Викторович Зыков
При взаимодействии с базой данных поддерживаются сложные структуры запросов, в частности вложенные запросы. Запрос может быть задан рекурсивно или как сложная функция, содержащая внутри себя другой запрос. Более того, в серьезных корпоративных системах, таких как Oracle Applications или Oracle Bussiness Suit, и в поддерживающих их СУБД, таких как Oracle Enterprise Server, реализованы расширения традиционного SQL до PL SQL, т. е. до языков, которые дают возможность разрабатывать процедуры. И здесь поддерживается целый ряд важных механизмов, кроме вложенных запросов, в частности режим курсоров, в том числе операция <fetch>, которая обеспечивает динамическую выборку и интерактивное взаимодействие с пользователем по результатам этой выборки. Поддерживаются расширенные операции объединения <union>, когда у нас объединяются результаты нескольких подзапросов с учетом различных условий. Поддерживаются при множественном обновлении записей соединения <join>, как внешние, так и внутренние. Кроме того, достаточно серьезный механизм реализован для обработки исключений, как это видно из примера.
В приведенном примере происходит дублирование ключа, т. е. того атрибута, который изначально должен быть уникальным для каждой таблицы. При этом видно, что используется язык, похожий на C#, с оператором <try> и альтернативами <catch>. Существует большое количество древовидных исключений, напоминающих пространство имен System Exception.NET, и в целом вся обработка похожа на то, что обсуждалось в связи с пространствами. NET и вообще идеологией. NET. Важно, что здесь эта идеология распространяется на случай не просто взаимодействия с базой данных, а некой надстройки над этими базами данных на уровне системы учета планирования и управления корпоративными ресурсами MS Dynamics.
Еще одно важное дополнение – это возможность поддержки большого количества часовых поясов. Это важно, потому что корпорация, будучи территориально распределенной структурой, функционирует в разных странах, на разных континентах. И по статистике «Итера», некоторые из топ-менеджеров проводят до трети своего рабочего времени в воздухе или командировках. Это достаточно много. Поэтому руководителю нужно иметь возможность получить срез оперативной информации по бизнес-деятельности корпорации, отдельных ее структур, компаний, регионов и т. д. применительно к различным часовым поясам и сделать это так, чтобы результирующие данные были актуальными.
В этой связи вводится новый тип данных – DateTime, который:
• имеет новый интерфейс;
• снабжен возможностью не ориентироваться на локальное время машины, на которой, собственно, работает база данных и Dynamics;
• использует UTC. Это французская аббревиатура, на английском она звучит как Coordinated Universal Time. При доступе к базе данных автоматически пересчитывать время на тот регион, из которого производится запрос.