Beziehung läßt sich nicht erstellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 12:52

Hallo,

Ich habe bisher mit Access gearbeitet und bin dort auch recht fitt was Datenbankentwicklung angeht. Aber nun versuche ich auf LibreOffice umzusteigen und da fühle ich mich wieder wie ein absoluter Anfänger. :?

Ich habe versucht, bei einer kleinen Test-Datenbank eine Beziehung mit Referentieller Integrität zwischen zwei Tabellen (enthalten jeweils 3 Datensätze zum Testen) herzustellen, Aber das gelingt nicht. Es wird mir ein Fehler angezeigt, mit dem ich nichts anfangen kann.

Zwei Tabellen:
Hautptabelle mit den Feldern
Haupttabelle_PK (Primärschlüssel)
Untertab_FK (Fremdschlüssel)
Textfeld

Untertabelle mit den Feldern
Untertabelle_PK (Primärschlüssel)
Anzeigfetext

Beziehung soll sein zwischen Untertabelle_PK und Untertab_FK.
Das gelingt aber nicht, es wird ein Fehler angezeigt:

Code: Alles auswählen

Fehlercode: 1

firebird_sdbc error:
*violation of FOREIGN KEY constraint "INTEG_13" on table "Haupttabelle"
*Foreign key reference target does not exist
*Problematic key value is ("Untertrab_FK" = 2)
caused by
'ALTER TABLE "Haupttabelle" ADD  FOREIGN KEY ("Untertrab_FK") REFERENCES "Untertabelle" ("Untertabelle_PK")'
In der Untertabelle ist der Wert "2" aber vorhanden, daher weiß ich nicht, wieso da angegeben ist, daß der Wert "2" in Untertab_FK ein Problem sein soll. Beide Schlüsselfelder sind auch als BIGINT definiert (der PK natürlich als Autowert).
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

RobertG
Beiträge: 1959
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Beziehung läßt sich nicht erstellen

Beitrag von RobertG » Sa 26. Jan 2019, 14:14

Hallo Nordlicht,

da Du schreibst, dass sowohl das Fremdschlüsselfeld als auch das Schlüsselfeld der anderen Tabelle beide die gleiche Eigenschaft haben und der Fremdschlüsselwert auch in den Schlüsselwerten steht lässt sich da ohne die Datei schwerlich etwas mehr zu schreiben. Hänge doch einfach die Datei hier an (packen oder nur die Endung umschreiben - *.odb-Dateien gehen in diesem Forum nicht).

Mit welcher LO-Version arbeitest Du denn?

Gruß

Robert
http://de.libreoffice.org/hilfe/dokumentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/map_3/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Re: Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 15:17

Hallo Robert,

Hier ist die DB. Ist nur eine Test-DB zum Erlernen von Base.
Dateianhänge
TestDB_v1.zip
(10.5 KiB) 27-mal heruntergeladen
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Re: Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 15:19

Hallo Robert,

zu schnell auf Absenden geklickt. ;)
Es ist die aktuelle Version (vor kurzem erst installiert) 6.1.4.2
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

RobertG
Beiträge: 1959
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Beziehung läßt sich nicht erstellen

Beitrag von RobertG » Sa 26. Jan 2019, 17:49

Hallo Nordlicht,

ich habe die Beziehung ohne Probleme erstellen können. Bei mir ebenfalls LO 6.1.4.2, allerdings OpenSUSE 64bit rpm Linux.

Da ich kein Windows-System habe kann ich nicht überprüfen, ob da ein Windows-Bug vorhanden ist.

Gruß

Robert
Dateianhänge
TestDB_v1.zip
FirebirdDB mit Beziehungen
(10.51 KiB) 23-mal heruntergeladen
http://de.libreoffice.org/hilfe/dokumentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/map_3/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Re: Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 18:13

Hallo Robert,

Danke.
LibreOffice ist mir gerade abgestürzt. Nach dem Neustarten konnte ich die Beziehung plötzlich auch erstellen. Seltsam. Da muß also schon lange vor dem Absturz was kaputt gegangen sein.
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Re: Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 22:18

Hallo,

Noch eine Frage zu Beziehungen. Im Kontextmenü "Bearbeiten" der Beziehung gibt es kein Feld "referentielle Integrität". Ist diese automatisch immer gesetzt oder gibt es das nicht in LibreOffice?
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

RobertG
Beiträge: 1959
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Beziehung läßt sich nicht erstellen

Beitrag von RobertG » Sa 26. Jan 2019, 22:27

Hallo Nordlicht,

ohne referentielle Integrität lassen sich Beziehungen nicht erstellen. Deshalb kommt ja die Fehlermeldung, wenn ein Wert in einem Fremdschlüsselfeld nicht in einer Tabelle existiert, die den Primärschlüssel dazu hat.

Gruß

Robert
http://de.libreoffice.org/hilfe/dokumentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/map_3/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Nordlicht00
Beiträge: 22
Registriert: Sa 26. Jan 2019, 12:13

Re: Beziehung läßt sich nicht erstellen

Beitrag von Nordlicht00 » Sa 26. Jan 2019, 23:46

Hallo Robert,

Gut, also ist Referentielle Integrität immer vorhanden bei Beziehungen (bei Access muß man das explizit anhaken).

Ich habe übrigens herausgefunden, warum ich die Beziehung auch bei korrekten Schlüsseldaten nicht erstellen konnte. Gab es einmal einen Fehler wegen Schlüsselverletzung, so bleibt diese Fehlermeldung auch nach Korrektur der Schlüsselwerte bestehen und die Beziehung läßt sich nicht erstellen, und zwar solange bis LibreOffice neu gestartet wird. Nach dem Neustarten von LibreOffice läßt sich die Beziehung dann plötzlich erstellen, und zwar ohne daß an den Tabellen und deren Inhalt noch was geändert wurde.

Auch läßt sich ein Autowert nur direkt bei der ersten Erstellung der Tabelle einstellen. Wurde die Tabelle erstmal gespeichert, läßt sich dies nicht mehr Einstellen, auch wenn die Tabelle noch gar keine Daten enthält. Da bleibt nur, die Tabelle zu löschen und neu zu erstellen. :(
Manchmal geht auch das Primärschlüsselfeld verloren bei Tabellenänderungen. Übel wenn die Tabelle bereits Daten enthält. Wann genau das Eintritt habe ich noch nicht herausgefunden.
Auch andere elementare Dinge habe ich bisher noch nicht herausgefunden: wie benennt man Tabellen um, wie verschiebt man die Reihgenfolge von Tabellenfeldern (ich möchte den Primärschlüssel immer an erster Stelle stehen haben, dann die Fremdschlüssel und erst danach die anderen Felder, aber bei einer Änderung an einer Tabelle war das Primärschlüsselfeld plötzlich an letzer Stelle und ich weiß nicht wie es dazu kam).
Viele Grüße
Nordlicht

Umstieg von Access auf
Libre Office 6.1.4.2 unter Windows 7

RobertG
Beiträge: 1959
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Beziehung läßt sich nicht erstellen

Beitrag von RobertG » So 27. Jan 2019, 09:02

Hallo Nordlicht,

Firebird lässt sich zwar grundsätzlich bereits als interne Datenbank nutzen, ist aber vom Handling noch weit entfernt von der bisherigen internen HSQLDB. Dort könntest Du all das, was Du anmerkst, erledigen: AutoWert später erstellen, Tabellen umbenennen, Änderungen direkt übernehmen wie bei den Beziehungen ...

Es gibt da leider noch so einige Bugs, die auf eine Behebung warten. Anfangs ließen sich für Firebird nicht einmal Beziehungen definieren ...

Gruß

Robert
http://de.libreoffice.org/hilfe/dokumentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/map_3/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Antworten