Formel als Felddefinition

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Formel als Felddefinition

Beitrag von Eia »

Hi
Ich hab schon Formeln in Abfragen eingegeben. Aber wie macht man das bei Tabellendefinitionen?
Also, wenn bei der Anlage eines Datensatzes bereits ein Feld zu berechnen ist.
Geht das überhaupt über die Felddefinitionen? Wenn ich im Kontextmenu einer Tabelle "Bearbeiten" wähle, habe ich zwar für die einzelnen Felder ein DropDownmenü für die Auswahl verschiedener Feldtypen. Aber wie ich da eine Formel reinkriege, ist mir nicht klar.
Oder macht man das über Formulare?
mfG
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Formel als Felddefinition

Beitrag von chrk »

Hallo Eia,
das geht meines Wissens nicht, die Verwendung von Formeln/Funktionen ist der Datenmanipulation vorbehalten. Es gibt noch dazu eine Schule der Datenbanktheorie, die das Abspeichern von Werten, die aus anderen Feldern der Datenbank zu berechnen sind, für Redundanz hält und kategorisch ausschließt.

Wenn Du diese Daten (z.B. wegen der Datenhistorie) benötigst, kannst Du höchstens das Feld mit entsprechendem Datentypen deklarieren und im zweiten Schritt in einer Änderungsabfrage füllen. Benötigst Du diese Daten nicht persistent, solltest Du eine Abfrage als View verwenden, in der sie zur Laufzeit berechnet werden.
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Re: Formel als Felddefinition

Beitrag von Eia »

chrk hat geschrieben:Hallo Eia,
das geht meines Wissens nicht, die Verwendung von Formeln/Funktionen ist der Datenmanipulation vorbehalten.
Danke, hatte mir fast schon sowas gedacht. Ist auch nachvollziehbar.
Zusatzfrage: ist es möglich, den Gültigkeitsbereich für ein Feld bereits in der Felddefinition abzulegen, oder sind wir da beim gleichen Prinzip?
mfG
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Formel als Felddefinition

Beitrag von chrk »

Eia hat geschrieben:Zusatzfrage: ist es möglich, den Gültigkeitsbereich für ein Feld bereits in der Felddefinition abzulegen, oder sind wir da beim gleichen Prinzip?
mfG
Da ich nicht mit Base arbeite, kann ich Dir nicht sagen, ob Du das auf einer HSQL-DB per 'SQL direkt ausführen' hinbekommst, der Tabellenassistent hat ganz offensichtlich keine Option dafür.

Der SQL Standard kennt die CHECK-Klausel (siehe z.B. hier: DDL (SQL Data Definition Language)), mit der man in einer CREATE-Anweisung einen Wertebereich angeben kann.

Außer dem könnte man das über einen Fremdschlüssel lösen.
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Re: Formel als Felddefinition

Beitrag von Eia »

chrk hat geschrieben:
Eia hat geschrieben:Außer dem könnte man das über einen Fremdschlüssel lösen.
Also auch über die Verknüpfung mit einer weiteren Tabelle.
OK, ich werd mal darüber nachdenken.
Dankeschön
mfG
Antworten