💚 BITTE helfen Sie uns NOCH HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datenbank mit Beziehung über 3 Tabellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Hoggle
Beiträge: 5
Registriert: So 21. Mär 2021, 13:58

Datenbank mit Beziehung über 3 Tabellen

Beitrag von Hoggle » So 21. Mär 2021, 14:22

Hallo zusammen.
ich weiß nicht, ob das Problem überhaupt eins ist, aber ich bin leider totaler Anfänger.

ich habe dank YT und diversen Forenbeiträgen MariaDB auf einem Raspberry installiert bekommen.
Datenbank mit phpmyadmin angelegt und in BASE komme ich in die Tabellen rein und kann soweit alles machen, was ich bis jetzt brauchte, also Tabellen anlegen, und konfigurieren.

Jetzt mein Problem:
Ich arbeite im Baugewerbe und wir haben viel mit Generalunternehmen zu tun.
Ich habe also meine Projekte, die einen Auftraggeber(AG) haben und bei meinem Auftraggeber 1-2 Ansprechpartner(AP).
Die Auftraggeber(AG) habe ich bei unterschiedlichen Projekten wiederkehrend, aber halt nicht immer den selben Ansprechpartner(AP).
Das bedeutet, das ich bei Projekt A als Auftraggeber(AG) AG1 und als Ansprechpartner (AP) AP1+AP2 habe.
Projekt B hat ebenfalls AG1 aber AP3
Projekt C hat AG2 mit AP4

Als Beziehung habe ich eine 1:N Beziehung zwischen AG und AP, Also 1AG kann mehrere APs haben.
Wie kann ich jetzt eine Verbindung eines Projektes mit dem richtigen AP eines AGs herstellen?
Natürlich kann ich eine 1:N Beziehung zwischen einem Projekt und einem AG erstellen, aber dann bekomme ich das mit dem Ansprechpartner nicht hin.
Eine 1:N Beziehung zwischen Projekt und AP ist aus meiner Sicht nicht optimal, da ich auch 2 oder 3 Ansprechpartner eines AGs haben kann.

Denke ich da zu krude?

kann mir da jemand helfen?
Muß ich jetzt eine Tabelle haben, wo ich irgend etwas mit einem zusammengesetzten Index machen muß?
Gibt es irgendwo ein howto, was ich nutzen könnte?

bmk
Beiträge: 27
Registriert: Do 2. Nov 2017, 22:00

Re: Datenbank mit Beziehung über 3 Tabellen

Beitrag von bmk » So 21. Mär 2021, 16:38

Hallo Hoggle,

wenn der Fall so ist:
  • Ein Projekt kann mehrere Ansprechpartner haben
  • Ein Ansprechpartner kann mehrere Projekte betreuen
dann ist das der typische Fall einer m:n-Beziehung

In LO gibt es dazu bei den Tabellenverknüpfungen den Kreuzverbund, damit habe ich aber noch nicht gearbeitet.
Es funktioniert auch nicht bei allen Datenbanktypen.

Die klassische Art wäre eine Zwischentabelle mit den Indices aus der Projekt- und Ansprechpartnerliste, ggf. erweitert um einen Eintrag, wer der Hauptansprechpartner ist.

Bei der Auswahl der AP ist darauf zu achten, dass sie alle beim gleichen AG sind.

Die "unsaubere" bzw. nicht normalisierte Version wäre, bei Projekt Felder für mehrere AP (AP1, Ap2, AP3) vorzusehen. Das erleichtert die Tabellenverknüpfungen, erschwert aber Auswertungen, da dann über mehrere Felder gesucht werden muss.

Grüße bmk

Hoggle
Beiträge: 5
Registriert: So 21. Mär 2021, 13:58

Re: Datenbank mit Beziehung über 3 Tabellen

Beitrag von Hoggle » Fr 2. Apr 2021, 13:37

Hallo.
Ich bin immer noch an der selben Stelle (Liegt aber auch wohl daran, das ich im "normalen" Berufsleben momentan ziemlich eingespannt bin und dementsprechend nur sehr unregelmäßig privat am PC sitze und oft auch wieder von vorne anfange zu denken)

Also:
1 Projekt kann nur 1 Auftraggeber haben und im Normalfall vom AG auch nur 1 Ansprechpartner.
Wer aber "auf dem Bau" unterwegs ist und auch gegebenenfalls mit Generalunternehmern zu tun hat, der weiß, das es eine Hirachie von Ansprechpartnern gibt, die für unterschiedliche Themen zuständig sind.
So gibt es meistens einen Projektleiter (Nur sehr selten auch noch einen Oberprojektleiter).
Dann gibt es auf den Baustellen Vorort 1-4 Bauleiter, von denen aber meistens nur einer für mein spezielles Gewerk zuständig ist, im Urlaubs-/Krankheitsfall aber von jemanden vertreten werden kann.
Dann die "wichtigste" Person, der Polier! Der organisiert die Abläufe und ist Ansprechpartner, wenn Monteure Hilfe oder Unterstützung bei Baustellenanlieferungen oder Transporten benötigen.

So kann 1 Projekt schon 3-4 Ansprechpartner vom Auftraggeber haben.
Diese Ansprechpartner können aber sogar bei verschiedenen Projekten zuständig sein.

Ich stehe jetzt bei den Beziehungen total auf dem Schlauch.
Folgendes habe ich:

1. Tabelle: TBL_Projekt:

Tabellenfelder:
Name/Feldtyp/Beschreibung

PRJ_ID/INT/Primärschlüssel
PRJ_ABNR/VARCHAR/unsere Projektnummer mit einer Kombi aus Zahlen und Buchstaben
PRJ_AUFNR/VARCHAR/eine Auftragsnummer aus unserem Bestellsystem, unter der alle Bestellungen abgewickelt werden
PRJ_AUF_Datum/DATE/Eingangsdatum des schriftlichen Auftrags
PRJ_Name/VARCHAR/Eindeutige Bezeichnung des Bauvorhabens
PRJ_Ort/VARCHAR/Der Ort der Baumaßnahme
PRJ_AG/INT/Verknüpfung zur Tabelle TBL_AG in der Beziehung 1 AG darf n Projekte haben(1:n) - Sollte doch passen, oder?
PRJ_Leiter/INT/Verknüpfung mit TBL_PRJ_Leiter - Der zuständige Projektleiter bei uns im Haus

Jetzt habe ich natürlich eine Tabelle TBL_AG mit einem Primärschlüssel, so das ich 1 Projekt genau 1 AG zuordnen kann, 1 AG aber mehrere Projekte haben kann (1:n Beziehung)

Aber jetzt kommen die Ansprechpartner des AGs.
ich kann natürlich 1 AG mehrere Ansprechpartner zuweisen (1 AG, n Ansprechpartner - 1:n)

Aber wie kann ich jetzt eine Beziehung eines Ansprechpartners eines speziellen AGs mit einem Projekt zuweisen - Ich denke, es muß sich um eine n:m Beziehung handeln, aber wie bekomme ich das hin?

Nochmal zum Verständnis: Ich bin leider kein IT-ler und auch kein Datenbankprofi(Was die Fragestellung ja bestimmt schon ergibt).
kann mir jemand an einem einfachen Beispiel zeigen, wie ich so eine Verknüpfung hin bekomme und wie ich die in Base vernünftig dargestellt bekomme(Ich schaue bei der Formularerstellung noch wie ein Blinder in Farbtöpfe)

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

Re: Datenbank mit Beziehung über 3 Tabellen

Beitrag von RobertG » Fr 2. Apr 2021, 15:36

Für eine n:m-Beziehung musst Du eine Tabelle erstellen, in der zuerst einmal nur die beiden Primärschlüssel aus den anderen Tabellen zusammen einen neuen Primärschlüssel ergeben.

Schau Dir einmal hier https://www.familiegrosskopf.de/robert/ ... rung.xhtml in dem Testbeispiel an, wie das geht. Du kannst auch direkt das Base-Handbuch von der LibreOffice-Seite herunterladen. Da ist das Kapitel auch drin enthalten.
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

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten