{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,24]],"date-time":"2024-07-24T03:01:07Z","timestamp":1721790067177},"reference-count":43,"publisher":"World Scientific Pub Co Pte Ltd","issue":"05","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2023,5]]},"abstract":"<jats:p> Structured Query Language (SQL) is the dominant language for managing relational databases. However, complex SQL queries are hard to write and maintain because of the intricate inter-table and inter-column relations. To this end, we propose a novel query language called SQL#, which allows programmers to construct complex queries module by module and explicitly specify the relations between different modules according to the logical steps of constructing queries. Besides, we design a SQL#-based system, aiming to facilitate the maintenance of SQL# queries. Specifically, the system renders a SQL# program into a hierarchical graph, which could help programmers understand the high-level structures of SQL# programs and the intricate relations between different components within SQL# programs. In addition, the system can ease the generation of the intermediate tables that correspond to the logical steps of constructing queries, which could help programmers debug complex SQL# queries. Notably, the design of SQL# makes it easy for the system to generate the hierarchical graph and the intermediate tables. Controlled experiments suggest that the SQL#-based system reduces the durations of writing and understanding database queries by 79% and 39%, respectively, compared to raw SQL code. <\/jats:p>","DOI":"10.1142\/s0218194023500109","type":"journal-article","created":{"date-parts":[[2023,3,7]],"date-time":"2023-03-07T11:22:09Z","timestamp":1678188129000},"page":"619-649","source":"Crossref","is-referenced-by-count":2,"title":["SQL#: A Language for Maintainable and Debuggable Database Queries"],"prefix":"10.1142","volume":"33","author":[{"given":"Yamin","family":"Hu","sequence":"first","affiliation":[{"name":"School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, P.\u00a0R.\u00a0China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hao","family":"Jiang","sequence":"additional","affiliation":[{"name":"School of Artificial Intelligence, Anhui University, Hefei 230601, P.\u00a0R.\u00a0China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hanlin","family":"Tang","sequence":"additional","affiliation":[{"name":"School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, P.\u00a0R.\u00a0China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xin","family":"Lin","sequence":"additional","affiliation":[{"name":"School of Artificial Intelligence\/School of Future Technology, Nanjing University of Information Science and Technology, Nanjing 210044, P.\u00a0R.\u00a0China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zongyao","family":"Hu","sequence":"additional","affiliation":[{"name":"School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, P.\u00a0R.\u00a0China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2023,4,13]]},"reference":[{"issue":"2","key":"S0218194023500109BIB001","doi-asserted-by":"crossref","first-page":"51","DOI":"10.1145\/3299887.3299897","volume":"47","author":"Michels J.","year":"2018","journal-title":"ACM SIGMOD Record"},{"key":"S0218194023500109BIB002","first-page":"24","volume-title":"ASEE Annual Conf. & Exposition","author":"Do Q.","year":"2014"},{"key":"S0218194023500109BIB003","first-page":"207","volume-title":"Proc. 25th Annual ACM Symp. on User Interface Software and Technology","author":"Abouzied A.","year":"2012"},{"key":"S0218194023500109BIB004","first-page":"2745","volume-title":"Proc. ACM SIGMOD Int. Conf. Management of Data","author":"Qin X.","year":"2020"},{"issue":"12","key":"S0218194023500109BIB005","doi-asserted-by":"crossref","first-page":"2997","DOI":"10.14778\/3415478.3415528","volume":"13","author":"Miao Z.","year":"2020","journal-title":"Proc. VLDB Endow."},{"key":"S0218194023500109BIB006","first-page":"1539","volume-title":"Proc. ACM SIGMOD Int. Conf. Management of Data","author":"Yan C.","year":"2020"},{"key":"S0218194023500109BIB007","doi-asserted-by":"crossref","first-page":"286","DOI":"10.1145\/3314221.3314588","volume-title":"Proc. 40th ACM SIGPLAN Conf. Programming Language Design and Implementation","author":"Wang Y.","year":"2019"},{"issue":"1","key":"S0218194023500109BIB008","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1007\/s00778-012-0302-x","volume":"22","author":"Curino C.","year":"2013","journal-title":"VLDB J."},{"issue":"2","key":"S0218194023500109BIB009","doi-asserted-by":"crossref","first-page":"117","DOI":"10.14778\/1921071.1921078","volume":"4","author":"Curino C. A.","year":"2010","journal-title":"Proc. VLDB Endow."},{"key":"S0218194023500109BIB010","doi-asserted-by":"crossref","first-page":"309","DOI":"10.1007\/978-1-4842-4517-0_12","volume-title":"Pro Oracle SQL Development","author":"Heller J.","year":"2019"},{"key":"S0218194023500109BIB011","first-page":"2303","volume-title":"Proc. ACM SIGMOD Int. Conf. Management of Data","author":"Leventidis A.","year":"2020"},{"key":"S0218194023500109BIB012","first-page":"109","volume-title":"18th Int. Workshop on Database and Expert Systems Applications","author":"Cerullo C.","year":"2007"},{"key":"S0218194023500109BIB013","first-page":"129","volume-title":"Int. Conf. Conceptual Modeling","author":"Jaakkola H.","year":"2003"},{"key":"S0218194023500109BIB014","first-page":"1953","volume-title":"Proc. Int. Conf. Management of Data","author":"Liu S.","year":"2019"},{"key":"S0218194023500109BIB015","first-page":"1933","volume-title":"Proc. Int. Conf. Management of Data","author":"Wang W.","year":"2021"},{"key":"S0218194023500109BIB016","volume-title":"Proc. Int. Conf. Management of Data","author":"Wang W.","year":"2022"},{"issue":"5","key":"S0218194023500109BIB017","doi-asserted-by":"crossref","first-page":"819","DOI":"10.1109\/TKDE.2018.2850339","volume":"31","author":"Baldacci L.","year":"2018","journal-title":"IEEE Trans. Knowl. Data Eng."},{"key":"S0218194023500109BIB018","first-page":"1","volume-title":"Proc. CHI Conf. on Human Factors in Computing Systems","author":"Gathani S.","year":"2020"},{"key":"S0218194023500109BIB019","doi-asserted-by":"crossref","first-page":"562","DOI":"10.1145\/1951365.1951441","volume-title":"Proc. 14th Int. Conf. Extending Database Technology","author":"Grust T.","year":"2011"},{"key":"S0218194023500109BIB020","first-page":"865","volume-title":"Proc. ACM SIGMOD Int. Conf. Management of Data","author":"Dietrich B.","year":"2015"},{"issue":"2","key":"S0218194023500109BIB021","first-page":"309","volume":"47","author":"Choi D.","year":"2021","journal-title":"Comput. Linguist."},{"key":"S0218194023500109BIB022","doi-asserted-by":"crossref","first-page":"4524","DOI":"10.18653\/v1\/P19-1444","volume-title":"Proc. 57th Annual Meeting of the Association for Computational Linguistics","author":"Guo J.","year":"2019"},{"key":"S0218194023500109BIB023","first-page":"4511","volume-title":"57th Annual Meeting of the Association for Computational Linguistics","author":"Yu T.","year":"2020"},{"key":"S0218194023500109BIB024","first-page":"396","volume-title":"Proc. Conf. Empirical Methods in Natural Language Processing","author":"Zhong R.","year":"2020"},{"key":"S0218194023500109BIB025","first-page":"1180","volume-title":"Proc. 53rd ACM Technical Symp. Computer Science Education","volume":"2","author":"Hu Y.","year":"2022"},{"issue":"1","key":"S0218194023500109BIB026","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2445583.2445586","volume":"38","author":"Grust T.","year":"2013","journal-title":"ACM Trans. Database Syst."},{"key":"S0218194023500109BIB027","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4842-3576-8","volume-title":"SQL Primer: An Accelerated Introduction to SQL Basics","author":"Batra R.","year":"2018"},{"issue":"9","key":"S0218194023500109BIB028","doi-asserted-by":"crossref","first-page":"682","DOI":"10.1109\/TSE.2006.91","volume":"32","author":"Reiss S. P.","year":"2006","journal-title":"IEEE Trans. Softw. Eng."},{"key":"S0218194023500109BIB029","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1007\/978-1-4842-4517-0_7","volume-title":"Pro Oracle SQL Development","author":"Heller J.","year":"2019"},{"key":"S0218194023500109BIB030","doi-asserted-by":"crossref","first-page":"106590","DOI":"10.1016\/j.infsof.2021.106590","volume":"137","author":"Giannakopoulou D.","year":"2021","journal-title":"Inform. Softw. Technol."},{"key":"S0218194023500109BIB031","first-page":"2846","volume-title":"Proc. Int. Conf. Management of Data","author":"Katsogiannis-Meimarakis G.","year":"2021"},{"key":"S0218194023500109BIB032","first-page":"199","volume-title":"Proc. Int. Symp. Software Testing and Analysis","author":"Parnin C.","year":"2011"},{"key":"S0218194023500109BIB034","first-page":"272","volume-title":"Proc. ACM Conf. Innovation and Technology in Computer Science Education","author":"Ahadi A.","year":"2016"},{"issue":"4","key":"S0218194023500109BIB035","first-page":"37","volume":"33","author":"Qian G.","year":"2018","journal-title":"J. Comput. Sci. Colleges"},{"key":"S0218194023500109BIB036","first-page":"101","volume-title":"Proc. 16th Int. Conf. on Data Engineering","author":"Valentin G.","year":"2000"},{"key":"S0218194023500109BIB037","first-page":"616","volume":"104","author":"Van Roy P.","year":"2009","journal-title":"New Comput. Paradigms Computer Music"},{"issue":"3","key":"S0218194023500109BIB038","doi-asserted-by":"crossref","first-page":"193","DOI":"10.1109\/TSE.2006.31","volume":"32","author":"Mitchell B. S.","year":"2006","journal-title":"IEEE Trans. Softw. Eng."},{"key":"S0218194023500109BIB039","first-page":"483","volume-title":"Int. Symp. on Graph Drawing","author":"Ellson J.","year":"2001"},{"key":"S0218194023500109BIB040","unstructured":"T. Parr,  The Definitive ANTLR 4 Reference  (The Pragmatic Bookshelf,  2013), pp. 1\u2013326."},{"issue":"23","key":"S0218194023500109BIB041","doi-asserted-by":"crossref","first-page":"9279","DOI":"10.3390\/s22239279","volume":"22","author":"Ramos P.","year":"2022","journal-title":"Sensors"},{"key":"S0218194023500109BIB042","doi-asserted-by":"crossref","first-page":"305","DOI":"10.1145\/2470654.2470697","volume-title":"Proc. SIGCHI Conf. Human Factors in Computing Systems","author":"Bulling A.","year":"2013"},{"key":"S0218194023500109BIB043","volume-title":"Proc. ACM SIGMOD Int. Conf. Management of Data","author":"Wang Z.","year":"2022"},{"issue":"1","key":"S0218194023500109BIB044","doi-asserted-by":"crossref","first-page":"46","DOI":"10.14778\/3485450.3485456","volume":"15","author":"Zhou X.","year":"2021","journal-title":"Proc. VLDB Endow."}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194023500109","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,19]],"date-time":"2023-05-19T05:12:32Z","timestamp":1684473152000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/10.1142\/S0218194023500109"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,4,13]]},"references-count":43,"journal-issue":{"issue":"05","published-print":{"date-parts":[[2023,5]]}},"alternative-id":["10.1142\/S0218194023500109"],"URL":"https:\/\/doi.org\/10.1142\/s0218194023500109","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,4,13]]}}}