ISO IEC 19075-8:2021 pdf download – Information technology — Guidance for the use of database language SQL — Part 8: Multidimensional arrays.
4 Multidimensional arrays (MDA) concepts 4.1 Context of multidimensional arrays The requirements for the material discussed in this document shall be as specified in ISO/IEC 9075-1 and ISO/IEC 9075-15. 4.2 Concept The phrase “(Multidimensional) array, raster data” is used to refer to arrays generally, in contrast to the MD-array term confined to the realm of SQL/MDA. It is not to be confused with the term “array” in ISO/IEC 9075-2. This document uses the term ARRAY for the original SQL array collection type. The array concept is a simple and efficient data representation that finds its use in a wide array of fields, business-related as well as scientific and engineering. Many sensors, images, image time-series, simulation processes, statistical models, and so on, produce raw data that can immediately be classified as array data. These data may be naturally arranged along more than one axis: position and time, for example. A multidimensional array (MDA) is a set of elements ordered in a multidimensional space. The space considered here is discretized (also called rasterized or gridded), that is, only integer coordinates are admitted as positions of the individual array elements. The number of integers needed to refer to a par- ticular position in this space is the array’s dimension (sometimes also referred to as its dimensionality). An element can be a single value (such as an intensity value in case of greyscale images) or a composite value (such as integer triples for the red, green, and blue components of a true-color image). All elements of an array share the same structure, referred to as the array’s element type. 4.3 Why consider support for MDA in SQL? Large multidimensional arrays in particular represent a prevalent data type across most scientific domains, with examples including 1-D sensor data, 2-D satellite images and microscope scans, 3-D x/y/t image time-series and x/y/z voxel models, as well as 4-D and 5-D climate models.
4.5.2 Array data ingestion and storage The question posed by this use case is “How is array data acquired using SQL?” As discussed earlier in Subclause 4.4, “Array representations”, arrays exist in a wide variety of formats. In order to work with them in a generic way in SQL, it is necessary to build an abstract data model that fits with the SQL philosophy. The MD-array as defined by SQL/MDA provides exactly such a data model, implemented as a new attribute type MDARRAY. Ingestion of array data encoded in an external format into SQL involves transforming it or decoding it into an instance of the internal MD-array data model, which is then inserted into an MDARRAY column of an appropriate type.