четверг, 20 сентября 2018 г.

Функции c within group в СУБД Oracle

Функции c within group бывают агрегатные и аналитические, а объединяет их то, что для вычисления результата они нуждаются в упорядоченной последовательности входных значений. Именно упорядочивание входных значений и задается с помощью within group (order by ...).

вторник, 14 августа 2018 г.

Захват и обработка изменений в БД Oracle (at_delta)

Ранее я рассказывал о том, как получить изменения данных в исходных таблицах за период с помощью операции MINUS.

Однако, есть ряд сценариев, когда необходимо обрабатывать изменения оперативно или в реальном времени. Это может быть нужно для немедленной передачи изменений удаленному клиенту, или для отправки уведомлений об изменениях заинтересованным лицам по электронной почте, или для отправки документа по назначению при изменении его статуса. В этом случае наиболее универсальным средством захвата изменений будет триггер на исходной таблице, записывающий изменения в таблицу изменений.

понедельник, 23 июля 2018 г.

Библиотека atop-plsql для разработки в СУБД Oracle

Недавно я оформил и выложил на GitHub "труд долгих лет" atop-plsql - набор PL/SQL пакетов и сопутствующих им типов, таблиц и некоторых других объектов схемы БД.

Эти пакеты развивались и использовались в течение нескольких лет для разработки на их основе конечных решений в СУБД Oracle 11gR2.

суббота, 14 апреля 2018 г.

Работа с последовательностями в Python 3

Ниже обзор возможностей и приемов работы с последовательностями в Python 3, включая следующие темы (но не ограничиваясь ими):

  • задание последовательностей,
  • доступ к элементам последовательности для чтения и изменения,
  • методы, общие для последовательностей,
  • преобразования последовательностей,
  • агрегирование элементов последовательности.

понедельник, 26 февраля 2018 г.

Статистические функции в Oracle 11g, часть II

В части I было показано, как с помощью функций Oracle 11g получить статистические характеристики выборки, а именно:

  • центральные тенденции: среднее арифметическое, медиану, моду и середину диапазона,
  • характеристики разброса: дисперсию, среднеквадратичное отклонение, межквартильный диапазон и диапазон выборки.

Также с помощью запросов SQL были построены столбцовая диаграмма и гистограмма для номинальных и числовых данных.

Сегодня с помощью функций Oracle поиграем с нормальным распределением.

среда, 10 января 2018 г.

Копирование объектов в Python

В прошлый раз я рассмотрел, как работает присваивание в Python. Как выяснилось, присваивание всегда создает новую ссылку на присваиваемый объект и связывает эту ссылку с именем слева от знака присваивания. Аналогично, при передаче значения в вызываемую функцию, с именем параметра связывается новая ссылка на передаваемый объект.

Ни при присваивании, ни при передаче аргументов не происходит копирования объектов.

Как же получить копию объекта в Python?