Real-world datasets are dirty and contain many errors. Examples of these issues are violations of integrity constraints, duplicates, and inconsistencies in representing data values and entities. Applying machine learning on dirty databases may lead to inaccurate results. Users have to spend a lot of time and effort repairing data errors...
Relational binary operators, such as join, are arguably the most costly and frequently used operations in relational data systems. In many join algorithms, the majority of the process time is spent on scanning and attempting to join the parts of the relations that do not satisfy the join condition and...
Multi-relation aggregation queries process the join operator before computing the aggregation function. This join is arguably the most costly operation since traditional join algorithms spend majority of their time trying to join the parts of the relations that do not generate any output tuples. This causes slow response times with...
Most database users do not know formal query languages, such as SQL, and prefer to express their information needs using usable query languages, such as keyword queries. Keyword queries, however, are inherently ambiguous and challenging for the database systems to understand and answer effectively. We propose a novel approach to...
Data variations are prevalent in real-world applications. For example, software vendors have to handle numerous variations in the business requirements, conventions, and environmental settings of a software product. In database-backed software, the database of each version may have a different schema and content. As another example, data scientists often need...