Database Multi-Part Identifier Binding with Ambiguity Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in accurately interpreting multi-part identifiers, leading to incorrect results due to ambiguity and lack of useful error messages when multiple interpretations bind successfully or none bind at all.

Innovation Solution

A method is implemented where multi-part identifiers are bound part-by-part in a left-to-right order, generating a score for unsuccessful attempts, and outputting specific error messages based on the number of successful bindings to clarify user intent and provide useful feedback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the database uses the conventional 'most local' interpretation algorithm to resolve multi-part identifier ambiguity, then the binding process is simple and fast, but the returned result may be incorrect without any indication to the user

Engineering Contradiction:
Improvebinding speedVSAvoidresult accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces feedback mechanisms that provide users with information about binding attempts and results. When multiple interpretations bind successfully or none bind, the system generates informative error messages that feedback to the user about what was attempted and why it failed, enabling the user to correct the query and obtain accurate results.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary binding attempts for all possible interpretations before returning a result. Instead of immediately returning the first successful binding, the system preliminarily evaluates all interpretations and only returns a result when exactly one interpretation binds successfully, ensuring reliability before productivity concerns arise.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the database attempts to resolve all possible interpretations of a multi-part identifier, then the result accuracy improves, but the complexity of the binding process increases

Engineering Contradiction:
Improveresult accuracyVSAvoidbinding process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the binding process into distinct phases: attempting to bind each possible interpretation separately, evaluating the success of each binding attempt, and then making a determination based on the results. This segmentation manages complexity by breaking down the complex resolution process into manageable, independent steps.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of binding success from a simple boolean to a count of successful bindings. By tracking how many interpretations bind successfully (zero, one, or multiple), the system can make informed decisions about result reliability without requiring overly complex analysis of each individual binding attempt.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the database returns a result when multiple interpretations bind successfully, then productivity is maintained, but the user cannot detect that the result is incorrect

Engineering Contradiction:
Improvequery response speedVSAvoiduser awareness of ambiguity
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent uses feedback to inform users when ambiguity exists. When multiple interpretations bind successfully, the system generates an error message that feedbacks to the user about the ambiguity, preventing silent incorrect results while maintaining productivity by clearly indicating what went wrong and how to fix it.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent converts the harmful situation of ambiguous bindings into a beneficial error message. Instead of silently returning potentially wrong results, the system uses the ambiguity to generate informative feedback that helps the user understand and correct their query, turning a problem into an opportunity for user education and correct query formulation.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

4Device complexity

If the database issues a generic error message when binding fails, then the error handling is simple, but the user cannot understand what went wrong or how to fix it

Engineering Contradiction:
Improveerror handling complexityVSAvoiduser ability to troubleshoot
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements feedback-rich error messages that explain what binding attempts were made and why they failed. Instead of generic errors, the system provides specific information about which interpretations were attempted, what the scores were, and what the user can do to resolve the issue, greatly improving ease of operation and troubleshooting.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary analysis of all binding attempts before generating the error message. By preliminarily evaluating each interpretation and tracking the scores, the system can provide detailed, actionable error information without adding complexity to the error handling process itself, as the analysis is already complete.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7580923B2Binding for multi-part identifiers
Publication Date: 2009.08.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7580923B2 patent drawing
  • US7580923B2 patent drawing
  • US7580923B2 patent drawing

AI summary

Methods and computer-readable media for binding a query containing one or more multi-part identifiers in a database. An attempt is made to bind a multi-part identifier that has at least one part to any data in a database that corresponds to the at least one part. A score that is proportional to the number of parts that bind successfully in each multi-part identifier binding attempt is generated for each unsuccessful binding attempt. A result is outputted if one successful multi-part identifier binding occurred. A first error message corresponding to the multi-part identifier binding attempt having a highest score is outputted if no successful bindings occurred. A second error message is outputted if more than one successful multi-part identifier binding occurred.