INSPIRE-MIF / 2017.2

Repository for action 2017.2 on alternative encodings
6 stars 11 forks source link

Definition of flattening - denormalisation #29

Closed PalmJanssen closed 5 years ago

PalmJanssen commented 5 years ago

Related to the concept of flattening data structure.

We must come up with a proper (working) definition of what we mean by flattening of data structures. I suppose this can be found somewhere already or the editor can take care of it.

We usually take the different levels of simple features as levels of complexity. SF0 being the one that usually is the intended goal of a flattened data structure.

heidivanparys commented 5 years ago

Maybe the following concepts could be helpful?

concept model

data structure physical or logical relationship among units of data and the data themselves [ISO/IEC 2382:2015, 2122353]

flat data structure data structure in which records have no structured interrelationship NOTE This requires that an application knows how the data are organized within the data structure. [FEDERAL HIGHWAY ADMINISTRATION. Data Integration Glossary [online]. 2001. Available from: https://www.fhwa.dot.gov/infrastructure/asstmgmt/010394.pdf]

tree tree data structure, hierarchical data structure data structure containing nodes that are linked together hierarchically with at most one parent node for each node, and with only one root node [ISO/IEC 2382:2015, 2121633]

network structure network data structure data structure that arranges entities or attributes as nodes and that, in contrast to a tree structure, permits nodes to have multiple parent nodes [ISO/IEC 2382:2015, 2121486]

relational structure relational data structure data structure in which the data are arranged as relations [ISO/IEC 2382:2015, 2121468]

record <organization of data> set of data elements treated as a unit [ISO/IEC 2382:2015, 2121601]

data element <organization of data> unit of data that is considered in context to be indivisible [ISO/IEC 2382:2015, 2121599]

relation set of entity occurrences that have the same attributes, together with these attributes [ISO/IEC 2382:2015, 2121466]

Examples of flat data structure:

Examples of tree data structure:

Examples of relation structure:

Question: How about multiplicity > 1? Is that by definition not flat?

I am not sure that using the concept normalization is a good idea, as it is used typically in connection to relational databases as far as I know:

normalization <relational database> process of transforming a relation into one or more simpler relations free of attribute redundancies or inconsistencies in order to support referential integrity [ISO/IEC 20944-1:2013, 3.14.4.12]

heidivanparys commented 5 years ago

For clarity, I copy here an extract of [1] FEDERAL HIGHWAY ADMINISTRATION. Data Integration Primer [online]. August 2010. Available from: https://www.fhwa.dot.gov/asset/dataintegration/if10019/if10019.pdf

I found this document in the search for a definiton of "flattening" and "flat model". I think it could be useful, especially if we can strengthen the definitions so they fit with the ISO and other relevant standards in this area, f.eks. ISO/IEC 2382:2015.

Hierarchical data structure, network data structure and relational data structure are available in ISO/IEC 2382:2015 as mentioned above. Flat data structure is not, so we may have to define that concept further, and, if needed, introduce additional concepts if it turns out that we can define possible categories of "flat data structures".

billede