title: ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐ¸ÑÑÐµÐ¼Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¹ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½ÑÐ½Ð¾ÑÑÐ¸ SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð²
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Research and development of a system for automated SQL query equivalence verification
Creators: name: Ð ÐµÐ¿Ð¸Ð½, Ð­Ð»ÑÐ¼Ð°Ð½
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2021
Subjects: Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
SQL
ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½ÑÐ½Ð¾ÑÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð²
Ð½Ð¾ÑÐ¼Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ
Ð²ÑÐ¿Ð¾Ð»Ð½Ð¸Ð¼Ð¾ÑÑÑ ÑÐ¾ÑÐ¼ÑÐ» Ð² ÑÐµÐ¾ÑÐ¸ÑÑ
databases
query equivalence
normalization
satisfiability modulo theories

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð·Ð°Ð´Ð°ÑÐµ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½ÑÐ½Ð¾ÑÑÐ¸ SQLâ Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð². Ð¦ÐµÐ»ÑÑ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÐµÐ¹ Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½ÑÐ½Ð¾ÑÑÑ SELECT-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð², ÑÐ¾Ð´ÐµÑÐ¶Ð°ÑÐ¸Ñ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ ÑÐ»ÐµÐ¼ÐµÐ½ÑÑ Ð¸ ÐºÐ¾Ð½ÑÑÑÑÐºÑÐ¸Ð¸ ÑÐ·ÑÐºÐ° SQL, ÑÐ²Ð¾Ð¹ÑÑÐ²ÐµÐ½Ð½ÑÐµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ SQL Ð² Ð¿ÑÐ¾Ð¼ÑÑÐ»ÐµÐ½Ð½Ð¾Ð¹ Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ. ÐÐºÐ»Ð°Ð´ Ð² ÑÑÑÑÐºÑÑÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð¾ ÑÐ¾Ð²ÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¼ ÑÐ¾ÑÑÐ¾ÑÐ½Ð¸Ð¸ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð²Ð½Ð¾ÑÐ¸Ñ Ð¾Ð±Ð·Ð¾Ñ Ð¸ ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÐ¹ Ð°Ð½Ð°Ð»Ð¸Ð· ÑÐ¾Ð²ÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÐµÑÐµÐ½Ð¸Ð¹. Ð ÑÐ°Ð¼ÐºÐ°Ñ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð° Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÑÑÑÑ Ð½Ð¾Ð²ÑÐµ ÑÐ¿Ð¾ÑÐ¾Ð±Ñ Ð¿ÑÐµÐ¾Ð±ÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´ÐµÑÐµÐ²ÑÐµÐ² Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð², Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐµ Ð´Ð»Ñ Ð¸Ñ Ð½Ð¾ÑÐ¼Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸. ÐÑÐ¾Ð¼Ðµ ÑÐ¾Ð³Ð¾, Ð¾ÑÐ»Ð¸ÑÐ¸Ðµ Ð¾Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð² Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð² ÑÐ°Ð¼ÐºÐ°Ñ ÑÐ¸ÑÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²ÑÐ¸ÐºÐ° Ð¡Ð£ÐÐ PostgreSQL. ÐÐµÑÐ¾Ð´Ð¸ÐºÐ° ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¸ÑÑÐµÐ¼Ñ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ ÑÐ¾Ð³Ð¾ Ð¶Ðµ ÑÐµÑÑÐ¾Ð²Ð¾Ð³Ð¾ Ð½Ð°Ð±Ð¾ÑÐ°, ÑÑÐ¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð»ÑÑ Ð¿ÑÐ¸ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ ÑÐ¾Ð²ÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÐµÑÐµÐ½Ð¸Ð¹. Ð ÐºÐ¾Ð½ÐµÑÐ½Ð¾Ð¼ Ð¸ÑÐ¾Ð³Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð°Ñ ÑÐ¸ÑÑÐµÐ¼Ð° Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ Ð¿Ð¾ Ð¾ÑÐ½Ð¾Ð²Ð½Ð¾Ð¼Ñ ÐºÑÐ¸ÑÐµÑÐ¸Ñ, ÑÐ¸ÑÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼ÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð², Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ð° ÑÑÐ°Ð²Ð½Ð¸Ð¼ÑÐµ Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÑ, ÑÑÐ¾ Ð³Ð¾Ð²Ð¾ÑÐ¸Ñ Ð¾ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ð¾ÑÑÐ¸ Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð°. Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÐ¸ Ð² ÑÑÐµÑÐµ Ð±Ð¾Ð»ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ°Ð¼ Ð¸ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑÐ°ÑÐ¾ÑÐ°Ð¼ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ.
description: This research work is fully devoted to the problem of verifying the equivalence of SQL queries. The purpose of this work is to develop a software that allows you to check the equivalence of SELECT-queries containing various elements of SQL language, inherent to the use of SQL in industrial practice. A review and comparative analysis of recent solutions contributes to the structuring of information on the current state of the problem. The proposed approach describes new ways to transform query trees used for their normalization. Another distinctive feature is the use of PostgreSQL DBMS planner. The methodology for testing the system is to use the same test suite that was used to test recent solutions. Eventually, the developed verification system showed comparable results with the analogues, which proves the applicability of the proposed approach. The results of the work may be applied to optimize performance in the field of big data, as well as to help database developers and administrators.