COSMiC Datenstruktur

Die Partnerdaten in COSMiC sind auf verschiedene Datentabellen verteilt. Dies ist nötig, damit die Partnerdatenbank einfach und unkompliziert vom Benutzer erweitert werden kann.

Zentral ist die Tabelle Kunde, welche die eindeutige Partner ID und die Stammdaten enthält. Die zusätzlichen Datenfelder enthält die Tabelle DataFeld. Dort wird Name, Darstellung und Dateninhalt konfiguriert. Die eigentlichen Daten befinden sich in DataDetail, ein Datensatz für jeden Partner und jedes Feld. Für die Untertabellen sind die beiden Tabellen SubFeld und SubDetail zuständig, welche weitgehenst identisch mit den Data-Tabellen sind.

Partner

Die Tabelle Kunde enthält für jeden Partner einen Datensatz.

Die ID wird automatisch von der Datenbank vergeben und primäre Identifikation des Partners.

Die KDNR ist eine sekundäre Identifikation. Sie wird vom Benutzer vergeben, die Datenbank stellt allerdings deren Eindeutigkeit sicher.

Die Felder Firma, Str, Land, PLZ, Ort, Tel enthalten die grundlegenden Stammdaten. Die genaue Formatierung übernimmt die Anwendung und entspricht denen der Felder.

Felder

Die Tabelle DataFeld enthält die Definition der zusätzlichen Felder.

Jedes Feld ist über seine ID eindeutig identifiziert. Die ID wird automatisch von der Datenbank vergeben. Name und Beschreibung sind Name und Beschreibung des Felds; sie werden primär für die Darstellung in der Anwendung verwendet. Die Spalte Typ gibt zusammen mit Auswahl an, welche Daten im Feld gespeichert werden und wie. Kategorie, PosX, PosY sind für die Darstellung in den Partnerdetails (Karteireiter und Position) verantwortlich.

Die Tabelle DataDetail enthält die eigentlichen Daten zu jedem Feld und jedem Partner. Über die Spalte Referenz wird der Bezug zum Partner hergestellt, sie enthält die eindeutige ID des Partners aus der Tabelle Kunde. Die Spalte Feld stellt die Verbindung zum Feld her, sie enthält die ID aus DataFeld. Die Spalte Content enthält die eigentlichen Daten, die Formatierung ist abhängig vom Feldtyp.

Es muss nicht immer für jedes Feld/Partner ein Datensatz in DataFeld existieren. Wenn kein Datensatz vorliegt, liegen auch keine Daten vor. Es sind aber Datensätze mit leerem content erlaubt.

Untertabellen

Untertabellen sind weitgehendst identisch mit den Feldertabellen aufgebaut.

Die Spalte Kategorie in SubFeld enthält hier den Namen der Untertabelle und stellt damit die Zusammengehörigkeit von Feldern zu einer gedachten Untertabelle her.

Die Spalte Nummer in SubDetail enthält die ID eines Untertabellendatensatzes und fügt somit die Daten zu einer Zeile in der Untertabelle zusammen. Die Nummer ist nur innerhalb einer Untertabelle (Kategorie aus SubFeld) und eines Partners (Referenz in SubDetail) eindeutig.

Feldtypen

Jedes Feld hat einen Typ, welcher durch die Anwendung verwaltet wird. Die Art des Typs bestimmt die Spalte Typ, zusammen mit Auswahl aus den Tabellen DataFeld und SubFeld. Der Typ hat Einfluss darauf, wie die Inhalte in content in den Tabellen DataDetail und SubDetail gespeichert sind.

Text ist der einfachste Typ. Er speichert beliebige einzeilige textuelle Daten ohne Formatierung. Zeilenumbrüche sind nicht erlaubt

Memo ist wie Text, nur dass mehrere Zeilen und Zeilenumbrüche erlaubt sind.

Zahl speichert eine numerische Zahl beliebiger Genauigkeit. Erlaubt sind Ziffern, ein Vorzeichen sowie das Komma als Dezimaltrennzeichen.

Euro ist weitgehendst Identisch mit Zahl, allerdings kann in der Spalte Auswahl eine Einheit für die Zahl stehen, welche in der Anwendung dargestellt wird.

Datum enthält ein Datum mit Zeitwert. Die Formatierung ist immer yyyy-mm-dd hh:nn:ss, also das vierstellige Jahr, zweistelliger Monat, zweistelliger Tag, zweistellige Stunde, zweistellige Minute und zweistellige Sekunde. Ist ein ungültiges Datum enthalten, wird dies zur Anzeige in der Anwendung versucht zu korrigieren und beim Speichern korrekt eingetragen.

Boolean speichert einen Ja-Nein-Wert. Content enthält eine 1 oder 0, wobei ein leerer Wert oder fehlender Datensatz als Nein angesehen wird und jeder andere Wert als Ja. Gespeichert wird aber immer eine 1, 0 oder der Datensatz wird gelöscht.

URL, eMail, Tel enthalten Texte, die in Anwendung formatiert dargestellt werden. Es können zwar beliebige Daten enthalten sein, die Anwendung stellt diese auch dar, aber speichert nur gültige URL, eMail und Telefonnummern.

Partner speichert einen Verweis auf einen Partner. Gespeichert wird die ID aus Kunde.

Check speichert eine Liste von Werten, die aus einer Liste von Werten ausgewählt wurden. Die möglichen Werte sind in Auswahl zeilenweise gespeichert. Content enthält die ausgewählten Werte zeilenweise.

Radio speichert einen Wert, der aus einer Liste von Werten ausgewählt wurde. Die möglichen Werte sind in Auswahl zeilenweise gespeichert. Content enthält den ausgewählten Wert aus der Liste.

CheckSonst und RadioSonst sind identisch mit Check und Radio, können allerdings zusätzlich auch einen freien Eintrag enthalten. Dies kann allerdings auch bei Check und Radio der Fall sein, die Darstellung und Behandlung der zusätzlichen Zeilen in der Anwendung unterscheidet sich aber.

Rechte

Dokumente

Historie

Anmerkungen

Alle Tabellen enthalten eine ID, welche von der Datenbank vergeben wird und eindeutig ist.

Alle Tabellen enthalten eine Spalte Timestamp, welche die Datenbank aktualisiert. Sie enthält immer das Datum, wann dieser Datensatz das letzte mal geändert wurde.

Alle Tabellen und Feldnamen sind grundsätzlich kleingeschrieben, unabhängig von der Schreibung in dieser Dokumentation.

Tabellennamen können zwischen den Installationen abweichen.

Nicht beschriebene Felder sind obsolet oder nur zur Abwärtskompatibilität vorhanden.

Dieses Dokument stellt den Entwicklungsstand vom 25.07.2016 dar.

 

Dieser Beitrag wurde unter COSMiC veröffentlicht. Setze ein Lesezeichen auf den Permalink.