Datenmodell

Als Datenmodell bezeichnet man die Struktur zur Speicherung von Daten eines bestimmen Programmes (Software) damit dieses seiner Aufgabe gerecht werden kann in der elektronischen Datenverarbeitung (EDV). Dabei gibt es nicht ein einziges Datenmodell, das dieser Aufgabe gerecht werden kann, sondern bereits bei trivialen Aufgaben eine Vielzahl möglicher Datenmodelle, die ihrer Aufgabe in unterschiedlicher Hinsicht verschieden gerecht werden.

Das Datenmodell spielt dabei eine wichtige Rolle in den Aspekten

und weiteren Aspekten.

In aller Regel werden Daten dabei in Datenbanken abgelegt, die mittels Anlegen eines Datenmodells auf die Aufgabe vorbereitet wurden. Der mit Abstand verbreitetste Typ ist hierbei die relationale Datenbank, gefolgt von Filesystemenen und objektorientierten Datenbanken.

Auf dem Vormarsch befindet sich das plattform-unabhängige XML, ein selbstbeschreibendes Datenmodell. Das Beispiel unten ließe sich genauso flexibel - aber weniger effizient per XML definieren.

Zur Definition des Datenmodells werden im Vorfeld die zu speichernden Daten analysiert und ihr Datentyp bestimmt. Grob und umgangssprachlich eingeteilt bedeutet dies, dass entschieden wird

und Ähnliches.

Die so definierten Daten werden in Tabellen oder Dateien möglichst sinnvoll gruppiert und zu einander in Beziehung gestellt, daher auch der Begriff relationale Datenbank. Dies alles zusammen ergibt das Datenmodell. Objektorientierte Datenbanken gehen hier noch weiter und erlauben die Definition von Objekten.

Beispiel

Am besten wird dies an einem kleinen Beispiel deutlich, da ein Datenmodell für Menschen, die nichts mit Informatik zu tun haben, eher abstrakt ist:

Nehmen wir an, wir möchten die Stundenpläne einer Schule mit einem Programm verwalten. Dabei sollen diese nicht nur als Matrix pro Klasse nach Tag / Stunde und Fach / Lehrer ablegen werden, also so, wie sie jeder Schüler kennt. Es soll auch direkt daraus resultierend abrufbar sein, wie sieht diese Matrix für die Lehrer aus. Interessant könnte auch die Matrix nach Fächern sein, wenn es um Spezialräume wie geht, wie Sport, Biologie, Chemie. All dem wird eine einfache Tabelle in einem Tabellenkalkulationsprogramm oder einer Textverarbeitung nicht gerecht.

Beispiel Stundenplan Klasse 8b: {| border="1" cellspacing="0" cellpadding="0" | valign="top" | Stunde || valign=top | Montag | valign="top" | Dienstag | valign="top" | Mittwoch || valign=top | Donnerstag | valign="top" | Freitag |----- | valign="top" | 1 | valign="top" | Erdkunde
Hr. Neustadt | valign="top" | Sport
Hr. Reck || valign=top | Kunst
Fr. Schön | valign="top" | Deutsch
Fr. Einsilbig | valign="top" | Englisch
Hr. Becker |----- | valign="top" | 2 || valign=top | Biologie
Fr. Stein | valign="top" | Sport
Hr. Reck || valign=top | Kunst
Fr. Schön | valign="top" | Deutsch
Fr. Einsilbig | valign="top" | Englisch
Hr. Becker |----- | valign="top" | 3 || valign=top | Englisch
Hr. Becker | valign="top" | Religion
Hr. Fromm || valign=top | Mathematik
Fr. Zoll | valign="top" | Französisch
Fr. Metz | valign="top" | Erdkunde
Hr. Neustadt |----- | valign="top" | 4 || valign=top | Englisch
Hr. Becker | valign="top" | Chemie
Fr. Stein || valign=top | Mathematik
Fr. Zoll | valign="top" | Französisch
Fr. Metz | valign="top" | Physik
Hr. Hebel |----- | valign="top" | 5 || valign=top | Mathematik
Fr. Zoll | valign="top" | Deutsch
Fr. Einsilbig | valign="top" | Physik
Hr. Hebel || valign=top | Biologie
Fr. Stein | valign="top" | Mathematik
Fr. Zoll
|----- | valign="top" | 6 || valign=top | Mathematik
Fr. Zoll | valign="top" | Deutsch
Fr. Einsilbig | valign="top" | Französisch
Fr. Metz | valign="top" | Chemie
Fr. Stein | valign="top" | Französisch
Fr. Metz |}

Ein einfaches, mögliches Datenmodell zu dieser Aufgabe wäre das folgende: (Dabei wurde auf die Angabe der Datentypen verzichtet)

Dabei sehen die Tabellen, wenn man den Inhalt listet, beispielhaft wie folgt aus:

Tabellen die alle Schulklassen enthält: {| border="1" cellspacing="0" cellpadding="0" | valign="top" | Klassen_ID || valign=top | Klasse |----- | valign="top" | 1 || valign=top | 5a |----- | valign="top" | 2 || valign=top | 5b |----- | valign="top" | 3 || valign=top | 5c |----- | valign="top" | 4 || valign=top | 6a |----- | valign="top" | 5 || valign=top | 6b |----- | valign="top" | 6 || valign=top | 6c |----- | valign="top" | 7 || valign=top | 7a |----- | valign="top" | 8 || valign=top | 7b |----- | valign="top" | 9 || valign=top | 7c |----- | valign="top" | 10 || valign=top | 8a |----- | valign="top" | 11 || valign=top | 8b |----- | valign="top" | 12 || valign=top | 8c |----- | valign="top" | ... || valign=top | ... |}

Tabellen die alle Fächer enthält: {| border="1" cellspacing="0" cellpadding="0" | valign="top" | Fach_ID || valign=top | Fach |----- | valign="top" | 1 || valign=top | Erdkunde |----- | valign="top" | 2 || valign=top | Biologie |----- | valign="top" | 3 || valign=top | Chemie |----- | valign="top" | 4 || valign=top | Physik |----- | valign="top" | 5 || valign=top | Mathematik |----- | valign="top" | 6 || valign=top | Englisch |----- | valign="top" | 7 || valign=top | Französisch |----- | valign="top" | 8 || valign=top | Deutsch |----- | valign="top" | 9 || valign=top | Sport |----- | valign="top" | 10 || valign=top | Kunst |----- | valign="top" | 11 || valign=top | Religion |----- | valign="top" | ... || valign=top | ... |}

Tabellen die alle Lehrer enthält: {| border="1" cellspacing="0" cellpadding="0" | valign="top" | Lehrer_ID || valign=top | Name |----- | valign="top" | 1 || valign=top | Hr. Neustadt |----- | valign="top" | 2 || valign=top | Fr. Stein |----- | valign="top" | 3 || valign=top | Hr. Becker |----- | valign="top" | 4 || valign=top | Fr. Zoll |----- | valign="top" | 5 || valign=top | Hr. Reck |----- | valign="top" | 6 || valign=top | Hr. Fromm |----- | valign="top" | 7 || valign=top | Fr. Einsilbig |----- | valign="top" | 8 || valign=top | Fr. Schön |----- | valign="top" | 9 || valign=top | Hr. Hebel |----- | valign="top" | 10 || valign=top | Fr. Metz |----- | valign="top" | ... || valign=top | ... |}

Tabellen in der der Unterricht durch Verknüpfung mit den anderen Tabellen abgelgt wird: {| border="1" cellspacing="0" cellpadding="0" | valign="top" | Unterricht_ID || valign=top | Klassen_ID | valign="top" | Lehrer_ID | valign="top" | Fach_ID || valign=top | Wochentag | valign="top" | Stunde |----- | valign="top" | 1 || valign=top | 11 || valign=top | 1 | valign="top" | 1 || valign=top | Mo || valign=top | 1 |----- | valign="top" | 2 || valign=top | 11 || valign=top | 2 | valign="top" | 2 || valign=top | Mo || valign=top | 2 |----- | valign="top" | 3 || valign=top | 11 || valign=top | 3 | valign="top" | 6 || valign=top | Mo || valign=top | 3 |----- | valign="top" | 4 || valign=top | 11 || valign=top | 3 | valign="top" | 6 || valign=top | Mo || valign=top | 4 |----- | valign="top" | 5 || valign=top | 11 || valign=top | 4 | valign="top" | 5 || valign=top | Mo || valign=top | 5 |----- | valign="top" | 6 || valign=top | 11 || valign=top | 4 | valign="top" | 5 || valign=top | Mo || valign=top | 6 |----- | valign="top" | 7 || valign=top | 11 || valign=top | 5 | valign="top" | 9 || valign=top | Di || valign=top | 1 |----- | valign="top" | 8 || valign=top | 11 || valign=top | 5 | valign="top" | 9 || valign=top | Di || valign=top | 2 |----- | valign="top" | 9 || valign=top | 11 || valign=top | 6 | valign="top" | 11 || valign=top | Di || valign=top | 3 |----- | valign="top" | 10 || valign=top | 11 || valign=top | 2 | valign="top" | 3 || valign=top | Di || valign=top | 4 |----- | valign="top" | 11 || valign=top | 11 || valign=top | 7 | valign="top" | 8 || valign=top | Di || valign=top | 5 |----- | valign="top" | 12 || valign=top | 11 || valign=top | 7 | valign="top" | 8 || valign=top | Di || valign=top | 6 |----- | valign="top" | 13 || valign=top | 11 || valign=top | 8 | valign="top" | 10 || valign=top | Mi || valign=top | 1 |----- | valign="top" | ... || valign=top | ... | valign="top" | ... | valign="top" | ... || valign=top | ... | valign="top" | ... |}



Websites: Tagoror | Guajara | Tacoronte Guia | Todo Gomera | Deranet | Radioaficionados | Cinebso | Mi Buscador

Enciclopedia On Line: GNU FDL.