специалист DBA
Обработка баз данных.
Пока что задача в общих чертах: Сортировка базы данных по критериям, которым присвоена определенная релевантность.
Описание задачи:
На первом этапе для базы данных – БД нужно разработать алгоритм сортировки по заданным критериям без привязки к СУБД.
БД постоянно обновляется и формируется из каждого нового запроса.
Описание работы алгоритма:
1. Запрос к БД состоит из строки, которая сформирована из некоего количества критериев – столбцов
2. После заполнения этих критериев – формирование запроса, они становятся частью БД – добавляется новая строка в БД
3. Результатом запуска алгоритма должна быть таблица из k наиболее релевантных записей к вновь сформированному запросу
Детали:
• критерии, применяемые для сортировки, имеют определенный вес по степени их приоритетности
• критерии преимущественно цифровые, небольшая часть - текстовые
• текстовые критерии заданные, для которых производится действие «совпадает/не совпадает»
• алгоритм сортировки должен обеспечивать эффективный результат – максимально быстро производить сортировку большого массива данных и выводить задаваемое количество наиболее релевантных к запросу записей – k
Вводные параметры:
1. Вес/приоритетность критериев
2. Количество выводимых релевантных к запросу записей – k
3. Критерии – столбцы
Цель:
Разработать детальный алгоритм в виде блок-схемы
Внедрить алгоритм на примере MS Office и VBA для тестирования
Тех задание:
1. Есть база данных (БД), состоящая из 50 таблиц: таблицы А1 - А48 , таблицы Parameters и таблицы Results.
2. В БД поступают запросы.
3. Каждый запрос состоит из N полей. Все эти N полей также имеются в таблицах А1- А48 и таблице Results.
4. Поля таблиц А1 - А48 и Results связаны между собой транзитивными отношениями приоритетности строгого порядка. Эти соотношения задаются в таблице Parameters, путем присваивания ранга (натуральное число от 1 до N). Чем меньше ранг поля – тем оно приоритетней. Например, поле с рангом 1 приоритетней поля с рангом 2 и/или 3. Поле с рангом 2 приоритетнее полей с рангом 3+. У разных полей ранги должны быть разные. Таким образом таблица Parameters состоит из двух полей: 1 - название полей таблиц А1 - А48, 2 – ранг этих полей. Поля с рангами 1, 2 и 3 являются критическими.
5. Поля могут быть двух типов: текстовые или числовые (действительные числа). Критические поля могут приобретать предопределённое количество вариантов значений. Поле с рангом «один» – может иметь 2 варианта значений, поле с рангом «два» – 4 варианта значений, а поле с рангом «три» – 6 вариантов.
6. Все запросы, поступающие в БД, делятся на 48 видов, что соответствует числу возможных комбинаций значений критических полей (2х4х6=48). Для каждого из 48 видов запросов существует соответствующая таблица Аi , в которую он добавляется в виде верхней записи. Значения полей последнего запроса становятся значениями полей новой самой верхней записи соответствующей таблицы.
7. В результате каждого выполнения алгоритма все записи таблицы Аi, в которой в результате пришедшего запроса добавилась новая верхняя запись сортируются сверху вниз, начиная со второй, по степени близости к значениям полей верхней записи.
a. Т.к. значения критических полей для всех записей любой таблицы Аi всегда одинаковые, то сортировка производится по некритическим полям, с учетом их ранга приоритетности.
b. Чем выше находится запись – тем меньше значения ее более приоритетных полей отличаются от значений данных полей верхней записи (для числовых полей критерием сортировки является модуль разницы, для текстовых - проверяется полное совпадение).
8. В конце работы алгоритм выводит k верхних записей из вновь отсортированной таблицы Аi в таблицу Results.
9. Скорость работы алгоритма должна быть максимально стабильной при росте количества записей в таблицах БД.
10. Вводные параметры
a. Таблица Parameters
b. k - количество записей, которые выводятся в таблицу Results
Приложения 1
-
укажите хоть название СУБД
-
Добрый день.
Пока данные не могу уточнить.
Суть такова:
Есть база данных. Есть критерии фильтрации этой базы данных.
Каждому критерию присвоена определенная степень значимости.
Формируется запрос по поиску информации в БД из нескольких критериев.
Нужно: чтобы производилась фильтрация по этим критериям с учетом степени значимости конкретных критериев.
Это пока что на пальцах объясняю.
Насчет СУБД пока не могу ответить.
Для такой задачи, какая Вам нужна информация, чтобы можно было говорить предметно?
-
Актуальные фриланс-проекты в категории Базы данных и SQL
Нужен специалист по Power BI для построения управленческой отчетности на базе BAS Бухгалтерия КОРПО компанииМы являемся дистрибьютором международных спортивных брендов в Украине. Учет ведется в BAS Бухгалтерия КОРП.Ищем специалиста, который поможет построить систему управленческой отчетности для руководства компании на базе Power BI.Важно: нас интересует не просто… Базы данных и SQL, Бухгалтерские услуги ∙ 15 часов 29 минут назад ∙ 3 ставки |
Специалист по Excel / автоматизации процессов (Excel + желательно программирование)Ищем специалиста с ПРОДВИНУТЫМИ знаниями Excel для оптимизации существующего файла и автоматизации процессов. Будет большим преимуществом, если вы также имеете навыки программирования / VBA / Power Query / Power Automate или опыт создания сложной логики в Excel. Задачи проекта… Python, Базы данных и SQL ∙ 17 часов 20 минут назад ∙ 31 ставка |
Техническое задание: Интеграция чат-бота Telegram с BAS1. Общая информация Необходимо реализовать интеграцию чат-бота с системой BAS для передачи и записи данных о товарах (заказах). 2. Входные данные (что передает чат-бот): ID группы Название товара (с кодом товара) Цена товара 3. Логика работы: При нажатии на кнопку Заказать… Автоматизация управления предприятием, Базы данных и SQL ∙ 18 часов 27 минут назад ∙ 16 ставок |
Интеграция данных 1СОрганизовать качественную подготовку и переток данных из 1С в BigQuery для дальнейшего использования в Looker:Организовать данные в соответствии с тем, какие поля нужны.Подготовить понятную структуру таблиц и промежуточных наборов данных, на которых будут строиться… Базы данных и SQL, Обработка данных ∙ 2 дня 9 часов назад ∙ 9 ставок |
Разработка простого системы контроллинга и управленческого учета в Google Sheets «под ключ»Название задания: Разработка простого системы контроля и управленческого учета в Google Sheets «под ключ» для строительной компании в Польше (+ онлайн обучение и помощь при внедрении) О компании, контексте и моей главной проблеме Добрый день, Я ищу опытного специалиста Google… Базы данных и SQL, Бухгалтерские услуги ∙ 3 дня 14 часов назад ∙ 35 ставок |