# US 8,751,216 B2 · Table merging with row data reduction

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,216 B2
- Document ID: US8751216B2
- Status: Granted
- Kind: B2
- Application number: 12/982,605
- Filed: 2010-12-30
- Published: 2012-07-05
- Granted: 2014-06-10
- Earliest claimed: 2010-12-30
- Assignees: International Business Machines Corporation
- Applicants: Rouba Akiki; Thomas J. Dinger; John McEvoy; Kathleen Murray
- Inventors: Rouba Akiki; Thomas J. Dinger; John McEvoy; Kathleen Murray
- Web page: https://patentgrep.com/patent/US8751216B2

## CPC

- G06F 40/177: of tables; using ruled lines
- G06F 16/221: {Column-oriented storage; Management thereof}
- G06F 16/24556: {Aggregation; Duplicate elimination}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of the present invention provide a method, system and computer program product for the table merging of correlated columns with row data reduction. In an embodiment of the invention, a method for table merging with row data reduction for merged columns can include selecting a first table of columns and a second table of columns for merger in a computer data processing system. A column of rows in the first table can be matched with a column of rows in the second table. Subsequently, it can be determined that the rows of the first table are the same in number as the rows of the second table and that the matched columns include identical data in the respective ones of the rows. Consequently, a merged table of an aggregation of the columns of the first table and the second table can be generated to exclude from the aggregation one of the matched columns that includes identical data in the respective ones of the rows as the other of the matched columns.

## Claims

### Claim 1

A method for table merging with row data reduction for merged columns, the method comprising:
selecting a first table of a plurality of columns and a second table of a plurality of columns for merger in a computer data processing system;
matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table;
determining whether the rows of the first table are the same in number as the rows of the second table and whether the matched columns include identical data in the respective ones of the rows;
if it is determined that the rows of the first table are the same in number as the rows of the second table and that the matched columns include identical data in the respective ones of the rows, generating in a merged table an aggregation of the columns of the first table and the second table, but excluding in the aggregation of the columns of the merged table one of the matched columns that includes identical data in the respective ones of the rows as the other of the matched columns; and
if it is determined that the rows of the first table are not the same in number as the rows of the second table or that the matched columns do not include identical data in the respective ones of the rows, generating in a merged table an aggregation of the columns of the first table and the second table in which the matching columns with disparate data are merged into a column with an aggregation of the disparate data.

### Claim 2 (depends on 1)

The method of claim 1, wherein matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises matching each word in a column header of a column of a plurality of rows in the first table with each word in a column header of a column of a plurality of rows in the second table.

### Claim 3 (depends on 1)

The method of claim 1, wherein matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises:
determining that a term in a column header for the column in the first table is of a primary language, while a term in a column header for the column in the second table is of a different language;
performing language translation of the term in the column header for the column in the second table from the different language into the primary language; and,
matching the term in the column header of the column in the first table in the primary language with the translated term in the column header of the column in the second table.

### Claim 4 (depends on 1)

The method of claim 1, wherein matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises performing textual analysis of terms in a column header for the column in the first table to equate the terms to textually disparate terms in a column header for the column in the second table.

### Claim 5 (depends on 1)

The method of claim 1 wherein matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises:
comparing data in the rows of the column in the first table with data in the rows of the of the column in the second table; and,
determining that the column in the first table matches the column in the second table when the data in the rows of the column in the first table are of a same type as data in the rows of the column in the second table.

### Claim 6

A computer data processing system configured for table merging with row data reduction for merged columns, the system comprising:
a computer with at least one processor and memory;
first and second tables loaded into the memory of the computer; and,
a table merge with row data reduction module executing in the memory of the computer, the module comprising program code enabled to
select the first and second tables for merger,
match a column of a plurality of rows in the first table with a column of a plurality of rows in the second table,
determine whether the rows of the first table are the same in number as the rows of the second table and whether the matched columns include identical data in the respective ones of the rows,
if it is determined that the rows of the first table are the same in number as the rows of the second table and that the matched columns include identical data in the respective ones of the rows, generate in a merged table an aggregation of the columns of the first table and the second table, but to exclude in the aggregation of the columns of the merged table one of the matched columns that includes identical data in the respective ones of the rows as the other of the matched columns, and
if it is determined that the rows of the first table are not the same in number as the rows of the second table or that the matched columns do not include identical data in the respective ones of the rows, generate in a merged table an aggregation of the columns of the first table and the second table in which the matching columns with disparate data are merged into a column with an aggregation of the disparate data.

### Claim 7 (depends on 6)

The system of claim 6, wherein the first and second tables are disposed in a database management system.

### Claim 8 (depends on 6)

The system of claim 6, wherein the first and second tables are disposed in a document.

### Claim 9 (depends on 6)

The system of claim 6, wherein the program code of the module matches the columns by comparing terms of respective column headers of the columns.

### Claim 10 (depends on 6)

The system of claim 6, wherein the program code of the module matches the columns by language translating a term of a column header of one of the columns into a language for a term of a column header for another of the columns and comparing the term of the one of the columns with the translated term of the another of the columns.

### Claim 11 (depends on 6)

The system of claim 6, wherein the program code of the module matches the columns by performing textual analysis of respective column headers of the columns.

### Claim 12 (depends on 6)

The system of claim 6, wherein the program code of the module matches the columns by comparing data types in the rows of the columns and concluding a match where the data types of the rows match.

### Claim 13

A computer program product for table merging with row data reduction for merged columns, the computer program product comprising:
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code for selecting a first table of a plurality of columns and a second table of a plurality of columns for merger in a computer data processing system;
computer readable program code for matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table;
computer readable program code for determining whether the rows of the first table are the same in number as the rows of the second table and whether the matched columns include identical data in the respective ones of the rows;
computer readable program code for, if it is determined that the rows of the first table are the same in number as the rows of the second table and that the matched columns include identical data in the respective ones of the rows, generating in a merged table an aggregation of the columns of the first table and the second table, but excluding in the aggregation of the columns of the merged table one of the matched columns that includes identical data in the respective ones of the rows as the other of the matched columns; and
computer readable program code for, if it is determined that the rows of the first table are not the same in number as the rows of the second table or that the matched columns do not include identical data in the respective ones of the rows, generating in a merged table an aggregation of the columns of the first table and the second table in which the matching columns with disparate data are merged into a column with an aggregation of the disparate data.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code for matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises matching each word in a column header of a column of a plurality of rows in the first table with each word in a column header of a column of a plurality of rows in the second table.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code for matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises:
computer readable program code for determining that a term in a column header for the column in the first table is of a primary language, while a term in a column header for the column in the second table is of a different language;
computer readable program code for performing language translation of the term in the column header for the column in the second table from the different language into the primary language; and,
computer readable program code for matching the term in the column header of the column in the first table in the primary language with the translated term in the column header of the column in the second table.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code for matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises computer readable program code for performing textual analysis of terms in a column header for the column in the first table to equate the terms to textually disparate terms in a column header for the column in the second table.

### Claim 17 (depends on 13)

The computer program product of claim 13 wherein the computer readable program code for matching a column of a plurality of rows in the first table with a column of a plurality of rows in the second table, comprises:
computer readable program code for comparing data in the rows of the column in the first table with data in the rows of the of the column in the second table; and,
computer readable program code for determining that the column in the first table matches the column in the second table when the data in the rows of the column in the first table are of a same type as data in the rows of the column in the second table.
