Framework and method for consistent cross-tier data validation

US12147398B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12147398-B2
Application numberUS-202318115629-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2023
Priority dateOct 6, 2022
Publication dateNov 19, 2024
Grant dateNov 19, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer analyzes a relational schema of a database to generate a data entry schema and encodes the data entry schema as JSON. The data entry schema is sent to a database client so that the client can validate entered data before the entered data is sent for storage. From the client, entered data is received that conforms to the data entry schema because the client used the data entry schema to validate the entered data before sending the data. Into the database, the entered data is stored that conforms to the data entry schema. The data entry schema and the relational schema have corresponding constraints on a datum to be stored, such as a range limit for a database column or an express set of distinct valid values. A constraint may specify a format mask or regular expression that values in the column should conform to, or a correlation between values of multiple columns.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating, from a relational schema for a database, a data entry schema that is not a relational schema; wherein the data entry schema encodes, in a client-agnostic format, one or more validation rules that apply to data that is to be stored at specific locations in the relational schema; sending the data entry schema to a database client; receiving, from the database client, entered data that the database client has validated, based on the data entry schema, as conforming to the data entry schema; and storing, into the database, the entered data that conforms to the data entry schema. 2. The method of claim 1 wherein the one or more validation rules include a check constraint that is specified in the relational schema of the database. 3. The method of claim 2 wherein the check constraint contains at least one selected from a group consisting of: a compound expression, an expression based on a plurality of columns in the database, and an indication of whether the check constraint should be used to generate the data entry schema. 4. The method of claim 1 wherein the data entry schema contains at least one selected from a group consisting of: a version identifier, a regular expression, a limit on a count of object properties, a limit on a count of array elements, a limit on a count of array elements that match a criterion, an indication that elements of an array should be distinct, an indication that a limit value is inclusive or exclusive, a specification for data entry of a time zone, JavaScript object notation (JSON), and JSON that conforms to a JSON Schema standard by Internet Engineering Task Force (IETF). 5. The method of claim 1 further comprising without requiring restarting a server of the database, adding a new data entry format to the database, wherein said generating the data entry schema is based on the new data entry format. 6. The method of claim 1 further comprising a server of the database detecting whether the entered data conforms to the data entry schema. 7. The method of claim 6 wherein: the entered data conforms to the relational schema of the database; said detecting whether the entered data conforms to the data entry schema comprises detecting that the entered data does not conform to the data entry schema. 8. The method of claim 1 wherein said sending the data entry schema comprises using at least one selected from a group consisting of representational state (REST) and hypertext transfer protocol (HTTP). 9. The method of claim 1 wherein: said sending the data entry schema comprises sending a semi-structured document from a server of the database; extensible markup language (XML) is not contained in at least one selected from a group consisting of the relational schema of the database and the data entry schema. 10. The method of claim 1 further comprising generating a definition of a relational table from a data entry schema that is not a relational schema. 11. A method comprising: generating, from a relational schema for a database, a data entry schema that is not a relational schema, wherein: said generating the data entry schema is not performed by a database server, and the data entry schema encodes, in a client-agnostic format, one or more validation rules that apply to data that is to be stored at specific locations in the relational schema; receiving, from a database client, entered data that the database client has validated, based on the data entry schema, as conforming to the data entry schema; and storing, into the database, the entered data that conforms to the data entry schema. 12. The method of claim 11 wherein said generating the data entry schema comprises inspecting at least one selected from a group consisting of: the relational schema of the database in a database dictionary, and a set of one or more data definition language (DDL) statements. 13. The method of claim 11 wherein said database does not exist during said generating the data entry schema. 14. The method of claim 11 wherein said database client performs said generating the data entry schema. 15. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause: generating, from a relational schema for a database, a data entry schema that is not a relational schema, wherein: said generating the data entry schema is not performed by a database server, and the data entry schema encodes, in a client-agnostic format, one or more validation rules that apply to data that is to be stored at specific locations in the relational schema; receiving, from a database client, entered data that the database client has validated, based on the data entry schema, as conforming to the data entry schema; and storing, into the database, the entered data that conforms to the data entry schema. 16. The one or more non-transitory computer-readable media of claim 15 wherein said generating the data entry schema comprises inspecting at least one selected from a group consisting of: the relational schema of the database in a database dictionary, and a set of one or more data definition language (DDL) statements. 17. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause: generating, from a relational schema for a database, a data entry schema that is not a relational schema; wherein the data entry schema encodes, in a client-agnostic format, one or more validation rules that apply to data that is to be stored at specific locations in the relational schema; sending the data entry schema to a database client; receiving, from the database client, entered data that the database client has validated, based on the data entry schema, as conforming to the data entry schema; and storing, into the database, the entered data that conforms to the data entry schema. 18. The one or more non-transitory computer-readable media of claim 17 wherein said generating the data entry schema is based on a check constraint in the relational schema of the database. 19. The one or more non-transitory computer-readable media of claim 17 wherein the data entry schema contains at least one selected from a group consisting of: a version identifier, a regular expression, a limit on a count of object properties, a limit on a count of array elements, a limit on a count of array elements that match a criterion, an indication that elements of an array should be distinct, an indication that a limit value is inclusive or exclusive, a specification for data entry of a time zone, JavaScript object notation (JSON), and JSON that conforms to a JSON Schema standard by Internet Engineering Task Force (IETF). 20. The one or more non-transitory computer-readable media of claim 17 wherein: said sending the data entry schema comprises sending a semi-structured document from a server of the database; extensible markup language (XML) is not contained in at least one selected from a group consisting of the relational schema of the database and the data entry schema.

Assignees

Inventors

Classifications

  • Ensuring data consistency and integrity · CPC title

  • Data format conversion from or to a database · CPC title

  • G06F16/212Primary

    with details for data modelling support · CPC title

  • G06F16/211Primary

    Schema design and management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12147398B2 cover?
A computer analyzes a relational schema of a database to generate a data entry schema and encodes the data entry schema as JSON. The data entry schema is sent to a database client so that the client can validate entered data before the entered data is sent for storage. From the client, entered data is received that conforms to the data entry schema because the client used the data entry schema …
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/212. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 19 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).