# US 10,311,029 B2 · Shared database dictionaries

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

- Number: US 10,311,029 B2
- Document ID: US10311029B2
- Status: Granted
- Kind: B2
- Application number: 15/397,961
- Filed: 2017-01-04
- Published: 2018-07-05
- Granted: 2019-06-04
- Earliest claimed: 2017-01-04
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Toni Fabijancic; Sebastian Mietke
- Web page: https://patentgrep.com/patent/US10311029B2

## CPC

- G06F 16/212: {with details for data modelling support}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system includes determination of a match between a first table column of a plurality of table columns of database tables and a second table column of the plurality of table columns, determination, based on stored metadata, of a first data dictionary associated with the first table column and a second data dictionary associated with the second table column, merging of the first data dictionary and the second data dictionary to generate a merged data dictionary, and modification of the stored metadata to associate the first data dictionary with the merged data dictionary and to associate the second data dictionary with the merged data dictionary.

## Claims

### Claim 1

A system comprising:
a data storage device storing:
one or more database tables, the one or more database tables comprising a plurality of table columns; and
a database management system to:
determine a match between a first one of the plurality of table columns and a second one of the plurality of table columns, wherein determination of the match comprises determination that an overlap of values of the first one of the plurality of table columns and values of the second one of the plurality of table columns is greater than a threshold;
determine, based on stored metadata, a first data dictionary associated with the first one of the plurality of table columns and a second data dictionary associated with the second one of the plurality of table columns;
merge the first data dictionary and the second data dictionary to generate a merged data dictionary; and
modify the stored metadata to associate the first data dictionary with the merged data dictionary and to associate the second data dictionary with the merged data dictionary.

### Claim 2 (depends on 1)

A system according to claim 1, wherein determination of the match comprises determination of a match between the first one of the plurality of table columns, the second one of the plurality of table columns, and a third one of the plurality of table columns,
wherein merging of the first data dictionary and the second data dictionary comprises merging of the first data dictionary, the second data dictionary and the third data dictionary to generate the merged data dictionary, and
wherein modification of the stored metadata comprises modification of the stored metadata to associate the third data dictionary with the merged data dictionary.

### Claim 3 (depends on 2)

A system according to claim 2, wherein the first one of the plurality of table columns and the second one of the plurality of table columns belong to a same database table, and wherein the third one of the plurality of table columns belongs to a different database table.

### Claim 4 (depends on 1)

A system according to claim 1, the database management system to determine the threshold based on a setting indicating a relative priority between reduced memory consumption and increased performance.

### Claim 5 (depends on 1)

A system according to claim 1, wherein the first one of the plurality of table columns and the second one of the plurality of table columns belong to a same database table.

### Claim 6 (depends on 1)

A system according to claim 1, wherein the first one of the plurality of table columns and the second one of the plurality of table columns belong to different database tables.

### Claim 7 (depends on 1)

A system according to claim 1, the database management system to:
receive an instruction to commit a first value to the first one of the plurality of table columns;
determine a first value ID from the merged data dictionary based on the first value;
store the first value ID in the first one of the plurality of table columns;
receive an instruction to commit a second value to the second one of the plurality of table columns;
determine a second value ID from the merged data dictionary based on the second value; and
store the second value ID in the second one of the plurality of table columns.

### Claim 8

A computer-implemented method comprising:
determining a match between a first table column of a plurality of table columns of database tables and a second table column of the plurality of table columns, wherein determining the match comprises determining that an overlap of the values of the first one of the plurality of table columns and the values of the second one of the plurality of table columns is greater than a threshold;
determining, based on stored metadata, a first data dictionary associated with the first table column and a second data dictionary associated with the second table column;
merging the first data dictionary and the second data dictionary to generate a merged data dictionary; and
modifying the stored metadata to associate the first data dictionary with the merged data dictionary and to associate the second data dictionary with the merged data dictionary.

### Claim 9 (depends on 8)

A method according to claim 8, wherein determining the match comprises determining a match between the first table column, the second table column, and a third table column of the plurality of table columns,
wherein merging the first data dictionary and the second data dictionary comprises merging of the first data dictionary, the second data dictionary and the third data dictionary to generate the merged data dictionary, and
wherein modifying the stored metadata comprises modifying the stored metadata to associate the third data dictionary with the merged data dictionary.

### Claim 10 (depends on 9)

A method according to claim 9, wherein the first one table column and the second table column belong to a same database table, and wherein the third table column belongs to a different database table.

### Claim 11 (depends on 8)

A method according to claim 8, further comprising determining the threshold based on a setting indicating a relative priority between reduced memory consumption and increased performance.

### Claim 12 (depends on 8)

A method according to claim 8, wherein the first table column and the second table column belong to a same database table.

### Claim 13 (depends on 8)

A method according to claim 8, wherein the first table column and the second table column belong to different database tables.

### Claim 14 (depends on 8)

A method according to claim 8, further comprising:
receiving an instruction to commit a first value to the first table column;
determining a first value ID from the merged data dictionary based on the first value;
storing the first value ID in the first table column;
receiving an instruction to commit a second value to the second table column;
determining a second value ID from the merged data dictionary based on the second value; and
storing the second value ID in the second table column.

### Claim 15 (depends on 1)

A system according to claim 1, the database management system to:
encode values to be stored in the first one of the plurality of table columns and values to be stored in the second one of the plurality of table columns based on the merged data dictionary.

### Claim 16 (depends on 15)

A system according to claim 15, wherein encoding of values to be stored in the first column and values to be stored in the second column comprises:
reception of an instruction to commit a first value to the first one of the plurality of table columns;
determination of a first value ID from the data dictionary based on the first value;
storage of the first value ID in the first one of the plurality of table columns;
reception of an instruction to commit a second value to the second one of the plurality of table columns;
determination of a second value ID from the merged data dictionary based on the second value; and
storage of the second value ID in the second one of the plurality of table columns.

### Claim 17

A non-transitory computer-readable medium storing processor-executable process steps, the process steps executable by a processor to:
determine a match between a first table column of a plurality of table columns of database tables and a second table column of the plurality of table columns, wherein determination of the match comprises determination that an overlap of values of the first one of the plurality of table columns and values of the second one of the plurality of table columns is greater than a threshold;
determine, based on stored metadata, a first data dictionary associated with the first table column and a second data dictionary associated with the second table column;
merge the first data dictionary and the second data dictionary to generate a merged data dictionary; and
modify the stored metadata to associate the first data dictionary with the merged data dictionary and to associate the second data dictionary with the merged data dictionary.

### Claim 18 (depends on 17)

A non-transitory computer-readable medium according to claim 17, wherein determination of the match comprises determination of a match between the first table column, the second table column, and a third table column of the plurality of table columns,
wherein merging of the first data dictionary and the second data dictionary comprises merging of the first data dictionary, the second data dictionary and the third data dictionary to generate the merged data dictionary, and
wherein modification of the stored metadata comprises modification of the stored metadata to associate the third data dictionary with the merged data dictionary.
