🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe" verw

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Roadrunner
Beiträge: 6
Registriert: Sa 26. Apr 2014, 17:22

In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe" verw

Beitrag von Roadrunner » Sa 26. Apr 2014, 17:43

Hallo

Ich bin seit ein paar Tagen erst dabei LibreOffice Base zu erkunden.

Ich habe eine Tabelle "Farbe" erstellt mit zwei Feldern
In der ersten Zeile in der ersten Spalte "ID" und in der zweiten Spalte "SMALLINTEGER" zugewiesen.
Die Zeile "ID" ist als Primärschlüssel definiert.
Dann mit Daten gefüllt.
1 gold
2 silber
3 bronze
usw.

Die Haupttabelle habe ich "Objekt" genannt und mehrere Felder angelegt.
JETZT KOMMT MEINE FRAGE
Ich habe in der Tabelle "Objekt" u.a. zwei Felder "Stickfarbe" und "FarbeGrundstoff".
Da beides Farben sind, möchte ich auf die Tabelle "Farbe" verweisen.
Und hier verließen sie mich. Ich habe versucht die Begriffe Primärschlüssel, Fremdschlüssel u. Sekundärschlüssel zu verstehen, scheitere aber an den Beispielen.

Kann mir jemand auf's Pferd helfen ? Danke im Voraus.

HAVE A NICE DAY
Michael

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von F3K Total » Sa 26. Apr 2014, 18:40

Hi und hallo,
bist du dir sicher, dass du in eine smallinteger (Ganzzahlen) den Text gold, silber, bronze hineingeschrieben hast? Kann eigentlich überhaupt nicht sein.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Freischreiber
* LO-Experte *
Beiträge: 832
Registriert: Fr 28. Mär 2014, 10:41

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von Freischreiber » Sa 26. Apr 2014, 20:13

Hallo Roadrunner,

herzlich willkommen als noch neuerer Neuzugang als ich...

Ich werde jetzt meine paar Kenntnisse versuchen loszuwerden, und bitte um Aufschreie, wenn ich was falsches erzähle.

Du hast wahrscheinlich der ID-Spalte den Datentyp "Small integer" zugewiesen. Geht anscheinend, Standard ist Integer, soviel ich weiß.
Zusätzlich hast du wahrscheinlich eine zweite Zeile im Bearbeiten-Modus mit Feldname "Farbe" überschrieben und als Feldtyp vermutlich einen Texttyp, am besten Text (Varchar).

In deiner Tabelle Farbe ist jetzt die erste Zeile der von dir ja so definierte Primärschlüssel, d. h. jede Farbnummer darf nur einmal vorkommen. Die Textbezeichnungen der Farbe sind Sekundärschlüssel dieser Tabelle.

In der Tabelle Objekt wird in den Farbspalten anstelle der wörtlichen Farbangaben die dazugehörige Nummer aus der Farbe-Tabelle stehen. Dort sind die Nummern Fremdschlüssel, da sie eigentlich aus der Farbe-Tabelle stammen.

Dann kannst du in der Objekt-Tabelle entweder zusätzlich ein eigenes ID-Feld vorsehen für einen eigenen Primärschlüssel, oder du definierst, wenn jede Farbkombination nur einmal vorkommen soll, einen kombinierten Primärschlüssel, der aus beiden Farbfeldern besteht.

Tip von mir für die Übersichtlichkeit: In der Tabelle Objekt am besten die Fremdschlüsselfelder so benennen, daß klar wird, welche Fremdschlüssel dort stehen, also etwa "Stickfarbe FarbeID" und "Grundstoff FarbeID". Sieht zwar am Anfang umständlicher aus, aber später versteht man die Tabelle noch.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Roadrunner
Beiträge: 6
Registriert: Sa 26. Apr 2014, 17:22

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von Roadrunner » Sa 26. Apr 2014, 22:57

Hallo

Vielen Dank für die Info's.
"Freischreiber" hat es richtig dargestellt. (für mich als Anfänger ist es noch schwer an alle genauen Beschreibungen zu denken)
Der Vorschlag "Stickfarbe FarbeID" ... Ist sehr gut, danke dafür.

In der Tabelle "Objekt" habe Ich Daten aus LibreOffice Calc importiert und in den Feldern "Stickfarbe FarbeID" und
"Grundstoff FarbeID" stehen nur Zahlen. Diese werden den ID's der Tabelle "Farbe" zugeordnet.

Frage 1:
In einer Abfrage sollen Felder eingefügt werden, die den Text ( gold, silber ... ) für "Stickfarbe FarbeID" und
"Grundstoff FarbeID" wiedergeben.
Wie muss der Select Befehl dafür aussehen ?
SELECT "OBJEKT"."ID", "OBJEKT"."Stickfarbe FarbeID", "OBJEKT"."Grundstoff FarbeID"
FROM "OBJEKT", "FARBE"
WHERE ... ? WAS MUSS ICH HIER WEITER EINGEBEN ?

Die Abfrage ist Grundlage für die Berichtserstellung.

Frage 2:
In einem Bericht konnte Ich die Zahlen neben den entsprechenden Bildern wiedergeben
BildObjekt1 "Stickfarbe:" 1 "Grundstoff:" 7 ( Farbe.ID 7 = blau )
möchte dort aber die zugehörigen Texte stehen haben.
BildObjekt1 "Stickfarbe:" gold "Grundfarbe:" blau
WO MUSS ICH DIES ZUORDNEN ?

Vielen Dank im Voraus.
Michael

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von RobertG » So 27. Apr 2014, 08:51

Hallo Michael,

mit einer einfachen Abfrage wirst Du dabei nicht zu Rande kommen, da zu der Farb-Beziehung schließlich nur eine Farbe eindeutig identifiziert werden kann. Du könntest natürlich zuerst eine Abfrage "Stickfarben" und dann eine Abfrage "Grundstofffarben" zusammenbauen und die dann miteinander kombinieren. Es geht aber auch direkt:

Code: Alles auswählen

SELECT "a"."ID", "a"."Stickfarbe_ID", ( SELECT "Farbe" FROM "Farbe" WHERE "ID" = "a"."Stickfarbe_ID" ) AS "Stickfarbe", "a"."Grundstoff_ID", ( SELECT "Farbe" FROM "Farbe" WHERE "ID" = "a"."Grundstoff_ID" ) AS "Grundstoffarbe" FROM "Objekt" AS "a"
Ich habe die Elemente jetzt nicht genau so benannt wie bei Dir. Wichtig ist nur, dass Du der Tabelle "Objekt" ein Alias zuweist. Dann können die Unterabfragen auf die aktuellen Datensätze zugreifen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Roadrunner
Beiträge: 6
Registriert: Sa 26. Apr 2014, 17:22

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von Roadrunner » So 27. Apr 2014, 22:22

Hallo RobertG

Vielen Dank, das hat sehr geholfen.
Ich war den ganzen Sonntag unterwegs, habe aber gerade die Abfrage erstellt. Die Farben werden wie gewünscht angezeigt.
<freuganzdolle>

Morgen nach der Arbeit geht es dann gleich weiter.

Danke an alle Beteiligten

HAVE A NICE DAY
Michael

Roadrunner
Beiträge: 6
Registriert: Sa 26. Apr 2014, 17:22

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von Roadrunner » Di 29. Apr 2014, 22:29

Hallo
Die Abfrage ( gem. RobertG ) mit dem Alias "Farbzuordnung" zeigt die ID, sowie die Zahlen und Texte der Stickfarbe und Grundfarbe. Soweit, so Gut.

WIE BEKOMME ICH DIES JETZT IN DIE ABFRAGE "AbfrageObjekt" ? (dort stehen u.a. ja nur die Zahlen der Stickfarbe und Grundfarbe und halt noch viele andere Texte, die Ich aber zuordnen konnte, da sie sich jeweils nur auf eine Tabelle beziehen und keine doppelten Zuordnungen vorliegen).

So wie Ich es verstanden habe, kann einem Bericht nur auf EINE Abfrage zugewiesen werden. Und dies ist bei Mir eben "AbfrageOkjekt".
Ziel ist es in einem Bericht "KatalogObjekt" auch die Texte der Stickfarbe und Grundfarbe unter den entsprechenden Bildern aufzuführen.

Es wird für Mich immer undurchsichtiger.
Hoffentlich kann jemand Licht ins Dunkle bringen.

HAVE A NICE DAY
Michael

Roadrunner
Beiträge: 6
Registriert: Sa 26. Apr 2014, 17:22

Re: In Tabelle "Objekt" in zwei Feldern auf Tabelle "Farbe"

Beitrag von Roadrunner » Do 1. Mai 2014, 08:04

Hallo
Problem gelöst ! :-)
Ich habe in der Abfrage "AbfrageObjekt" im grafischen Bereich die Abfrage "Farbzuordnung" eingefügt und die beiden Felder "Objekt"."ID" und "Farbzuordnung"."ID" miteinander verbunden.

HAVE A NICE DAY
Michael


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten