❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hi,
wie ich an anderer Stelle bereits angedeutet habe, bin ich in Sachen Datenbankerstellung noch ein absoluter Noob, während ich mich früher mit Abfragen und SQL durchaus schon beschäftigt habe.
Bei uns im Hause wurde bisher die Schließfachverwaltung mehr oder minder handschriftlich in eine Tabelle eingetragen, das ganze natürlich u.a. getrennt nach Miete und Versicherungsbeiträgen etc.
Für die Erstellung von Serienbriefen (z.B. für Rechnungen) wurden die Adressen dann komplett in ein Tabellendokument (jeweils neu?) erfasst und dann das Seriendokument erstellt.
Vor kurzem ist das bei mir aufgeschlagen, daher habe ich mich entschlossen, dass ich die Schließfachverwaltung gerne als Datenbankanwendung mit allen zu pflegenden Daten anlegen möchte.
Grundlage ist im Prinzip zunächst eine einzelne und hier angehängte Tabelle mit allen relevanten Feldern, soweit bisher vorhanden. Weitere Felder könnten gegebenenfalls noch hinzukommen, mir fallen aktuell aber noch keine weiteren Felder ein.
Ausgangssituation:
1. Wir haben insgesamt zwei Geschäftsstellen wo Schließfächer in verschiedenen Größen vermietet werden.
Geschäftsstelle 1: 96 Schließfächer
Geschäftsstelle 2: 30 Schließfächer
Schließfachgrößen: klein, mittel oder groß -> jeweils dem einzelnen Schließfach zuzuordnen
2. Die Schließfächer sind derzeit nur zum Teil vermietet, d.h. einige Schließfächer sind derzeit nicht in Verwendung bzw. stehen leer.
3. Für die Schließfächer ist eine Jahresmiete/Jahresgebühr zu entrichten, die auf verschiedene Weise (Zahlungsart) bezahlt wird.
Zahlungsarten: Dauerlastschrift (Mandatsreferenz erforderlich), Überweisung oder auch in Bar.
4. Manche Schließfächer sind auch mit einer bestimmten Versicherungssumme versichert, hier ist ein jährlicher Versicherungsbeitrag zu leisen, der ebenfalls per vorgenannter Zahlungsarten entrichtet werden kann. Die Mandatsreferenz für Miete und Versicherungen ist getrennt.
5. Die Mieter der Schließfächer sollen mit Adresse, Telefon-Nr. und E-Mail-Adresse hinterlegt werden.
6. Für etwaige Anschreiben soll zudem der jeweilige Kundenberater des Mieters als Ansprechpartner greifbar bzw. hinterlegt sein.
Zielbild:
1. Erstellung eines passenden/sinnvollen Datenbankschemas von Grund auf.
2. Es sollen möglichst keine redundanten Daten gehalten werden.
3. Erstellung von einem oder mehreren Erfassungsformularen mit Suchmöglichkeiten nach Schließfächern und/oder Mietern.
4. Erstellung von Abfragen zur Verwendung in anderen Programmteilen und/oder
5. Erstellung von Serienbriefen als Bericht direkt aus der Datenbank heraus.
In einem ersten Schritt möchte ich zunächst die Tabellen sinnvoll aufteilen und dann die richtigen Beziehungen zueinander schaffen. Hierzu werden ich vermutlich des öfteren Eure Hilfe benötigen, gerade wenn statt 1:n zum Beispiel eine m:n Beziehung benötigt wird, ...
Hylli
wie ich an anderer Stelle bereits angedeutet habe, bin ich in Sachen Datenbankerstellung noch ein absoluter Noob, während ich mich früher mit Abfragen und SQL durchaus schon beschäftigt habe.
Bei uns im Hause wurde bisher die Schließfachverwaltung mehr oder minder handschriftlich in eine Tabelle eingetragen, das ganze natürlich u.a. getrennt nach Miete und Versicherungsbeiträgen etc.
Für die Erstellung von Serienbriefen (z.B. für Rechnungen) wurden die Adressen dann komplett in ein Tabellendokument (jeweils neu?) erfasst und dann das Seriendokument erstellt.
Vor kurzem ist das bei mir aufgeschlagen, daher habe ich mich entschlossen, dass ich die Schließfachverwaltung gerne als Datenbankanwendung mit allen zu pflegenden Daten anlegen möchte.
Grundlage ist im Prinzip zunächst eine einzelne und hier angehängte Tabelle mit allen relevanten Feldern, soweit bisher vorhanden. Weitere Felder könnten gegebenenfalls noch hinzukommen, mir fallen aktuell aber noch keine weiteren Felder ein.
Ausgangssituation:
1. Wir haben insgesamt zwei Geschäftsstellen wo Schließfächer in verschiedenen Größen vermietet werden.
Geschäftsstelle 1: 96 Schließfächer
Geschäftsstelle 2: 30 Schließfächer
Schließfachgrößen: klein, mittel oder groß -> jeweils dem einzelnen Schließfach zuzuordnen
2. Die Schließfächer sind derzeit nur zum Teil vermietet, d.h. einige Schließfächer sind derzeit nicht in Verwendung bzw. stehen leer.
3. Für die Schließfächer ist eine Jahresmiete/Jahresgebühr zu entrichten, die auf verschiedene Weise (Zahlungsart) bezahlt wird.
Zahlungsarten: Dauerlastschrift (Mandatsreferenz erforderlich), Überweisung oder auch in Bar.
4. Manche Schließfächer sind auch mit einer bestimmten Versicherungssumme versichert, hier ist ein jährlicher Versicherungsbeitrag zu leisen, der ebenfalls per vorgenannter Zahlungsarten entrichtet werden kann. Die Mandatsreferenz für Miete und Versicherungen ist getrennt.
5. Die Mieter der Schließfächer sollen mit Adresse, Telefon-Nr. und E-Mail-Adresse hinterlegt werden.
6. Für etwaige Anschreiben soll zudem der jeweilige Kundenberater des Mieters als Ansprechpartner greifbar bzw. hinterlegt sein.
Zielbild:
1. Erstellung eines passenden/sinnvollen Datenbankschemas von Grund auf.
2. Es sollen möglichst keine redundanten Daten gehalten werden.
3. Erstellung von einem oder mehreren Erfassungsformularen mit Suchmöglichkeiten nach Schließfächern und/oder Mietern.
4. Erstellung von Abfragen zur Verwendung in anderen Programmteilen und/oder
5. Erstellung von Serienbriefen als Bericht direkt aus der Datenbank heraus.
In einem ersten Schritt möchte ich zunächst die Tabellen sinnvoll aufteilen und dann die richtigen Beziehungen zueinander schaffen. Hierzu werden ich vermutlich des öfteren Eure Hilfe benötigen, gerade wenn statt 1:n zum Beispiel eine m:n Beziehung benötigt wird, ...
Hylli
- Dateianhänge
-
- Schliessfachverwaltung_Grundlage.ods
- (16.86 KiB) 176-mal heruntergeladen
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Der Anfang wäre denke ich geschafft, trotzdem stoße ich gerade auf mein erstes kleineres (?) Problem.
Nachdem ich schon fast wieder aufstecken wollte, habe ich Dank des Videos von F3K_Total zu m:n Beziehungen meinen ersten Ansatz für die Datenbank erstellt.
Ausgangssituation bisher:
- Geschäftsstelle 1: 96 Schließfächer (Nr. 1-96)
- Geschäftsstelle 2: 30 Schließfächer (Nr. 1-30)
- eine unbestimmte Anzahl von Kunden derzeit mit Kundennummer, Nachname u. Vorname
- jeder Kunde kann Mieter eines oder mehrerer Schließfächer pro Geschäftsstelle sein
- jedes Schließfach kann durch einen oder mehrere Kunden (gemeinschaftlich) gemietet sein
- jedes Schließfach hat eine bestimmte Größe
Ich denke das anhängender Ansatz mit m:n Beziehungen zwischen Geschäftstelle, Schließfach(-Nr.) und Kunden hier der richtige Ansatz sind?
Wo ich jedoch aktuell hänge:
Jedes Schließfach pro Geschäftsstelle hat exakt eine Größe -> klein, mittel oder groß.
Wie bekomme ich das hier am einfachsten gebacken?
Muss ich da noch eine weitere Relationstabelle mit Geschäftsstelle, Schließfach-Nr und Größe anlegen? Dann würde ich doch aber die Beziehung zwischen Geschäftsstelle und Schließfachnummer doppelt pflegen?!?
Hylli
Nachdem ich schon fast wieder aufstecken wollte, habe ich Dank des Videos von F3K_Total zu m:n Beziehungen meinen ersten Ansatz für die Datenbank erstellt.
Ausgangssituation bisher:
- Geschäftsstelle 1: 96 Schließfächer (Nr. 1-96)
- Geschäftsstelle 2: 30 Schließfächer (Nr. 1-30)
- eine unbestimmte Anzahl von Kunden derzeit mit Kundennummer, Nachname u. Vorname
- jeder Kunde kann Mieter eines oder mehrerer Schließfächer pro Geschäftsstelle sein
- jedes Schließfach kann durch einen oder mehrere Kunden (gemeinschaftlich) gemietet sein
- jedes Schließfach hat eine bestimmte Größe
Ich denke das anhängender Ansatz mit m:n Beziehungen zwischen Geschäftstelle, Schließfach(-Nr.) und Kunden hier der richtige Ansatz sind?
Wo ich jedoch aktuell hänge:
Jedes Schließfach pro Geschäftsstelle hat exakt eine Größe -> klein, mittel oder groß.
Wie bekomme ich das hier am einfachsten gebacken?
Muss ich da noch eine weitere Relationstabelle mit Geschäftsstelle, Schließfach-Nr und Größe anlegen? Dann würde ich doch aber die Beziehung zwischen Geschäftsstelle und Schließfachnummer doppelt pflegen?!?
Hylli
- Dateianhänge
-
- Relation_Schliessfachgroessen.png (16.51 KiB) 4424 mal betrachtet
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hallo hylli,
die Schließfachgröße gehört zu der Schließfachnummer. Also: tbl_Schliessfaecher bekommt einen Fremdschlüssel FK_ID_SF_Groesse und da hängst Du das Ding rein.
Gruß
Robert
die Schließfachgröße gehört zu der Schließfachnummer. Also: tbl_Schliessfaecher bekommt einen Fremdschlüssel FK_ID_SF_Groesse und da hängst Du das Ding rein.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Das hatte ich erst auch gedacht, aber:
- Es gibt sowohl in Geschäftsstelle 1 als auch Geschäftsstelle 2 eine Schließfach-Nr. 1
- Schließfach Nr. 1 in Geschäftsstelle 1 wäre z.B. klein und in Geschäftsstelle 2 hingegen groß
Die Eindeutigkeit eines Schließfaches ist m.E. nur durch Beziehung von Geschäftstelle und Schließfach gegeben, oder sehe ich das falsch?
Hylli
- Es gibt sowohl in Geschäftsstelle 1 als auch Geschäftsstelle 2 eine Schließfach-Nr. 1
- Schließfach Nr. 1 in Geschäftsstelle 1 wäre z.B. klein und in Geschäftsstelle 2 hingegen groß
Die Eindeutigkeit eines Schließfaches ist m.E. nur durch Beziehung von Geschäftstelle und Schließfach gegeben, oder sehe ich das falsch?
Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
-
- * LO-Experte *
- Beiträge: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
<klugscheiss>
Sorry, aber da muß die Realität sich der Datenbank anpassen.
Wikipedia sagt:
Dann müssen die Schließfächer eben in Zukunft A1... für die Geschäftsstelle 1 heißen und B1... für die Geschäftsstelle 2. Macht garantiert auch sonst das Leben leichter.
</klugscheiss>
Sorry, aber da muß die Realität sich der Datenbank anpassen.
Wikipedia sagt:
Eindeutigkeit ist nicht, wenn man eine Bedeutung aus anderen Dingen ableiten muß.Eindeutigkeit ist eine Zuordnung, bei der ein Zeichen (zum Beispiel ein Wort, ein Satz) genau eine Bedeutung hat.
Dann müssen die Schließfächer eben in Zukunft A1... für die Geschäftsstelle 1 heißen und B1... für die Geschäftsstelle 2. Macht garantiert auch sonst das Leben leichter.
</klugscheiss>

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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Darf ich jetzt daraus ableiten, dass wir entweder unsere Nummernsystematik auf den Kopf stellen sollen, z.B. Schließfach-Nr. 101-196 für Geschäftsstelle 1 und 201-230 Geschäftsstelle 2, oder dass ich doch eine weitere Relationstabelle zwischen Geschäftsstelle und Schließfachnummer benötige?!?
Ersteres kommt vermutlich nicht in Frage...
Hylli
Ersteres kommt vermutlich nicht in Frage...
Hylli
Zuletzt geändert von hylli am Mi 2. Aug 2017, 16:21, insgesamt 1-mal geändert.
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hallo hylli,
bei etwas genauerer Betrachtung:
Bez_GS_SF_Person hat einen Primärschlüssel zu viel: FK_ID_Person.
Dann definierst Du das Schließfach nämlich genau in dieser Tabelle und dort über einen Fremdschlüssel auch die Größe.
Wenn Du den Primärschlüssel FK_ID_Person nicht aus der Schlüsselfunktion heraus nimmst, dann existiert kein Schließfach, das nicht einer Person eindeutig zugeordnet ist. Und wenn Du noch mehrere Personen einem Schließfach zuordnen möchtest, so musst Du eine zusätzliche Tabelle zwischen die Personentabelle und die Bez-Tabelle legen, damit eine n:m-Beziehung möglich ist. Da ist es dann fraglich, ob Du überhaupt eine Konstruktion mit zwei Primärschlüsseln für die genaue Schließfachdefinition (in Bez_..) nehmen solltest. Eine Durchnummerierung für beide Standorte wäre hier wohl einfacher zu Handhaben - und die dann als Schlüsselwert.
Gruß
Robert
bei etwas genauerer Betrachtung:
Bez_GS_SF_Person hat einen Primärschlüssel zu viel: FK_ID_Person.
Dann definierst Du das Schließfach nämlich genau in dieser Tabelle und dort über einen Fremdschlüssel auch die Größe.
Wenn Du den Primärschlüssel FK_ID_Person nicht aus der Schlüsselfunktion heraus nimmst, dann existiert kein Schließfach, das nicht einer Person eindeutig zugeordnet ist. Und wenn Du noch mehrere Personen einem Schließfach zuordnen möchtest, so musst Du eine zusätzliche Tabelle zwischen die Personentabelle und die Bez-Tabelle legen, damit eine n:m-Beziehung möglich ist. Da ist es dann fraglich, ob Du überhaupt eine Konstruktion mit zwei Primärschlüsseln für die genaue Schließfachdefinition (in Bez_..) nehmen solltest. Eine Durchnummerierung für beide Standorte wäre hier wohl einfacher zu Handhaben - und die dann als Schlüsselwert.
Gruß
Robert
Zuletzt geändert von RobertG am Mi 2. Aug 2017, 16:27, insgesamt 1-mal geändert.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hallo Robert,
ich zitiere mal von weiter oben:
Hylli
ich zitiere mal von weiter oben:
Wir haben Kunden die mehrere Schließfächer gemietet haben und wir haben Schließfächer die von mehreren Kunden gemietet werden, daher gehe ich doch davon aus, dass hier m:n-Beziehungen bestehen müssen, oder?- jeder Kunde kann Mieter eines oder mehrerer Schließfächer pro Geschäftsstelle sein
- jedes Schließfach kann durch einen oder mehrere Kunden (gemeinschaftlich) gemietet sein
- jedes Schließfach hat eine bestimmte Größe
Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)
-
- * LO-Experte *
- Beiträge: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hallo hylli,
Ich habe etwas ähnliches mit Aufbewahrungsfächern, die jedes eine eindeutige Zuordnung haben. Es gibt keine zwei Fächer mit derselben Bezeichnung. Das Stichwort heißt: chaotische bzw. dynamische Lagerhaltung.
Gruß
Freischreiber
PS: Siehe meine Frage dazu und Roberts Lösung: https://libreoffice-forum.de/viewtopic.php?f=10&t=15179
Bei dieser Lösung "verbrauchen" sich die freien Schließfachnummern und man kann nur aus freien Schließfächern noch auswählen bei der Vergabe. Funktioniert sehr gut.
Es wäre erst dann meines Erachtens eine Systematik. Wobei ich eine Kombination mit vorangestellten Buchstaben empfehlen würde. Sonst kommt das nächste Problem, wenn die Geschäftsstelle 1 weitere vier Schließfächer aufstellt.unsere Nummernsystematik auf den Kopf stellen
Ich habe etwas ähnliches mit Aufbewahrungsfächern, die jedes eine eindeutige Zuordnung haben. Es gibt keine zwei Fächer mit derselben Bezeichnung. Das Stichwort heißt: chaotische bzw. dynamische Lagerhaltung.
Gruß
Freischreiber
PS: Siehe meine Frage dazu und Roberts Lösung: https://libreoffice-forum.de/viewtopic.php?f=10&t=15179
Bei dieser Lösung "verbrauchen" sich die freien Schließfachnummern und man kann nur aus freien Schließfächern noch auswählen bei der Vergabe. Funktioniert sehr gut.
Zuletzt geändert von Freischreiber am Mi 2. Aug 2017, 16:33, insgesamt 1-mal geändert.
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: Schließfachverwaltung - von 0 bis zur fertigen Anwendung
Hallo Hylli,
ja, die solltest Du definieren - aber zwischen einzelnen Schließfächern und einzelnen Personen, lso so etwas wie rel_Schliessfach_Person mit FK_ID_Schliessfach und FK_ID_Person. Die ergeben dann zusammen den Primärschlüssel.
Vorher solltest Du aber die Schließfächer klar bekommen. Und dazu hast Du Nummern und Orte und die Größe, die alle irgendwo in einer Tabelle zusammengefasst werden müssen. Da gehört eine ID_Schliessfach rein, die bei den wenigen Fächern ja die kleinste Zahlengröße haben kann. Und dann eben Ort, Nummer und Größe als Fremdschlüssel.
Gruß
Robert
ja, die solltest Du definieren - aber zwischen einzelnen Schließfächern und einzelnen Personen, lso so etwas wie rel_Schliessfach_Person mit FK_ID_Schliessfach und FK_ID_Person. Die ergeben dann zusammen den Primärschlüssel.
Vorher solltest Du aber die Schließfächer klar bekommen. Und dazu hast Du Nummern und Orte und die Größe, die alle irgendwo in einer Tabelle zusammengefasst werden müssen. Da gehört eine ID_Schliessfach rein, die bei den wenigen Fächern ja die kleinste Zahlengröße haben kann. Und dann eben Ort, Nummer und Größe als Fremdschlüssel.
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
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 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.