МОДЕЛЬ АЛГОРИТМУ ВЗАЄМОДІЇ КОРИСТУВАЧА З БАЗОЮ СТРУКТУРОВАНИХ ДАНИХ ДЛЯ АДАПТИВНОГО СОРТУВАННЯ У ВЕБІНТЕРФЕЙСІ
DOI:
https://doi.org/10.35546/kntu2078-4481.2025.3.2.45Ключові слова:
структуровані дані, впорядкована матриця, вебінтерфейс, адаптивне сортування, алгоритм Selection Sort, нечітке порівняння, відстань Левенштейна, база даних, SheetJS, REST API, JavaScript, скінченний автоматАнотація
Сортування табличних даних у веб-середовищі потребує рішень, що поєднують практичну інтерактивність з математичною визначеністю. У статті запропоновано методику та формалізовану модель клієнтського інтерфейсу, який імпортує Excel/CSV, виконує очищення й нормалізацію, підтримує фільтри й багатокритеріальне впорядкування без обов’язкової серверної логіки. Реалізовано два робочі режими: автономний (усі операції виконуються у браузері, локальне зберігання) та інтеграційний (опційний REST-експорт у MySQL/MongoDB/SQLite).Інтерфейс орієнтовано на покрокову взаємодію: вікна завантаження, параметрів очищення, вибору критеріїв/пріоритетів, налаштувань фільтрів і часткового збігу, запуску сортування та перегляду результатів; окремо передбачено логування дій і підказки щодо конфліктних умов. Технічно використано HTML, CSS, JavaScript, IndexedDB/ sql.js та бібліотеку XLSX, що забезпечує доступність і простоту розгортання у локальних середовищах.Ідейне ядро складає трикомпонентна архітектура даних: T1 (вхідна матриця m × n), T2 (набір четвірок (ci, wi, di, fi) для формалізації критеріїв і ваг) та T3 (результат після фільтрації/проєкції/сортування). Кожний етап має чіткі оператори: T1 → f1 → T1′ (очищення/нормалізація/валідація), T1′→ f2 → T2 (побудова запиту), T1′,T2 → f3 → T3 (застосування інструкції). Зіставлення текстових полів підтримує нечіткість (зокрема, Левенштейн), що підвищує стійкість до варіантів написання. Для багатокритеріального порівняння використано ( ) k k ( , k , k )kScore r = ∑w ⋅ϕ r c fабо лексикографічний ключ, де ϕk – нормалізована функція порівняння з урахуванням фільтра.Сортування реалізовано модифікованим Selection Sort із динамічно-наслідковим обмеженням переміщення R = m/(i + 1), що на кроці i лімітує інтенсивність перестановок (≤ {R}) і запобігає «стрибкам» порядку; нестабільність базового алгоритму компенсується tie-break за початковим індексом. Логіку взаємодії формалізовано як скінченний автомат: стани відповідають вікнам, переходи – подіям користувача; реалізовано валідацію введення та попередження конфліктів, а зміни параметрів реактивно оновлюють T3. Така побудова забезпечує прозорість, відтворюваність і можливість генерації контрольних сценаріїв.Експериментальні випробування на переліках параметричних об’єктів (охоронні сповіщувачі) засвідчили коректність перетворень, стабілізацію порядку у складних запитах, зручність покрокової роботи і ресурсну помірність клієнтського виконання. У підсумку модель і програмна реалізація поєднують інтерактивність інтерфейсу з формальною строгістю даних, забезпечують автономну роботу та опційну інтеграцію через REST-API, а також демонструють практичну придатність для аналітики, навчання й адміністративних сценаріїв у CRM/ ERP-контекстах. Наукова новизна полягає в тому, що запропоновано повністю клієнтський цикл обробки (імпорт → очищення/нормалізація → фільтрація/проєкція → сортування → відображення) без обов’язкового сервера; формалізовано трикомпонентну схему T1–T2–T3 (T1 – вхідні дані, T2 – «інструкція» у вигляді четвірок (ci, wi, di, fi), T3 – результат), що робить налаштування критеріїв і ваг прозорим та відтворюваним. Порівняно з аналогами, розроблений інтерфейс вирізняється інтерактивністю, підтримкою текстових запитів і чіткою формалізацією логіки взаємодії, що підвищує його конкурентоспроможність. Додатково система забезпечує автономність роботи (client-side), прозору верифікацію кроків і відтворюваність завдяки моделюванню інтерфейсу як скінченного автомата та композиції операторів T1 → f1 → T1′→ f2 → T2 → f3 → T3. Модифікований Selection Sort з обмеженням R = m/(i + 1) стабілізує порядок за багатокритеріальних запитів, а підтримка REST-експорту і коректного перетворення типів спрощує інтеграцію з БД (MySQL/MongoDB/SQLite) та масштабування рішення.
Посилання
Guo M., Xing Y., Xu Y. Data Cleaning: Workflow and Strategies in Real-World Data Research. Interactive Journal of Medical Research. 2023. Vol. 12, e44310. DOI: 10.2196/44310.
Chen Z., Cafarella M. Integrating Spreadsheet Data via Accurate and Low-Effort Extraction. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2014. P. 1126–1135. DOI: 10.1145/2623330.2623617
SheetJS. SheetJS Community Edition: Documentation (версія 0.20.3) [Електронний ресурс]. URL: https://docs.sheetjs.com/docs/ (дата звернення: 25.09.2025).
Papa Parse. Documentation (версія 5.5.3) [Електронний ресурс]. URL: https://www.papaparse.com/docs (дата звернення: 25.09.2025).
Handsontable. JavaScript Data Grid – Documentation (версія 16.0.1) [Електронний ресурс]. URL: https://handsontable.com/docs/javascript-data-grid/ (дата звернення: 25.09.2025).
Huang Y., Miao J., Weng D., Perer A., Wu Y. StructVizor: Interactive Profiling of Semi-Structured Textual Data. In: CHI ’25: Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems. 2025. DOI: 10.1145/3706598.3713484.
Berger B., Waterman M. S., Yu Y. W. Levenshtein distance, sequence comparison and biological database search. IEEE Transactions on Information Theory. 2021. Vol. 67, no. 6. P. 3287–3294. DOI: 10.1109/TIT.2020.2996543
Firmansyah M., Deswana D. Application of the Levenshtein Algorithm in Web-Based Knowledge Management Systems. JUSIFO. 2024. Vol. 10, no. 2. P. 99–106. DOI: 10.19109/jusifo.v10i2.21951
Harel D. Statecharts: a visual formalism for complex systems. Science of Computer Programming. 1987. Vol. 8, no. 3. P. 231–274. DOI: 10.1016/0167-6423(87)90035-9
Pohl E., Geldermann J. PROMETHEE-Cloud: a web app to support PROMETHEE-based multi-criteria decision analysis. EURO Journal on Decision Processes. 2024. Vol. 12, 100053. DOI: 10.1016/j.ejdp.2024.100053
Razavi Hajiagha S. H., Heidary Dahooie J., Meidutė-Kavaliauskienė I., Govindan K. A new dynamic multi-attribute decision making method based on Markov chain and linear assignment. Annals of Operations Research. 2022. Vol. 315, no. 1. P. 159–191. DOI: 10.1007/s10479-022-04644-0
Hamel A. H., Kostner D. Multi-weight ranking for multi-criteria decision making. Neural Computing and Applications. 2024. DOI: 10.1007/s00521-024-10626-z
Taherdoost H., Madanchian M. Multi-Criteria Decision Making (MCDM) Methods and Concepts. Encyclopedia. 2023. Vol. 3, no. 1. P. 77–87. DOI: 10.3390/encyclopedia3010006
Su J., Zhu Q., Jiang Y., Xiao X. A Multi-Criteria Group Decision-Making Method for Risk Assessment of Live-Streaming E-Commerce Platforms. Journal of Theoretical and Applied Electronic Commerce Research. 2023. Vol. 18, no. 2. P. 1126–1141. DOI: 10.3390/jtaer18020057
Győrödi C. A., Győrödi R., Olah A., Pecherle G. MongoDB vs. Document-Based MySQL: A Comparative Study on the Top of Docker. Big Data and Cognitive Computing. 2022. Vol. 6, no. 2. P. 49. DOI: 10.3390/bdcc6020049
Alyasiri B., Sahi B., Al-Khafaji N. NoSQL: Will it be an alternative to a relational database? MySQL vs MongoDB comparison. In: Proceedings of the 2nd International Multi-Disciplinary Conference: Integrated Sciences and Technologies (IMDC-IST 2021), 7–9 September 2021, Sakarya, Turkey. EAI, 2022. DOI: 10.4108/eai.7-9-2021.2314925
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.






