IP Library Granted Patent US 7,882,117
Granted Patent B1
US 7,882,117 · App. 11/612,519 · Granted Feb 1, 2011

First normal form (1NF) data normalizer

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 7,882,117
App. No.
11/612,519
Granted
Feb 1, 2011
Kind
B1
Abstract

An embodiment of the invention provides for receiving a data-value-location indication from which a set of data values that are to be normalized can be determined, determining column-header and row-header information associated with the set of data values, and automatically creating a set of associations, wherein, for each data value in the set of data values, each association associates respective column-header and row-header information with a single data value such that no data is duplicated per row of a table that is composed of rows of data created from the associations.

Claims (30)

1. One or more computer-readable storage media having computer-useable instructions embodied thereon for performing a method of manipulating one or more memories of a computing device that originally contained a dataset of multiple values per row in an array having Y rows and Z columns into one or more memories that store a single value per row in an array having Y*Z rows, the method comprising:

receiving an indication of a first data-value location containing a first data value of a set of data values to be normalized into first normal form, wherein the first data-value location is the most upper left data value in a matrix of data values having Y rows and Z columns that is bounded by a first row, a first column, a last row, and a last column;

determining a number of columns that contain data values based on the first data-value location;

determining a number of rows that contain data values based on the first data-value location;

determining a number of header rows that contain header-row label information based on the first data-value location;

determining a number of header columns that contain header-column label information based on the first data-value location; and

based on the number of columns, the number of rows, the number of header rows, the number of header columns, the header-row information, and the header-column information, automatically generating N number of rows of data, wherein N=Y*Z, and further wherein each of N rows includes one of the data values uniquely and respectively associated with the header-column label information and with the header-row information.

2. The media of claim 1 , wherein receiving said indication of said first data-value location includes receiving said indication by way of a graphical user interface (GUI).

3. The media of claim 1 , wherein receiving said indication of said first data-value location includes receiving said indication by way of a selection of a cell in a spreadsheet program.

4. The media of claim 1 , wherein determining the number of columns that contain data values includes counting a number of columns that contain header data starting with a column associated with the first data-value location.

5. The media of claim 1 , wherein determining the number of columns that contain data values includes determining a last column that includes a data value, and determining a difference between said last column and a column associated with said first data-value location.

6. The media of claim 5 , wherein determining said last column includes determining a final column that contains header information.

7. The media of claim 1 , wherein determining the number of rows that contain data values includes counting a number of rows that include header-row data starting with a row that includes said first data-value location.

8. The media of claim 1 , wherein determining the number of rows that contain data values includes determining a final row that includes data values, and determining a difference between said final row and a row that includes said first data-value indication.

9. The media of claim 8 , wherein determining said final row includes determining which row is the last row to contain header-row information.

10. The media of claim 1 , wherein generating said N rows of data includes storing row-header information and column-header information for subsequent retrieval in connection with each of said data values.

11. An application plug-in stored in memory that utilizes the computer-useable instructions of claim 1 .

12. A spreadsheet application that includes the computer-useable instructions of claim 1 .

13. One or more computer-readable media having computer-useable instructions embodied thereon for performing a method of manipulating one or more memories of a computing device that originally contained a dataset of multiple values per row in an array having Y rows and Z columns into one or more memories that store a single value per row in an array having Y*Z rows, the method comprising:

receiving an indication of a first data-value location containing a first data value of a set of data values to be normalized into first normal form, wherein the first data-value location is the most upper left data value in a matrix of data values having Y rows and Z columns that is bounded by a first row, a first column, a last row, and a last column;

determining a number of columns that contain data values based on a difference between a location of the last column and a location of the first column;

determining a number of rows that contain data values based on a difference between a location of the last row and a location of the first row;

determining a number of header rows that contain header-row label information based on the first data-value location;

determining a number of header columns that contain header-column label information based on the first data-value location; and

based on the number of columns, the number of rows, the number of header rows, the number of header columns, the header-row information, and the header-column information, automatically generating N number of rows of data, wherein N=Y*Z, and further wherein each of N rows includes one of the data values uniquely and respectively associated with the header-column label information and with the header-row information.

14. The media of claim 13 , wherein receiving said indication of said first data-value location includes receiving said indication by way of a graphical user interface (GUI).

15. The media of claim 1 , wherein receiving said indication of said first data-value location includes receiving said indication by way of a selection of a cell in a spreadsheet program.

16. The media of claim 1 , wherein generating said N rows of data includes storing row-header information and column-header information for subsequent retrieval in connection with each of said data values.

17. An application plug-in stored in memory that utilizes the computer-useable instructions of claim 13 .

18. A spreadsheet application that includes the computer-useable instructions of claim 13 .

Assignments (2)
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →