[alg] wat is een datamodel.

Pagina: 1
Acties:
  • 425 views sinds 30-01-2008
  • Reageer

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Wat is precies een datamodel? Ik weet wat een erd is, ik weet wat een datadictionary is, ik weet wat een domain model in UML is, maar is een datamodel een heel specifiek model/schema of meer een algemeen begrip?

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Web definitions for Data Model
A data model is the structure in which a computer program stores persistent information. In a relational database, data models are built from tables. Within a table, information is stored in homogeneous columns, e.g., a column named registration_date would contain information only of type date. A data model is interesting because it shows what kinds of information a computer application can process. For example, if there is no place in the data model for the program to store the IP address from which content was posted, the publisher will never be able to automatically delete all content that came from the IP address of a spammer.

"Beauty is the ultimate defence against complexity." David Gelernter


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Alarmnummer schreef op 10 september 2004 @ 11:31:
Wat is precies een datamodel? Ik weet wat een erd is, ik weet wat een datadictionary is, ik weet wat een domain model in UML is, maar is een datamodel een heel specifiek model/schema of meer een algemeen begrip?
Volgens mij is een data model een domain model van het data domain. :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Ik zou het min of meer omschrijven zoals de quote van Macros:

Het is een algemene term, en het beschrijft de structuur van hoe je data opgeslagen wordt (persistent dus).
In een RDBMS is je ERD je data-model, in een flat-file omgeving is dat je files en hun record-layout.

https://fgheysels.github.io/


  • DJ-B
  • Registratie: September 2001
  • Laatst online: 23-05 12:48
klinkt als een beroepsspecifieke competentie! :)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Een andere term is 'relational model'.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • RealCato
  • Registratie: Juli 2000
  • Laatst online: 07-06-2025
EfBe schreef op 10 september 2004 @ 12:27:
Een andere term is 'relational model'.
Volgens mij is 'relationeel model' (we kunnen ook gewoon bij het nederlands blijven :P ) geen synoniem voor 'data model', maar een subcategorie... Volgens mij zijn object georienteerde modellen ook data modellen, maar geen relationele modellen


Ik heb het even op wikipedia opgezocht (I love wikipedia) :

A data model is a model that describes in an abstract way how data is represented
in an information system or a database. In general it describes the following aspects:

Structure: defines what the structure of the representation is. This should not only
specify how data is represented but also how a schema can be specified that
defines the structure of the data in a specific user domain.
Integrity: provides a language for the definition of rules that restrict which
instances of the defined structure are allowed.

Manipulation: provides a language in which updates of the data can be expressed.
Querying: provides a language in which the data can be queried.
An example is the relational model in which all data is represented by mathematical
relations (or, to be precise, a slightly generalized version thereof). It furthermore
defines a set of specific constraints (candidate keys, foreign keys) and a general
language for specifying constraints (first-order logic), and for manipulations and
querying the data the relational algebra, tuple calculus and domain calculus are introduced.

Other examples are the Functional Data Model, the Entity-Relationship Model and
the Object Role Model although these usually only describe a small subset of the
aspects described above.

Retrieved from "http://en.wikipedia.org/wiki/Data_model"

[ Voor 5% gewijzigd door RealCato op 10-09-2004 12:33 ]

Rijtjeshuis 170 m^2 uit 1955, bij renovatie in 2022 dak/vloer/spouwisolatie, overal HR++, vvw benedenverdieping, 7x Jaga Strada en 2 handdoekradiatoren met Tado’s. Quatt hybrid op dakkapel sinds einde 2023.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:13
Naar mijn idee is een datamodel een enigzins formele specificatie van de manier waarop informatie opgeslagen en opgevraagd wordt. Je moet het naar mijn idee echt als specificatie kunnen gebruiken: op basis van het datamodel moet je een applicatie kunnen schrijven die met de betreffende informatie werkt, zonder hier verdere ontwerpkeuzes voor te hoeven maken.

Een complete ERD (liefst met specificatie van de gebruikte datatypen) kan dus het datamodel van een traditionele applicatie op basis van een RDBMS beschrijven. Voor andere applicaties beschrijf je bijvoorbeeld de inhoud van data files en queues. Het datamodel is wat mij betreft dus vooral een begrip: wat toereikend is als specificatie verschilt per situatie en het hoeft dus niet altijd om een ERD, domain model, of whatever te gaan. Als je een specificatie hebt opgesteld waarin vastligt hoe gegevens opgeslagen en opgehaald worden, dan heb je dus een data model gemaakt.

Merk op dat wat mij betreft een datamodel niets hoeft te zeggen over de verwerking van informatie. Het gaat alleen om de structuur waarin de gegevens opgeslagen worden en de eventuele interpretatie die er aan gegeven moet worden.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Het datamodel is dus een iets algemener concept dan bv een ERD. Ok.. thanx allemaal.

  • Bor
  • Registratie: Februari 2001
  • Laatst online: 00:09

Bor

Coördinator Frontpage Admins / FP Powermod

01000010 01101111 01110010

Vergeef mijn layout verneuking maar ik denk dat dit wel verhelderend is voor ts:

Afbeeldingslocatie: http://www.upenn.edu/computing/group/penncommunity/DataModel.jpg

Over Bor | Vraag & Aanbod feedback | Frontpagemoderatie Forum


  • EfBe
  • Registratie: Januari 2000
  • Niet online
RealCato schreef op 10 september 2004 @ 12:31:
[...]

Volgens mij is 'relationeel model' (we kunnen ook gewoon bij het nederlands blijven :P ) geen synoniem voor 'data model', maar een subcategorie... Volgens mij zijn object georienteerde modellen ook data modellen, maar geen relationele modellen
Mja, het is dan maar net wat voor definitie je hanteert natuurlijk (en dat zijn discussies die zonde zijn van de tijd).

Object georienteerde modellen zijn IMHO geen datamodellen want datamodellen suggereert een model voor data, terwijl object georienteerde modellen data + behavior modelleren.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Bor_de_Wollef schreef op 10 september 2004 @ 15:18:
Vergeef mijn layout verneuking maar ik denk dat dit wel verhelderend is voor ts:

[afbeelding]
Dit lijkt me niet echt verhelderend, wat wil je nu zeggen? Dat een datamodel er als een half brak uml model uitziet ofzo?

  • CubicQ
  • Registratie: September 1999
  • Laatst online: 22:33
EfBe schreef op 10 september 2004 @ 16:27:
[...]


Mja, het is dan maar net wat voor definitie je hanteert natuurlijk (en dat zijn discussies die zonde zijn van de tijd).

Object georienteerde modellen zijn IMHO geen datamodellen want datamodellen suggereert een model voor data, terwijl object georienteerde modellen data + behavior modelleren.
Nou, daar ben ik het niet helemaal mee eens, maar zoals je al zegt: zonde van de tijd :)

Maar de andere kant op dan: kan een datamodel ook hierarchisch zijn? (retorische vraag). Dus ik ben ook van mening dat een relationeel model een subset is (wel de meest voorkomende en misschien in de praktijk wel een de-facto standaard) van een datamodel.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:13
EfBe schreef op 10 september 2004 @ 16:27:
Object georienteerde modellen zijn IMHO geen datamodellen want datamodellen suggereert een model voor data, terwijl object georienteerde modellen data + behavior modelleren.
Mee eens.
CubicQ schreef op 10 september 2004 @ 20:21:
Maar de andere kant op dan: kan een datamodel ook hierarchisch zijn? (retorische vraag). Dus ik ben ook van mening dat een relationeel model een subset is (wel de meest voorkomende en misschien in de praktijk wel een de-facto standaard) van een datamodel.
Ook mee eens. :)

  • Stephan Oudmaijer
  • Registratie: Oktober 2000
  • Laatst online: 16-08-2023
Simpel gezegd: beschrijving van de structuur hoe de data is opgeslagen. Soort UML model voor de database.

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 21:02

JaQ

in mijn optiek gaat het iets verder dan alleen beschrijven van de structuur van dataopslag. Ook zaken als waar de zwaarste queries komen te liggen (ivm performance) indexen, index hints, fysieke structuur van je datafiles etc. dienen er in te zitten.

Egoist: A person of low taste, more interested in themselves than in me


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
CK schreef op 10 september 2004 @ 20:34:
Simpel gezegd: beschrijving van de structuur hoe de data is opgeslagen. Soort UML model voor de database.
Maar het is niet een specifieke 'notatie'.

Bij een ERD weet je heel duidelijk wat je krijgt. Bij een UML domein model weet je heel duidelijk wat je krijgt. Bij een data dictionary weet je heel duidelijk wat je krijgt. Je krijgt min of meer formeel omschreven diagrammen, notaties..

Wat ik dus wou weten is of datamodel ook zo`n formeel omschreven diagram, notatie is. Niet dat ik met een ERD kom aanzetten terwijl een datamodel bedoelt wordt. Datamodel is dus meer een algemeen begrep en een ERD kan dus gebruikt worden om een datamodel in uit te drukken.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:13
Indices, hints en fysieke structuur zijn toch ook onderdeel van de structuur?

Ik ben trouwens met je eens dat dat er ook in hoort (indien dit van belang is voor de applicatie).

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Soultaker schreef op 11 september 2004 @ 15:58:
Indices, hints en fysieke structuur zijn toch ook onderdeel van de structuur?
Dat hangt van de mate van abstractie af. Met indices kan je o.a. de toegang tot de records versnellen, waarmee het eigenlijk een stukje van het gedrag ondersteund en aanduidt hoe je vaak bij de records wilt kunnen komen.
Anderzijds is een unique constraint weer wel iets dat de data beschrijft, namelijk dat een specifiek veld uniek is in de tabel. Echter een "unique index" is dan weer dubieus, want de index wordt voor de constraint gebruikt (en al het andere waar je indices voor gebruikt natuurlijk).
Ik ben trouwens met je eens dat dat er ook in hoort (indien dit van belang is voor de applicatie).
Ik zou het af laten hangen van hoe abstract je model moet zijn. Bij een model dat dicht bij de implementatie zit is het zeker van belang, maar bij een model dat alleen maar globaal aangeeft hoe de data gestructureerd is niet.
farlane schreef op 10 september 2004 @ 12:09:
Volgens mij is een data model een domain model van het data domain. :)
Maar wat is dan een domain model en een data domain? ;)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Alarmnummer schreef op 11 september 2004 @ 15:45:
[...]

Maar het is niet een specifieke 'notatie'.

Bij een ERD weet je heel duidelijk wat je krijgt. Bij een UML domein model weet je heel duidelijk wat je krijgt. Bij een data dictionary weet je heel duidelijk wat je krijgt. Je krijgt min of meer formeel omschreven diagrammen, notaties..
Bij een NIAM model weet je semantisch wat je krijgt, maar niet hoe dat fysiek eruit ziet (i.e. hoe het ERD eruit ziet).
Wat ik dus wou weten is of datamodel ook zo`n formeel omschreven diagram, notatie is. Niet dat ik met een ERD kom aanzetten terwijl een datamodel bedoelt wordt. Datamodel is dus meer een algemeen begrep en een ERD kan dus gebruikt worden om een datamodel in uit te drukken.
Ik denk dat je deze discussie beter met degene die jou heeft gevraagd een datamodel te leveren kunt houden. Immers, wij kunnen hier allemaal het over een bepaalde definitie eens zijn, maar als jouw opdrachtgever daar anders over denkt, kom je in zijn/haar ogen wel met een ander model aan dan verwacht. Juist dat 'verwachte model' is belangrijker dan welke definitie dan ook.

Wellicht weer wat pragmatisch gedacht, maar er wordt in de IT al door veel te veel mensen veel en veel teveel tijd verkwanseld door het oeverloos zeuren over definities terwijl geen hond geinteresseerd is noch iets kan met de uitkomst van die zeursessies, oh pardon, discussies :)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • EfBe
  • Registratie: Januari 2000
  • Niet online
ACM schreef op 11 september 2004 @ 16:23:
Anderzijds is een unique constraint weer wel iets dat de data beschrijft, namelijk dat een specifiek veld uniek is in de tabel. Echter een "unique index" is dan weer dubieus, want de index wordt voor de constraint gebruikt (en al het andere waar je indices voor gebruikt natuurlijk).
Een index is een database engine hulpje en niet meer dan dat. Een unique constraint niet. Sommigen denken met een unique index snel klaar te zijn, maar echt correct is dat IMHO niet.

Ik krijg trouwens wel wat van de vaagheid van deze thread. De topicstarter mag van mij wel wat duidelijker zijn wat hij nu werkelijk wil bereiken. Oeverloos debatteren over een niet-bestaande term (nl. 'datamodel' riekt naar een combinatie tussen relationeel model en data-structuur, iets soortgelijks als 'overnieuw', dat ook niet bestaat maar een samentrekking is tussen opnieuw en over doen) is leuk voor mensen met absoluut niets om handen, maar dient eigenlijk nergens toe.

Ik zie dat de term 'domain model' al gevallen is. Nu maar hopen dat er niet een NT4 MCSE-er meeleest die die term gaat uitleggen :+ ( * EfBe is zelf NT4 MCSE-er, dit voor de grappenmakers onder ons)

[ Voor 3% gewijzigd door EfBe op 11-09-2004 17:16 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
EfBe schreef op 11 september 2004 @ 17:15:
Ik krijg trouwens wel wat van de vaagheid van deze thread.
Je bent niet de enigste.
De topicstarter mag van mij wel wat duidelijker zijn wat hij nu werkelijk wil bereiken.
Ik hoef geen discussie. Ik wou alleen weten wat een datamodel nu wel en niet is.

Verder is mij gevraag of ik wist wat een datamodel was.
Pagina: 1