Найти в Дзене
Поддержите автораПеревод на любую сумму
Реляционные базы данных и язык SQL. Понятие триггера. DML-триггеры на языке PLpgSQL
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. В продолжении статей о языке PLpgSQL в PostgreSQL. Предыдущая статья этой серии здесь. Приступим теперь к рассмотрению DML-триггеров. В предыдущей строки мы уже говорили, какие бывают DML-триггеры, так что остаётся только сослаться на неё. Как и в случае триггера DDL в начале создаётся функция, которая будет вызываться триггером DML. Функция представлена ниже. Она будет обрабатывать добавление строк к таблице ocenki, отбрасывая неправильные значения...
2 дня назад
Реляционные базы данных и язык SQL. Понятие триггера. DDL-триггеры на языке PLpgSQL
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. В продолжении статей о языке PLpgSQL в PostgreSQL. Предыдущая статья этой серии здесь. Триггер это специальный объект, который срабатывает автоматически при наступлении в базе данных некоторого события. При создании триггера указывается когда и при каком событии он должен сработать и какую хранимую функцию он должен запустить при наступлении события. Все триггеры в PostgreSQL можно разделить на две большие группы: 1...
1 неделю назад
Реляционные базы данных и язык SQL. Хранимые функции типа PLpgSQL в PostgreSQL. Транзакции
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. В продолжении статей о языке PLpgSQL в PostgreSQL. Предыдущая статья этой серии здесь Транзакция является важнейшим понятием реляционных баз данных. Транзакция представляет собой последовательность действий, выполняющихся как одна операция с данными. Транзакция может быть выполнена полностью или не выполнена совсем. Транзакция должна соответствовать принципам ACID: 1. Atomicity (атомарность) — транзакция либо выполняется полностью, либо не выполняется совсем...
1 неделю назад
Реляционные базы данных и язык SQL. Хранимые функции типа PLpgSQL в PostgreSQL. Курсоры на стороне сервера
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Перейдём теперь к новому объекту, который удобно использовать при программировании на PLpgSQL, это курсор (см. предыдущую статью). Курсор, это такой объект, который позволяет работать с одной или несколькими строками запроса, не перегружая память. Это очень похоже на итераторы в программировании. По другому можно сказать, что курсор это таблица, в которой установлен порядок. Есть последующие и предыдущие строки. Можно последовательно переходить от одной строки к другой...
2 недели назад
Реляционные базы данных и язык SQL. Хранимые функции типа PLpgSQL в PostgreSQL. Использование запросов в PLpgSQL
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. В прошлой статье я изложил начало языка plpgsql. Этот язык легко интегрируется с обычным языком SQL, позволяя писать на стороне PostgreSQL полноценный программный с обработкой реляционных данных. Перейдём теперь к вопросам, связанным с сочетанием алгоритмического языка plpgsql и собственно команд языка SQL. Это важнейшая тема, поскольку именно это и является сутью использования программирования на стороне сервера...
3 недели назад
Реляционные базы данных и язык SQL. Хранимые функции типа PLpgSQL в PostgreSQL. Основные программные структуры
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Начинаем наконец программирование на PGplSQL. Сегодня основное о структурах языка PLpgSQL. В современном PostgreSQL широко используется алгоритмический язык программирования plpgsql. Чаще название языка записывается как PL/pgSQL. Расшифровывается название как Procedural Language/PostGres Structured Query Language, что можно несколько вольно перевести как «Процедурный Язык Postgres с поддержкой SQL-запросов». В чём...
3 недели назад
Реляционные базы данных и язык SQL. Хранимые функции типа SQL в PostgreSQL
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Сервер баз данных PostgreSQL позволяет создавать специальные объекты, называемые хранимые функции. Использование таких функций даёт возможность переносить часть кода на сторону сервера. В стандартной установке сервера можно создавать функции двух типов: SQL-функции, состоящие из обычных sql-запросов и и функции на алгоритмическом языке программирования plpgsql. Также существуют дополнительные библиотеки, которые,...
1 месяц назад
Реляционные базы данных и язык SQL. Массивы в базах PostgreSQL
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Интересный вопрос, я человек старой формации и привык, что массив хранится как таблица, а тут в одном поле целый массив. Стоит взять на вооружение. Синтаксис создания таблицы со столбцами-массивами довольно прост create table table1 ( id serial primary key, nm text, arr1 text[], arr2 integer[][] ); Как видим у нас два столбца-массива. arr1 — одномерный массив, arr2 — двумерный массив. При создании мы не указываем размерность массива, но фиксируем тип элементов массива...
1 месяц назад
Программирование на языке Python. Графика PyQt5. Продолжение с графическим редактированием, используем QImage по полной
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Продолжаем статьи о графических редакторах. Предыдущая была здесь Сегодня используем объект QImage для рисования по полной программе. Кроме этого реализуем сохранение и загрузку картинок. В данной программе (окно программы см. на рисунке 2) мы отказываемся от векторного подхода и в ней не реализован процесс отката, но зато есть возможность не только сохранять картинку (ctrl+s), но и её загружать (cntrl+l)...
1 месяц назад
Програмирование на языке python. Библиотека openpyxl и обработка электронных таблиц
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. На самом деле для работы с электронными таблицами формата xlsx есть несколько библиотек. Мне нравится openpyxl. Ну значит на ней и остановимся пока. Установить библиотеку можно стандартным образом pip3 (pip) install openpyxl Вот и всё, и приступать к работе уже можно Подсоединяем библиотеку с помощью обычной команды import, ну а далее используем тот или иной класс этой библиотеки. С чего начать работу с электронной таблицей? Надо определиться, что вы хотите делать...
1 месяц назад
Программирование на языке Python. Графика PyQt5. Продолжение с графическим редактированием
Доброго здоровья читателям моего канала programmer's notes. Поддерживаем мой канал. Изучив ещё раз раз свой канал, я совершенно чётко увидел несколько тем, которые освящены плохо. Конечно это графика. Хотя статьи по графике и есть. Но, как минимум, по трём библиотекам желательно добавить статьи. Сегодня будет продолжение графики вот этой статьи. В ней показан один из возможных алгоритмов рисования с помощью мыши. Естественно возникает вопрос: а как сохранить картинку, которую вы нарисовали. Я несколько переделал алгоритм, но идеологию оставил прежнюю...
1 месяц назад
512-й материал на канале о Python. У меня на канале юбилей
Да, это 512-й материал и по программисткой традиции будет считать это круглым числом. А значит на моём канале праздник. Вот этот пост вышел на канале 15 июня 2022. Ну т.е. скоро будет три года. Это правда мой второй канал по программированию, первый я забросил. Он у меня только как хаб работает. Данный канал, в отличие от предыдущего, я посвятил одному языку программирования - python. У меня на канале есть два важных ресурса и По сути они об одном и том же. Они указывают на разделы канала, точнее...
2 месяца назад