специалист 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
Applications 1
-
укажите хоть название СУБД
-
Добрый день.
Пока данные не могу уточнить.
Суть такова:
Есть база данных. Есть критерии фильтрации этой базы данных.
Каждому критерию присвоена определенная степень значимости.
Формируется запрос по поиску информации в БД из нескольких критериев.
Нужно: чтобы производилась фильтрация по этим критериям с учетом степени значимости конкретных критериев.
Это пока что на пальцах объясняю.
Насчет СУБД пока не могу ответить.
Для такой задачи, какая Вам нужна информация, чтобы можно было говорить предметно?
-
Current freelance projects in the category Databases & SQL
It is necessary to process the database so that the output files are in the formatThere is a database of the forum and files of the XENFORO 1.6 forum. It is necessary to create an import file for another script, but all fields must be preserved. I provide the specification files and the FAQ file which specify the fields I need. The specification files are for… Databases & SQL, Data Parsing ∙ 8 minutes back ∙ 3 proposals |
Need a Power BI specialist to build management reporting based on BAS Accounting CORPAbout the CompanyWe are a distributor of international sports brands in Ukraine. Accounting is maintained in BAS Accounting CORP.We are looking for a specialist who can help build a management reporting system for the company's management based on Power BI.Important: we are… Databases & SQL, Accounting Services ∙ 3 days 13 hours back ∙ 6 proposals |
Technical task: Integration of Telegram chatbot with BAS1. General Description It is necessary to implement the integration of the chatbot with the BAS system for the transfer and recording of data about products (orders). 2. Input Data (sent by the chatbot): Group ID Product name (with product code) Product price 3. Logic of… Enterprise Resource Planning (ERP), Databases & SQL ∙ 3 days 16 hours back ∙ 19 proposals |
1C data integrationOrganize quality preparation and data transfer from 1C to BigQuery for further use in Looker:Organize the data according to the required fields.Prepare a clear structure of tables and intermediate datasets on which dashboards will be built.Set up data loading, gather key… Databases & SQL, Data Processing ∙ 5 days 7 hours back ∙ 9 proposals |
Development of a simple controlling and management record system in Google Sheets "turnkey"Task name: Development of a simple controlling and management record system in Google Sheets "turnkey" for a construction company in Poland (+ online training and implementation assistance) About the company, context, and my main problem Hello, I am looking for an experienced… Databases & SQL, Accounting Services ∙ 6 days 12 hours back ∙ 36 proposals |