Extensions to theories of relations and tables in SMT
Abstract
Details
- Title: Subtitle
- Extensions to theories of relations and tables in SMT
- Creators
- Mudathir Mohamed
- Contributors
- Cesare Tinelli (Advisor)Andrew Reynolds (Committee Member)Garrett Morris (Committee Member)Katherine Kosaian (Committee Member)Alberto Maria Segre (Committee Member)
- Resource Type
- Dissertation
- Degree Awarded
- Doctor of Philosophy (PhD), University of Iowa
- Degree in
- Computer Science
- Date degree season
- Summer 2025
- DOI
- 10.25820/etd.008098
- Publisher
- University of Iowa
- Number of pages
- xiv, 156 pages
- Copyright
- Copyright 2025 Mudathir Mohamed
- Language
- English
- Date submitted
- 07/07/2025
- Description illustrations
- Illustrations, tables, graphs, charts
- Description bibliographic
- Includes bibliographical references (pages 150-156).
- Public Abstract (ETD)
Relational databases are the backbone of many business applications like banking, accounting and health computer systems. They are mainly used to store and retrieve data, organized in tables, from dedicated servers or from the cloud. Examples of tables in a health system are patients, doctors, appointments, visits, etc. To query data from these tables, a Structured Query Language (SQL) is used to retrieve individual records like visit summary, or comprehensive reports like the number of patients per month in the current year. Performance is a crucial requirement for SQL queries. Two queries can be written to retrieve the same data, but they differ in their execution time due to several factors including physical structure of tables, and types of computation applied to them. Therefore, queries are usually rewritten either manually by database developers or automatically by cloud systems to improve execution time. Rewriting queries is complex and error-prone. Therefore, there is a need to automatically verify that those rewritten queries are equivalent to the original ones, the main goal of this thesis. Here we extend existing theories for sets and bags to support reasoning about SQL queries with either bag or set semantics. The difference between bag and set semantics is duplicate records are allowed in bag semantics, while they are disallowed in set semantics. We also present a theory of nullables to reason about null values which represent unknown and missing values. We designed and implemented solvers for these theories and evaluated them on a set of benchmarks derived from public sets of SQL equivalence problems.
- Academic Unit
- Computer Science
- Record Identifier
- 9984948540102771