Generic data model: Difference between revisions

Content deleted Content added
DavidCHay (talk | contribs)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(18 intermediate revisions by 13 users not shown)
Line 1:
[[Image:HL7 Reference Information Model.jpg|thumb|360px|Example of a Genericgeneric data model.<ref> Amnon Shabo (2006). [httphttps://www.hhs.gov/healthit/ahic/materials/01_07/phc/genomics.html Clinical genomics data standards for pharmacogenetics and pharmacogenomics] {{Webarchive|url=https://web.archive.org/web/20111018032946/http://www.hhs.gov/healthit/ahic/materials/01_07/phc/genomics.html |date=2011-10-18 }}.</ref>]]
'''Generic data modelmodels'''s are generalizations of conventional [[data model]]s. They define standardised general relation types, together with the kinds of things that may be related by such a relation type.
 
== Overview ==
The definition of generic data model is similar to the definition of a natural language. For example, a generic data model may define relation types such as a 'classification relation', being a [[binary relation]] between an individual thing and a kind of thing (a class) and a 'part-whole relation', being a binary relation between two things, one with the role of part, the other with the role of whole, regardless the kind of things that are related. Given an extensible list of classes, this allows the classification of any individual thing and to specify part-whole relations for any individual object. By standardisation of an extensible list of relation types, a generic data model enables the expression of an unlimited number of kinds of facts and will approach the capabilities of natural languages.
Conventional data models, on the other hand, have a fixed and limited ___domain scope, because the instantiation (usage) of such a model only allows expressions of kinds of facts that are predefined in the model. It can also be called as productive data.
 
== History ==
Line 11:
== Generic data model topics ==
=== Generic patterns ===
There are generic patterns that can be used to advantage for modeling business. These include entity types for PARTY (with included PERSON and ORGANIZATION), PRODUCT TYPE, PRODUCT INSTANCE, ACTIVITY TYPE, ACTIVITY INSTANCE, CONTRACT, GEOGRAPHIC AREA, and SITE. A model which explicitly includes versions of these entity classes will be both reasonably robust and reasonably easy to understand.
 
More abstract models are suitable for general purpose tools, and consist of variations on THING and THING TYPE, with all actual data being instances of these. Such abstract models are on one hand more difficult to manage, since they are not very expressive of real world things, but on the other hand they have a much wider applicability, especially if they are accompanied by a standardised dictionary. More concrete and specific data models will risk having to change as the scope or environment changes.
Line 20:
* Every individual thing is an instance of a generic entity called 'individual thing' or one of its subtypes.
* Every individual thing is explicitly classified by a kind of thing ('class') using an explicit classification relationship.
* The classes used for that classification are separately defined as standard instances of the entity 'class' or one of its subtypes, such as 'class of relationship'. These standard classes are usually called 'reference data'. This means that ___domain specific knowledge is captured in those standard instances and not as entity types. For example, concepts such as car, wheel, building, ship, and also temperature, length, etc. are standard instances. But also standard types of relationship, such as 'is composed of' and 'is involved in' can be defined as standard instances.
 
This way of modeling allows the addition of standard classes and standard relation types as data (instances), which makes the data model flexible and prevents data model changes when the scope of the application changes.
 
=== Generic data model rules ===
A generic data model obeys the following rules<ref name="MW99">Matthew West and Julian Fowler (1999). [https://sites.google.com/site/drmatthewwest/publications/princ03.pdf Developing High Quality Data Models] {{Webarchive|url=https://web.archive.org/web/20200909121755/https://d2024367-a-62cb3a1a-s-sites.googlegroups.com/site/drmatthewwest/publications/princ03.pdf?attachauth=ANoY7crjITgBSUdEyb3UlEOS2OxXk3r-iJk0-S4EfbK3PtqCZvEgcZwvpBiF3VGC7M0IMhTWLZoERz8Otd2Tu5Bquzo4NmuOxyeAzvQa0DZlSIea0KlbnoKFHPK9zM3Pg1p7f2b_OcaIv3_J8mkFK8rMoR_UABqsAM_Pa9wd6qHK1by_hBvYNRPKQZpTM4-rqh1D4x68mcRDzADCED8sFixAn4Nezq0zd_hunEOcJ8m7FSTyRa2xnOA%3D&attredirects=0 |date=2020-09-09 }}. The European Process Industries STEP Technical Liaison Executive (EPISTLE).</ref>]:
A generic data model obeys the following rules:
# Candidate attributes are treated as representing relationships to other entity types.
# Entity types are represented, and are named after, the underlying nature of a thing, not the role it plays in a particular context. Entity types are chosen. Thus as a result of this principle, any occurrence of an entity type will belong to it from the time it is created to the time it is destroyed, not just whilst it is of interest. This is important when managing the underlying data, rather than the views on it used by applications. We call entity types that conform to this principle generic entity types.
Line 38:
* [[ISO 15926]] and
* [[Gellish]] or [[Gellish English]].
* Found in ''Data Model Patterns: Conventions of Thought'' by David C. Hay. 1995
* Found in ''Enterprise Model Patterns: Describing the World'' by David C. Hay. 2011
 
== See also ==
* [[Entity-attribute-value model]]
* [[Attribute-value system]]
* [[Common data model]]
 
== References ==
Line 49 ⟶ 52:
2. David C. Hay. 2011. ''Enterprise Model Patterns: Describing the World''. (Bradley Beach,New Jersey: Technics Publications).
 
3. Matthew West 2011. ''Developing High Quality Data Models'' (Morgan Kaufmann)
[[User:DavidCHay|DavidCHay]] ([[User talk:DavidCHay|talk]]) 19:03, 19 February 2012 (UTC)
 
== External links ==
*''[https://www.ruangcoder.com/2020/08/pengertian-dfd-data-flow-diagram-fungsi-simbol-dan-contohnya_28.html Data Flow Diagram] {{Webarchive|url=https://web.archive.org/web/20201030192328/https://www.ruangcoder.com/2020/08/pengertian-dfd-data-flow-diagram-fungsi-simbol-dan-contohnya_28.html |date=2020-10-30 }}''
* [http://www.dama-nj.org/presentations/Kalido_Generic_Data_Modeling.pdf Generic Data Modeling]
* [https://archive.today/20121220163431/http://gellish.wiki.sourceforge.net/ Gellish English] and the Gellish Dictionary and documents about Gellish [httphttps://sourceforge.net/projects/gellish]
 
{{Data model}}