Skip to content

platinamedia/testdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание.

База данных: PostgreSQL

Написать функцию для расчёта хеш суммы таблицы. На входе название таблицы, на выходе хеш сумма.

Функция должна удовлетворять следующим условиям:

  • Хеш сумма таблицы - "сумма" хеш сумм всех строк таблицы
  • Для пустой таблицы должна возвращать нулевое значение
  • Хеш сумма равных строк должна быть одинаковой для одной таблицы
  • Хеш сумма равных строк должна быть разной для разных таблиц
  • Итоговая хеш сумма таблицы не должна зависеть от порядка суммирования хеш сумм строк
  • На значение хеш суммы должно влиять каждое значение каждого поля в каждой строке таблицы
  • Вклад отдельного поля в хеш сумму строки должен зависеть от типа поля

Написать тесты для проверки функции:

  1. Работоспособность функции. Создание таблицы, содержащей все возможные типы полей; заполнение тестовыми данными; вывод хеш суммы таблицы.

  2. Функция для нулевой таблицы. Создание таблицы без строк; вывод хеш суммы таблицы.

  3. Функция для одинаковых данных в разных таблицах. Создание двух одинаковых таблиц; заполнение одинаковыми данными; вывод хеш сумм таблиц.

  4. Влияние полей таблицы на результат. Создание таблицы; добавление одной строки; для всех полей таблицы по порядку: вывод хеш суммы, изменение поля, вывод хеш суммы, возврат исходного значения поля, вывод хеш суммы.

Сделать простейшую версию механизма репликации для одной таблицы.

Задача репликации - логгирование операций INSERT, UPDATE, DELETE в служебные таблицы.

Таблицы:

  • Рабочая таблица - исходная таблица произвольной структуры.
  • Таблица-копия - копия рабочей таблицы с добавлением дополнительного поля - уникального id.
  • Очередь репликации - таблица с полями: id, номер транзакции, дата и время операции, название таблицы, id из таблицы-копии, тип операции.

Для рабочей таблицы нужно добавить триггеры, которые будут заполнять очередь репликации и таблицу-копию для каждой операции INSERT, UPDATE, DELETE.

Написать тесты для измерения скорости выполнения операций. Оценить в процентном соотношении, на сколько замедляется выполнение операций при добавлении триггеров.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors