Draft:Data-oriented programming

Data-oriented programming is a grouping of programming paradigms in which each paradigm is defined by its approach to code, rather than data. Just as code-oriented programming divides paradigms into imperative and declarative, and other sub-groups from there, so data-oriented programming groups its paradigms by the data structures they prioritize.

Categorization by data structure
The sub-groups are similar to the list of database models. The difference is that that list refers to database engines, whereas this is about the languages used; the languages used may or may not be part of a database engine, and one engine may support multiple models.

Some of the sub-groups are:
 * Table-oriented programming (TOP) languages, including relational database languages such as SQL, spreadsheet languages, and general-purpose TOP languages
 * Graph query languages, such as Gremlin, and RDF query languages such as SPARQL
 * Key-Value based languages, such as MUMPS, Caché ObjectScript

Other ways of categorization
Data-centric programming languages are a subset of data-oriented programming; they:
 * Are typically declarative
 * Are typically dataflow-oriented
 * Typically live in a data processing engine
 * Seem to be Domain-specific languages, rather than general-purpose languages with data-processing features.