Download presentation
Presentation is loading. Please wait.
Published byAlice Skinner Modified over 9 years ago
1
Authors: Magesh Jayapandian and H.V. Jagadish Chris Truszkowski
2
Introduction Forms, forms, forms Form Generation Class and Analysis Query Generation Evaluation
3
Introduction class, database form: Database form, class. Introductions made Database:Query Form relationship Good form time consuming Query->Form translation not obvious Query/schema complexity ^ -> Form generation harder Tools exist, but do not shoulder entire burden
4
Forms: (N) a definition A visual representation of a query operation. Meaningful layout crucial to understanding Form elements: Constraint Result Aggregate Ordering Disjunction Join
6
Generation after generation… Query Analysis Selection Projection Sort Aggregate Join Disjunction Structure Query vs. Schema grouping
7
Class analysis time Similarity analysis Shared elements Jaccard distance Clustering Classes of similar queries Complexity
8
Query generation Reverse reverse … Simple Queries No Join Single Group Complex Queries Binding variable Algorithm GenerateQuery Input: A filled form F Output: An XQuery expression X foreach join-element j ∈ T, the relationship tree of F do Create a new binding variable v1 for the entity referenced by the left-hand side of the join condition (if it does not already exist); Create a binding variable v2 for the entity referenced by the right-hand side of the join condition (if it does not already exist); Assign v1, v2 to the group containing j; if j denotes a nested relationship then Construct a new query block b and record the current query block as its parent; Add b to B, the set of query blocks; if no join-element found then Create a single binding variable v and assign it to the root group; foreach form-group g ∈ T do Partition the form-elements in g between the two binding variables by schematic similarity; foreach binding variable v do Assign v to the lowest common ancestor of schema entities (referenced by elements) that are assigned to it; foreach query block b ∈ B do Assign a unique variable name to b and denote its associated schematic entity as its scope; Create a for clause using the variable name and scope; Create a predicate for each constraint-specification or join-specification element and add it to the where clause; Create a projection for each result-display element and add it to the return clause; Create an orderby attribute for each result-ordering element and add it to the orderby clause; foreach query block b ∈ B do Construct a let-clause that connects b to its parent block; Construct the XQuery expression X recursively using a DFS traversal of the query blocks;
9
Evaluation Size of form set Complexity of forms Expresivity Complexity vs Expresivity
10
Questions? Preguntas? Fragen?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.