IP Library Granted Patent US 10,248,620
Granted Patent B2
US 10,248,620 · App. 14/785,744 · Granted Apr 2, 2019

Database table column annotation

Inventors: Hoa Binh Nga Tran (Andover, MA); Lakshmikant Shrinivas (Lexington, MA); Kanti Marita Mann (Cambridge, MA)
Assignee: ENTIT SOFTWARE LLC
G06F16/221G06F16/211G06F16/2379G06F16/284G06F17/3051G06F17/30469G06F17/30595G06F16/24565
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,248,620
App. No.
14/785,744
Granted
Apr 2, 2019
Kind
B2
Abstract

According to an example, database constraint generation may include receiving data related to a table in a database, analyzing the data to determine a row count for a column of the table, and analyzing the data to determine a number of distinct values for the column of the table. A comparison value may be determined by comparing the row count to the number of distinct values. The database constraint generation may further include determining if the comparison value is within a threshold. If the comparison value is within the threshold, an annotation may be added to the column of the table such that the column is considered unique during a cardinality estimation process involving the table.

Claims (53)

1. A method for database constraint generation, the method comprising:

receiving data related to a table in a database;

analyzing the data to determine a row count for a column of the table;

analyzing the data to determine a number of distinct values for the column of the table;

determining a comparison value by comparing the row count to the number of distinct values;

determining if the comparison value is within a threshold; and

if the comparison value is within the threshold, adding, by a processor, an annotation to the column specifying a soft-unique constraint for the column,

wherein the soft-unique constraint indicates the column is considered unique during a cardinality estimation process involving the table, and further indicates to restrict enforcement of a unique property of the column upon data insertions or updates to the column.

2. The method of claim 1 , wherein in response to a data insertion or update for the column and upon determining the column is annotated with the soft-unique constraint,

restricting enforcement of a unique property of the column for the data insertion or the update to the column.

3. The method of claim 2 , wherein restricting enforcement of the unique property of the column comprises:

restricting enforcement of a unique key or a primary key of the column upon the data insertion or the update to the column.

4. The method of claim 1 , wherein analyzing the data to determine the number of distinct values for the column of the table further comprises:

analyzing the data to determine the number of distinct values for each column of the table.

5. The method of claim 1 , wherein determining the comparison value by comparing the row count to the number of distinct values further comprises:

determining the comparison value as a percentage value based on a difference between the row count and the number of distinct values.

6. The method of claim 1 , wherein the threshold is greater than approximately 0%.

7. The method of claim 1 , further comprising:

configuring the threshold based on user input related to a percentage difference between the row count and the number of distinct values.

8. A database constraint generation apparatus comprising:

a memory storing machine-readable instructions to:

receive data related to a table in a database;

analyze the data to determine a row count for a column of the table;

analyze the data to determine a number of distinct values for the column of the table;

determine a comparison value by comparing the row count to the number of distinct values;

determine if the comparison value is within a threshold;

if the comparison value is within the threshold, add an annotation to the column specifying a soft-unique constraint for the column,

wherein the soft-unique constraint indicates the column is considered unique during a cardinality estimation process involving the table, and further indicates to restrict enforcement of a unique property of the column upon data insertions or updates to the column; and

in response to a data insertion or update for the column and in response to determining the column is annotated with the soft-unique constraint, restrict enforcement of a unique property of the column for the data insertion or the update to the column; and

a processor to implement the machine-readable instructions.

9. The database constraint generation apparatus of claim 8 , wherein the machine-readable instructions are further to:

consider the column unique during a cardinality estimation process involving the table responsive to determining the column is annotated with the soft-unique constraint of the column.

10. The database constraint generation apparatus of claim 8 , wherein to restrict enforcement of the unique property of the column upon the data insertion or update, the machine-readable instructions are further to:

restrict enforcement of a unique key or a primary key of the column upon the data insertion or the data update to the column.

11. The database constraint generation apparatus of claim 8 , wherein to analyze the data to determine the number of distinct values for the column of the table, the machine-readable instructions are further to:

analyze the data to determine the number of distinct values for each column of the table.

12. The database constraint generation apparatus of claim 8 , wherein to determine the comparison value by comparing the row count to the number of distinct values, the machine-readable instructions are further to:

determine the comparison value as a percentage value based on a difference between the row count and the number of distinct values.

13. The database constraint generation apparatus of claim 8 , wherein the threshold is greater than approximately 0%.

14. The database constraint generation apparatus of claim 8 , the machine-readable instructions are further to:

configure the threshold based on user input related to a percentage difference between the row count and the number of distinct values.

15. A non-transitory computer readable medium having stored thereon machine-readable instructions to provide database constraint generation, the machine-readable instructions, when executed, cause a computer system to:

receive data related to a table in a database;

analyze the data to determine a row count for a column of the table;

analyze the data to determine a number of distinct values for the column of the table;

determine a comparison value by comparing the row count to the number of distinct values;

determine if the comparison value is within a threshold; and

if the comparison value is within the threshold, add, by a processor, an annotation to the column of the table to:

restrict enforcement of a unique property of the column upon data insertions or updates to the column, and

consider the column unique during a cardinality estimation process involving the table.

16. The non-transitory computer readable medium of claim 15 , wherein the machine-readable instructions, when executed, cause a computer system to:

in response to a data insertion or update for the column and in response to determining the column is annotated with the soft-unique constraint, restrict enforcement of a unique property of the column for the data insertion or the update to the column; and

consider the column unique during a cardinality estimation process involving the table responsive to determining the column is annotated with the soft-unique constraint of the column.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2026
From: MICRO FOCUS LLC
To: ROCKET SOFTWARE, INC.
Reel/Frame 075795/0114 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 038345/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: TRAN, HOA BINH NGA; SHRINIVAS, LAKSHMIKANT; MANN, KANTI MARITA
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 036835/0854 →
Continuity (1)
Related Publication 20160078070A1 · Mar 17, 2016