Tabellen

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

<-- zurück zu Admin-Dokumentation / <-- zurück zur Hauptseite


Tabellen-Gruppen

Der besseren Übersichtlichkeit halber, auch bei einer großen Anzahl an Tabellen, befindet sich jede Tabelle in LIMBAS in einer Tabellengruppe. Eine Tabellengruppe kann Untergruppe einer anderen Tabellengruppe sein. Eine tiefere Verschachtelung ist aber nicht realisiert.

Beim Aufruf dieses Menüpunktes erscheint eine Auflistung der vorhandenen Tabellengruppen mit der Möglichkeit weitere Tabellengruppen hinzuzufügen.

  • "ID": Eindeutige Identifikation für die Tabellengruppe. Beim Hinzufügen einer neuen Tabellengruppe wird diese ID von LIMBAS selbst gesetzt.
  • Durch Mausklick auf das Editier-Symbol erscheint eine Auflistung der in der Tabellengruppe vorhandenen Tabellen mit der Möglichkeit Einstellungen für diese vorzunehmen und weitere Tabellen hinzuzufügen.
  • Pos: Durch Mausklick auf den nach oben/unten zeigenden Pfeil wird die entsprechende Tabellengruppe in der Anordnung der Tabellengruppen eine Position nach oben/unten verschoben.
  • löschen: Durch Mausklick auf das Papierkorb-Symbol wird die entsprechende Tabellengruppe mit allen zugehörigen Tabellen nach Rückfrage gelöscht.
  • Bezeichnung: Dieser Text wird im Menü, in dem die Tabellen für die Ansicht/Eingabe/Änderung/Löschen von Daten ausgewählt werden, als Bezeichnung für die Tabellengruppe verwendet. Es liegt in der Verantwortung des Anwenders, hier geeignete, eindeutige Bezeichnungen zu wählen.
  • Beschreibung: Beschreibung der Tabellengruppe
  • Untergruppe von: In diesem Feld lässt sich einstellen, ob die entsprechende Tabellengruppe Untergruppe einer anderen Tabellengruppe ist.
  • Tabellen: Dieses Feld zeigt die Anzahl der Tabellen, die zu dieser Tabellengruppe gehören.

Tabellen-Einstellungen

Zu den Tabellen-Einstellungen kommt man

  • durch Mausklick auf das Editier-Symbol der entsprechenden Tabellengruppe in der Auflistung der vorhandenen Tabellengruppen
  • durch Mausklick auf die entsprechende Tabellengruppe im admin-Menü am linken Bildschirmrand ([admin]->[Tabellen]->["Name der Tabellengruppe"])
 in der Demo kommt man beispielsweise zu den Tabelleneinstellungen von "KUNDEN" wenn man links aus "Beispiel-CRM" klickt. 

Module Tabellen Abb1.png


Folgende (bei Abfragen stark eingeschränkten) Tabellen-Einstellungen werden dargestellt:

  • ID: Eindeutige Identifikation für die Tabelle. Beim Hinzufügen einer neuen Tabellengruppe wird diese ID von LIMBAS selbst gesetzt.
  • Durch Mausklick auf das Editier-Symbol erscheint bei Tabellen des Typs (siehe unten)
  • Tabelle/Kalender/Nachrichten eine Auflistung der in der Tabelle vorhandenen Tabellenfelder mit der Möglichkeit Einstellungen für diese vorzunehmen sowie weitere Felder hinzuzufügen.
  • Abfrage der Abfrage-Generator mit der Definition der Abfrage (siehe Abfragen).
  • Durch Mausklick auf das Zahnrad-Symbol erscheint ein Fenster, in welchem Optionen für die jeweilige Tabelle festgelegt werden können.Module Tabellen Abb2.png
  • Pos: Durch Mausklick auf den nach oben/unten zeigenden Pfeil wird die entsprechende Tabelle in der Anordnung der Tabellen innerhalb der Tabellengruppe eine Position nach oben/unten verschoben.
  • löschen: Durch Mausklick auf das Papierkorb-Symbol wird die entsprechende Tabelle mit allen zugehörigen Datensätzen nach Rückfrage gelöscht.
  • Tabellenname: Eindeutiger Name der Tabelle. Wird ein bereits vorhandener Tabellenname eingegeben, so hängt LIMBAS eine eindeutige Namenserweiterung an.
  • Bezeichnung: Dieser Text wird im Menü, in dem die Tabellen für die Ansicht/Eingabe/Änderung/Löschen von Daten ausgewählt werden, als Bezeichnung für die Tabelle verwendet.
  • 1:1 Verknüpfung: Dieses Feld zeigt, ob die Tabelle mit einer anderen Tabelle 1:1 verknüpft ist. Bei 1:1-verknüpften Tabellen ist genau je ein Datensatz der einen Tabelle mit einem Datensatz der anderen Tabelle verknüpft.
  • Typ: Tabellentyp:
  • Tabelle: Tabelle ohne vordefinierte Felder
  • Kalender: Tabelle mit vordefinierten Tabellenfeldern für einen Kalender. Auf die Tabelle kann mit dem LIMBAS-Kalender-Modul zugegriffen werden. Beim Anlegen der Kalender-Tabelle wird im Mehrzweck-Fenster am rechten Browser-Rand ein entsprechender Menüpunkt hinzugefügt.
  • Nachrichten: Tabelle mit vordefinierten Tabellenfeldern für Nachrichten. Auf die Tabelle kann mit dem LIMBAS-Nachrichten-Modul zugegriffen werden. Beim Anlegen der Nachrichten-Tabelle wird im Mehrzweck-Fenster am rechten Browser-Rand ein entsprechender Menüpunkt hinzugefügt.
  • Abfrage: virtuelle Tabelle ohne Felder (siehe Abfragen)
  • Felder: Dieses Feld zeigt die Anzahl der Tabellenfelder dieser Tabelle.
  • Farbe:

Mit Hilfe einer individuellen Farbe können Tabellen in Tabulatoren oder Tabellenköpfen hervorgehoben werden.

  • loggen: Diese Option legt fest, ob Datensatzänderungen im Detail geloggt werden sollen. Falls ja, wird jede Änderung mit altem und neuem Tabellenfeldinhalt protokolliert und kann in der History des Benutzers eingesehen werden (entsprechender Log-Level des Benutzer vorausgesetzt, siehe Log-Level).
  • sperren: Ist diese Option gesetzt, können die Datensätze dieser Tabelle nicht von mehreren Benutzern gleichzeitig bearbeitet (editiert) werden. Wird ein Datensatz bearbeitet, wird er für andere Benutzer gesperrt. Nach der durch die Umgebungsvariable "inusetime" definierten Zeit in Minuten wird überprüft, ob der Datensatz weiter in Bearbeitung ist oder ob er für andere Benutzer wieder frei gegeben werden kann. Aus Performance-Gründen sollte diese Option nur gesetzt werden, wenn es wirklich notwendig ist.
  • färben: Ist diese Option gesetzt, kann in der Tabellenliste der Anwendersicht die Hintergrundfarbe einzelner Zeilen (Datensätze) verändert werden. Diese Einstellung ist dann für alle Benutzer, die der gleichen Hauptgruppe angehören gesetzt. Aus Performance-Gründen sollte diese Option nur gesetzt werden, wenn es wirklich notwendig ist.
Das Setzen einer Hintergrundfarbe einzelner Spalten (Tabellenfelder) in der Tabellenliste der Anwendersicht ist immer möglich und wird Benutzer-individuell gesetzt.
  • Rechte: Diese Option erlaubt es für jeden Datensatz dieser Tabelle individuell festzulegen, wer für dessen Zugriff berechtigt ist. Dazu wird LIMBAS intern eine zusätzliche Tabelle angelegt, die bei größeren Datenmengen allerdings die Performance belastet. Gegebenenfalls ist die Berechtigung für den Zugriff auf einen Datensatz mittels Filterregeln vorzuziehen. Falls diese Option ausgewählt werden zusätzliche Berechtigungseinstellungen in den Gruppenberechtigungen der jeweiligen Tabelle angeboten.
  • ajaxpost: Die Übermittlung der Tabellenformulare geschieht normalerweise per "übernehmen" Knopf in der Detailansicht oder per "ENTER" oder "Speichern-Funktion des "Dateimenüs" in der Tabellenliste. Diese Option versucht alle Änderungen einzelner Felder des Formulars sofort per AJAX zu übersenden und zu speichern ohne eine weitere Aktion tätigen zu müssen. Diese Funktion ist zwar sehr komfortabel kann aber einen höhere Belastung des Servers zur Folge haben.
  • versionieren: Einstellung, ob die Versionierung der Tabelle möglich ist. Die Werte "fix"/"rekursiv" unterscheiden sich nur bei Tabellen mit 1:n-Verknüpfungen.
  • fix: Bei der Versionierung eines Datensatzes wird die ID des verknüpften Datensatzes versioniert. Die Tabellenfeldinhalte des verknüpften Datensatzes können sich später ändern, so dass diese dann nicht mehr denen zum Zeitpunkt der Versionierung entsprechen.
  • rekursiv: Ber der Versionierung eines Datensatzes wird auch der Inhalt des verknüpften Datensatzes mit versioniert.
  • Beziehungen: Ist die Tabelle nicht mit einer anderen Tabelle verknüpft, ist diese Einstellung bedeutungslos.
  • positiv, negativ, alle: In der Tabellenliste der Anwendersicht können verknüpfte Datensätze aus anderen Tabellen mit eingeblendet werden.
  • positiv: die eigentliche Tabelle enthält eine Verknüpfung zu einer anderen Tabelle
  • negativ: eine andere Tabelle enthält eine Verknüpfung zu der eigentlichen Tabelle
In der Anwendersicht erscheint links neben der Tabellenliste eine Spalte mit Pfeilen. Wird der Mauszeiger für kurze Zeit auf das zugehörige Symbol der Spaltenüberschriften belassen, wird das Stichwort "Auswahl verknüpfen" eingeblendet. Bei Mausklick auf dieses Symbol wird eine Auswahl der Tabellen, zu denen entsprechende (nur positive/nur negative/alle) Verknüpfungen eingerichtet sind, gezeigt. Bei Mausklick auf einen Pfeil links neben einem Datensatz werden die verknüpften Datensätze der ausgewählten Tabellen direkt unterhalb des Datensatzes ein- bzw. ausgeblendet.
  • keine: Bei dieser Einstellung können verknüpfte Datensätze in der Tabellenliste der Anwendersicht nicht mit eingeblendet werden.
  • Indikatorregel: Eine wie unter Indikatoren beschrieben, erstellte Funktion kann hier einer Tabelle zugewiesen werden. Dabei ist zu beachten, daß der Aufruf einer solchen Funktion aus dem Skript ./limbas_src/gtab/gtab.lib heraus erfolgt und für die Übergabeparameter sinnvollerweise Variablen aus diesem Skript verwendet werden sollten. Ein sinnvoller Eintrag hier lautet daher:
return indicatorRuleFct($gtabid,$i,$gresult);
  • Trigger: Diese Option kann nur gesetzt werden, wenn es für die Tabelle ein oder mehrere Trigger (siehe Trigger) gibt. In diesem Fall können hier Trigger ausgewählt werden, die ausgeführt werden, wenn eine entsprechende Aktion für die Tabelle durchgeführt wird.
  • Ergebnisanzahl: Diese Optionen beeinflusst die Art wie die Anzahl gefundener Datensätze berechnet wird.
  • standart: scheitert der Versuch über "odbc_num_rows()" wird die Anzahl über ein weiteres "select count(*)" berechnet.
  • wenig Ergebnisse: scheitert der Versuch über "odbc_num_rows()" wird die Anzahl über eine "odbc_fetch_row() Schleife" berechnet.
  • keine Berechnung: scheitert der Versuch über "odbc_num_rows()" wird keine Berechnung durchgeführt. Die Anzahl ist die Anzahl der Umgebungsvariable "resultspace".
  • Sortierfunktion:
Als Administrator kann die Reihenfolge einzelner Elemente eine Tabelle einfach per Drag & Drop geändert werden.

Tabellenfeld-Einstellungen

Tabellen Abb3.png

Zu den Tabellenfeld-Einstellungen kommt man

  • Tabellen des Typs Tabelle/Kalender/Nachrichten durch Mausklick auf das Editier-Symbol Tabellen Abb4.png der entsprechenden Tabelle in der Auflistung der vorhandenen Tabellen
  • bei allen Tabellen und Abfragen durch Mausklick auf die entsprechende Tabelle/Abfrage im admin-Menü am linken Bildschirmrand ([admin]->[Tabellen]->["Name der Tabellengruppe"]->["Name der Tabelle"])

Folgende (bei Abfragen stark eingeschränkten) Tabellenfeld-Einstellungen werden dargestellt:

  • ID: Eindeutige Identifikation für das Tabellenfeld. Beim Hinzufügen eines neuen Tabellenfeldes wird diese ID von LIMBAS selbst gesetzt. In Funktionen oder Erweiterungen wird immer diese ID als IdentID anstatt des Feldnamens genutzt. Eine Änderung des Feldnamens hat somit keinen Einfluss auf die Funktionsfähigkeit von LIMBAS. Man kann die Vergabe der ID teilweise beeinflussen (siehe Feldtypen)
  • bearbeiten:
  • Durch Mausklick auf das Zahnrad-Symbol werden die im folgenden erläuterten allgemeinen Tabellenfeld-Einstellungen (vorerst mit Ausnahme der Trigger) zusammen mit den Feldtyp-abhängigen Einstellungen für das entsprechende Tabellenfeld übersichtlich dargestellt, in einem eigenen Fenster eingeblendet. Die Liste aller Tabellenfelder bleibt im Hintergrund. Alle in dem eingeblendeten Fenster vorgenommen Einstellungen werden sofort aktiv. Bei Mausklick außerhalb des eingeblendeten Fensters wird dieses wieder ausgeblendet. Um vorgenommene Änderungen in der Liste aller Tabellenfelder sehen zu können, muss diese neu geladen werden.
  • Durch Mausklick auf das Papierkorb-Symbol wird das entsprechende Tabellenfeld inklusive aller Einträge in vorhandenen Datensätzen nach Rückfrage gelöscht.
  • Feld: Eindeutiger Name des Tabellenfeldes. Wird ein bereits vorhandener Feldname eingegeben, so hängt LIMBAS eine eindeutige Namenserweiterung an.
  • Beschreibung: Wird der Mauszeiger in der Detail- und Bearbeitungsansicht für kurze Zeit auf der Bezeichnung dieses Tabellenfeldes belassen, so wird dieser Text als kurze Beschreibung des Tabellenfeldes eingeblendet.
  • Bezeichnung: Dieser Text wird in der Listen-, Detail- und Bearbeitungsansicht der Tabelle als Bezeichnung des Tabellenfeldes verwendet.
  • Typ: Feldtyp dieses Tabellenfeldes (siehe Feldtypen)
  • Größe: Größe des Feldes. Je nach Datenbank können unterschiedliche Größenangaben verwendet werden. Textfelder werden im allgemeinen in Anzahl Zeichen definiert. Zahlenfelder können je nach Feldtyp mit Vor und Nachkommastellen definiert werden. Z.B. für ein Dezimal Feld bedeutet "20,3" 17 Vorkommastellen und 3 Nachkommastellen.
  • Defaultwert: Bei der Anlage eines neuen Datensatzes voreingetragener Inhalt für dieses Tabellenfeld.
  • Zahlenformat: Zahlendarstellung im "numberformat()" Format: z.B.: 2,',','.'. Alternativ kann auch eine eigene Funktion durch "return" genutzt werden. Die Funktion muß dann auch in einem Erweiterungsscript wie "ext_gtab.inc" existieren. Zu Beachten ist das das Feld nur 30 Zeichen fast.

Beispiele:

2,',','.'.
return myExt_strPad($value);
  • Potenzschwelle: Überschreitet die Größe der eingegebenen Zahl diese Schwelle wird versucht die Zahl in Potenzschreibweise darzustellen.
  • Zusatz: Vom Typ (siehe Feldtypen) abhängige Zusatzkonfiguration dieses Tabellenfeldes.
  • konvertieren: Das Vorhandensein dieser Option ist abhängig vom Typen dieses Tabellenfeldes. Sie dient zur Umwandlung des Tabellenfeld-Typs, und zwar führt LIMBAS die Typ-Konvertierung so durch, dass bei vorhandenen Datensätzen kleinstmögliche (idealerweise keine) Datenverluste entstehen.
  • Erweiterung: LIMBAS ermöglicht hier individuelle Erweiterungen für die Darstellung eines Tabellenfeldes (siehe Feldtypen-Erweiterung).
  • Anzeige-Regel: PHP-Funktion (siehe Anzeige-/Editierregel erstellen) mit "true"/"false"-Ergebnis ("return" und ";" nicht vergessen!). Im Falle von "true", wird das Tabellenfeld in der Detail- und Bearbeitungsansicht nicht angezeigt.
  • Editier-Regel: PHP-Funktion (siehe Anzeige-/Editierregel erstellen) mit "true"/"false"-Ergebnis ("return" und ";" nicht vergessen!). Im Falle von "true", kann der Inhalt des Tabellenfeldes nicht verändert werden.
  • Trigger: Diese Option kann nur gesetzt werden, wenn es für die Tabelle ein oder mehrere Trigger (siehe Trigger) gibt. In diesem Fall können hier Trigger ausgewählt werden, die ausgeführt werden, wenn eine entsprechende Aktion für das Tabellenfeld durchgeführt wird.
  • Bezeichner: Dieses Kontrollkästchen kann maximal für ein Tabellenfeld der Tabelle gesetzt werden. Der Inhalt dieses Tabellenfeldes wird dann, z.B. bei der Versionierung oder der History herangezogen, um einen Datensatz zu benennen.
  • Index: Bei Auswahl dieser Option wird ein Datenbank-Index für dieses Tabellenfeld erstellt. Das Indizieren führt häufig zu einer Leistungsverbesserung bei der Suche bzw. beim Abruf von Daten.
  • unique: Ist diese Option gesetzt, muss der Inhalt dieses Tabellenfeldes eindeutig sein, darf also in einem anderen Datensatz nicht doppelt vorkommen. Diese Einstellung hat auch Auswirkungen auf die Darstellung von Verknüfungen.(siehe Verknüpfungen)
  • ajaxsuche: Diese Option ermöglicht bei einigen Feldtypen die Eingabe mittels Schnellsuche. Dazu erscheint in der Bearbeitungsansicht eine Textzeile: Nach Eingabe von mindestens zwei Zeichen oder "*" klappt eine Liste mit den Auswahlmöglichkeiten, deren Name die eingegeben Zeichen enthält, auf. Diese Einstellung hat auch Auswirkungen auf die Darstellung von Verknüpfungen.(siehe Verknüpfungen)
  • ajaxpost: Bei aktivierter Option wird ein geänderter Tabellenfeld-Inhalt nach Eingabe sofort in der Datenbank aktualisiert, und zwar ohne dass die Seite im Browser neu aufgebaut wird. Bei deaktivierter Option werden Tabellenfeld-Inhalte erst durch Mausklick auf "Übernehmen" (Submit) in die Datenbank übernommen. Änderungen für Feldtypen, bei denen diese Option nicht vorhanden ist, werden nach Eingabe sofort in der Datenbank aktualisiert. Gleiches Verhalten wie in den Tabelleneinstellungen nur das es sich auf ein einzelnes Feld bezieht. Ist die Option schon in den Tabelleneinstellungen aktiviert ist wird die Feldeinstellung überschrieben.
  • Auswahlsuche: Bei gesetzter Option wird in der Anwendersicht bei der Tabellenliste anstelle des Texteingabefeldes für die Suche nach Tabellenfeldinhalten für dieses Tabellenfeld ein Select-Feld verwendet. Alle in den Datensätzen für dieses Feld vorhandenen Inhalte werden dabei als Auswahl angeboten. Diese Einstellung hat auch Auswirkungen auf die Darstellung von Verknüpfungen.(siehe Verknüpfungen)
  • Schnellsuche: Bei gesetzter "Auswahlsuche", hat diese Einstellung keine Bedeutung. Ansonsten wirkt sich diese Option in der Anwendersicht bei der Tabellenliste auf die Suche nach Tabellenfeldinhalten aus. Bei gesetzter Option werden nach Eingabe von zwei oder mehr Zeichen in das Texteingabefeld für die Suche nach Tabellenfeldinhalten alle Inhalte, die diese Zeichen enthalten in einer Liste unter dem Texteingabefeld eingeblendet. Bei gehaltener Shift-Taste und gleichzeitigem Mausklick auf einen Eintrag, wird sofort in den Bearbeitungsmodus für den entsprechenden Datensatz umgeschaltet.
  • Volltextsuche: Bei einer Volltextsuche kann die gesamte Tabelle anstatt nur einzelnen Spalten durchsucht werden.Volltextsuche Abb4.png
Unter Admin -> Tabelle -> Volltextsuche Abb2.png können einzelne Spalten der Tabelle für die Volltextsuche aktiviert oder deaktiviert werden.
  • Gruppierbar: Bei gesetzter Option ist es in der Anwendersicht bei der Tabellenliste möglich, die Datensätze nach den Inhalten dieses Tabellenfeldes sortiert, darzustellen. Datensätze, die den gleichen Inhalt für dieses Tabellenfeld haben, werden dabei gruppiert. In der Anwendersicht erscheint dazu links neben der ersten Spaltenüberschrift ein Symbol, zu dem das Stichwort "Auswahl gruppieren" eingeblendet wird, wenn der Mauszeiger für kurze Zeit darauf belassen wird. Bei Mausklick auf dieses Symbol wird eine Auswahl der gruppierbaren Tabellenfelder eingeblendet. Nach vorgenommener Auswahl und Bestätigung mittels Entertaste wird die Darstellung entsprechend aktualisiert.
  • Stapeländerung: Ist diese Option ausgewählt ist es möglich dieses Feld in der Tabellendarstellung über eine Stapeländerungsfunktion zu bearbeiten.
  • Aggregatfunktionen: Ist das Feld vom Typ Zahl können hier mehrere Agregatfunktionen ausgewählt werden. Zur Verfügung stehen SUM (Summe), AVG (Durchschnitt), Min (kleinster Wert), Max (größter Wert), COUNT (Anzahl). Diese Berechnungen werden am Ende einer Tabellenliste des jeweiligen Feldes angezeigt und kann über den Menüpunkt Ansicht->zeige Summe aktiviert werden. Die Berechnung beziht sich auf alle gefundenen Datensätze ohne Berücksichtung des Resultcaches-Limits.

Tabelle anlegen

Eine neue Tabelle kann unter einem Ordner (in der Demo zum Beispiel der Ordner CRM) neu angelegt werden. Bei Klick auf den Ordner sehen Sie die bereits vorhandenen Tabellen, sowie eine Eingabemaske zur Neuanlage einer Tabelle. Module Tabellen Abb3.png

Hier können folgende Daten für die Tabelle eingegeben werden um anschließend mit "hinzufügen" eine neue Tabelle anzulegen:

  • der Name der Tabelle
  • eine Bezeichnung um was es bei der Tabelle geht
  • eine mögliche 1:1 Verknüpfung
  • eine Tabelle die in die neue Tabelle kopiert werden soll
  • der Typ der zu erstellenden Tabelle (Beschreibung weiter unten)
  • verschiedene Flags: erstelle Berechtigungen, nutze serial id, nutze sequence Tabelle. Wobei letzteres per Default angehakt ist.


  • Typ: Beim Anlegen einer neuen Tabelle stehen folgende Tabellentypen zur Verfügung:
  • Tabelle: Tabelle ohne vordefinierte Felder
  • Kalender: Tabelle mit vordefinierten Tabellenfeldern für einen Kalender. Auf die Tabelle kann mit dem LIMBAS-Kalender-Modul zugegriffen werden. Beim Anlegen der Kalender-Tabelle wird im Mehrzweck-Fenster am rechten Browser-Rand ein entsprechender Menüpunkt hinzugefügt.
  • Kanban: Legt einen neuen Kanban-Prozess an. Nach dem Anlegen erscheint dieser im rechten Mehrzweck-Fenster.
  • Nachrichten: Tabelle mit vordefinierten Tabellenfeldern für Nachrichten. Auf die Tabelle kann mit dem LIMBAS-Nachrichten-Modul zugegriffen werden. Beim Anlegen der Nachrichten-Tabelle wird im Mehrzweck-Fenster am rechten Browser-Rand ein entsprechender Menüpunkt hinzugefügt.
  • Abfrage: virtuelle Tabelle ohne Felder (siehe Abfragen)

Optionen

  • erstelle Berechtigungen: Ist diese Option selektiert, so werden beim Anlegen eines neuen Tabellenfeldes in der LIMBAS-Systemtabelle zur Verwaltung der Tabellenrechte sofort alle Einträge für das neue Tabellenfeld hinzugefügt. Bei einer hohen Anzahl an Benutzergruppen kann es sinnvoll sein, dies aus Geschwindigkeitsgründen nachträglich durchzuführen (siehe Tabellen und Feldrechte abgleichen). In diesem Fall ist diese Option zu deaktivieren.
  • nutze [serial] id: Das Primary Key Feld ID wird als autoincrement Feld erstellt, ansonsten wird es als 18 Stelliges Zahlenfeld definiert. Diese Funktion kann für Einfügeabfragen nützlich sein.
  • nutze [sequence] Tabelle: Zur Berechnung des Wertes für das Primary Key Feld ID wird falls unterstützt die sequence Funtionalität der Datenbank genutzt. Diese Einstellung ist unabhängig ob das Feld ID als serial angelegt wurde. Diese Option wird aktuell von der Einstellung in den Datenbank-Steuerungsdateien (lib/db/db_datenbank.lib) über die Konstante [LMB_DBFUNC_SEQUENCE] gesetzt.

Aufgrund des ODBC Treibers kann zwar ein AutoID Feld erstellt aber nicht in einem Zug einen Datensatz angelegt und die neue ID zurückbekommen werden. Limbas bietet zwei Möglichkeiten zur Erstellung der nächsten ID (primary Key):

  • max(ID)+1 - Vor dem Erstellen wird zuerst die nächst höhere ID per (max(ID)+1) abgefragt. Der Vorgang ist innerhalb einer Transaktion was eine gleichzeitige Vergabe ausschließt.
  • Sequenztabellen - Vor dem Erstellen wird zuerst die nächst höhere ID mit Hilfe einer Sequenztabelle abgefragt (default). Der Startwert orientiert sich auf den höchsten aktuellen ID-Wert der Tabelle. Sequenztabellen können über die Systemtools neu generiert werden. Werden über einen Import oder einer direkten ODBC Verbindung neue Datensätze eingefügt muß die Sequenztabelle aktualisiert werden. Sequenzen erstellen