IP Library Granted Patent US 9,600,502
Granted Patent B1
US 9,600,502 · App. 15/017,857 · Granted Mar 21, 2017

Evaluating a database design and modifications thereto

Inventors: Michael Battaglia (Yorktown Heights, NY); Heather Smith (Yorktown Heights, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30297G06F17/3053
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 9,600,502
App. No.
15/017,857
Granted
Mar 21, 2017
Kind
B1
Abstract

Embodiments include method, systems and computer program products for evaluating a database design. Aspects include receiving a first database definition for a first database comprising multiple database object definitions; receiving database design rules; calculating object scores representing a compliance between the database object definitions with the database design rules; calculating a first database score based on the object scores; receiving a second database definition for a proposed modification to the first database, wherein the second database definition includes modified database object definitions; calculating object scores representing a compliance between the modified database object definitions of the second database definition with the one or more database design rules; calculating a second database score based on the object scores; displaying the first and second database score; displaying a cause of a difference between the first and second database scores; and receiving an indication of whether to implement the second database definition.

Claims (52)

1. A computer-implemented method for evaluating database designs comprising:

receiving, by a processing device, a first database definition representing a first database, wherein the first database definition comprises one or more database object definitions;

receiving one or more database design rules;

calculating object scores representing a compliance between each of the one or more database object definitions of the first database definition with the one or more database design rules;

calculating a first database score based on the object scores corresponding to the first database definition;

receiving, by the processing device, a second database definition representing a proposed modification to the first database, wherein the second database definition includes one or more modified database object definitions;

calculating object scores representing a compliance between each of the one or more modified database object definitions of the second database definition with the one or more database design rules;

calculating a second database score based on the object scores corresponding to the second database definition;

displaying, to a user, the first database score and the second database score;

displaying a cause of a difference between the first database score and the second database score; and

receiving, from the user, an indication of whether to implement the second database definition.

2. The method of claim 1 , wherein the first database is an active database.

3. The method of claim 1 , wherein the one or more database design rules comprise a decision tree of database design best practices, wherein each of the one or more database design rules includes a ranking based on an importance of the one or more database design rules.

4. The method of claim 1 , wherein the calculating the first database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

5. The method of claim 1 , wherein calculating the second database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more modified database object definitions of the second database definition.

6. The method of claim 1 , wherein calculating the first database score is based upon a summation of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

7. The method of claim 1 , wherein the calculating the second database scores is based upon a summation of the object scores representing the compliance between each of the one or more modified database object definitions of the second database definition.

8. The method of claim 1 , further comprising receiving, from the user, a plurality of inline attribute extensions, wherein the plurality of inline attribute extensions describe a motivation for an implementation decision.

9. A system for evaluating database designs, the system comprising:

a processor configured to:

receive a first database definition representing a first database, wherein the first database definition comprises one or more database object definitions;

receive one or more database design rules;

calculate object scores representing a compliance between each of the one or more database object definitions of the first database definition with the one or more database design rules;

calculate a first database score based on the object scores corresponding to the first database definition;

receive a second database definition representing a proposed modification to the first database, wherein the second database definition includes one or more modified database object definitions;

calculate object scores representing a compliance between each of the one or more modified database object definitions of the second database definition with the one or more database design rules;

calculate a second database score based on the object scores corresponding to the second database definition;

display, to a user, the first database score and the second database score;

display a cause of a difference between the first database score and the second database score; and

receive, from the user, an indication of whether to implement the second database definition.

10. The system according to claim 9 , wherein the first database is an active database.

11. The system according to claim 9 , wherein the one or more database design rules comprise a decision tree of database design best practices, wherein each of the one or more database design rules includes a ranking based on an importance of the one or more database design rules.

12. The system according to claim 9 , wherein calculating the first database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

13. The system according to claim 9 , wherein calculating the second database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more modified database object definitions of the second database definition.

14. The system according to claim 9 , wherein calculating the first database score is based upon a summation of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

15. The system according to claim 9 , wherein calculating the second database scores is based upon a summation of the object scores representing the compliance between each of the one or more modified database object definitions of the second database definition.

16. A computer program product for evaluating database designs, the computer program product comprising a computer readable storage medium having program instruction embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

receiving, by the processor, a first database definition representing a first database,

wherein the first database definition comprises one or more database object definitions;

receiving one or more database design rules;

calculating object scores representing a compliance between each of the one or more database object definitions of the first database definition with the one or more database design rules;

calculating a first database score based on the object scores corresponding to the first database definition;

receiving, by the processor, a second database definition representing a proposed modification to the first database, wherein the second database definition includes one or more modified database object definitions;

calculating object scores representing a compliance between each of the one or more modified database object definitions of the second database definition with the one or more database design rules;

calculating a second database score based on the object scores corresponding to the second database definition;

displaying, to a user, the first database score and the second database score;

displaying a cause of a difference between the first database score and the second database score; and

receiving, from the user, an indication of whether to implement the second database definition.

17. The computer program product of claim 16 , wherein the first database is an active database.

18. The computer program product of claim 16 , wherein the calculating the first database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

19. The computer program product of claim 16 , wherein calculating the second database score is performed by creating a weighted average of the object scores representing the compliance between each of the one or more modified database object definitions of the second database definition.

20. The compute program product of claim 16 , wherein calculating the first database score is based upon a summation of the object scores representing the compliance between each of the one or more database object definitions of the first database definition.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: BATTAGLIA, MICHAEL; SMITH, HEATHER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037685/0464 →