Aufbau einer Datenbank

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

RobertG hat geschrieben: Sa, 07.11.2020 08:20 Hallo Sylvia,

zum Formular: Steht denn in der Tabelle "Pacht 2021" irgendwo im Feld "ID Mitgliederliste" der Wert 107?

Gruß

Robert
Nein, da ist alles leer. Die gesamte Spalte.
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von RobertG »

Hallo Sylvia,

Du hast das richtig gelesen? Du solltest in der Tabelle "Pacht 2021" nachschauen, ob da irgendwo in "ID Mitgliederliste" der Wert 107 steht. Sonst bleibt natürlich das Unterformular leer.

Gruß

Robert
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

Hallo Robert,
hier mal der Screenshot
Screenshot 2020-11-07 195353.jpg
Screenshot 2020-11-07 195353.jpg (215.11 KiB) 4826 mal betrachtet
Gruß
Sylvia
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von RobertG »

Hallo Sylvia,

in "ID Milgliederliste" steht nirgendwo ein Wert. Da muss doch irgendwo der Datensatz sein, der zu Mitglied 107 passt. Wenn Du dort dann auch 107 hin schreibst, dann werden die Daten entsprechend angezeigt.

Gruß

Robert
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

RobertG hat geschrieben: Sa, 07.11.2020 21:35 Hallo Sylvia,

in "ID Milgliederliste" steht nirgendwo ein Wert. Da muss doch irgendwo der Datensatz sein, der zu Mitglied 107 passt. Wenn Du dort dann auch 107 hin schreibst, dann werden die Daten entsprechend angezeigt.

Gruß

Robert
Ja, genau. Ich habe in der Pachtliste der ID 90 das Mitglied 107 eingefügt. Jetzt funktioniert es.

Aber ich muß jetzt erstmal die Pachttabelle neu sortieren, damit die IDs identisch sind.

Geht die Verbindung dann nicht automatisch? Ich kann doch nicht alle Mitglieds ID manuell eintragen.

Gruß

Sylvia
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von RobertG »

Hallo Sylvia,

woher soll die Datenbank wissen, welche Mitglieds-ID Du mit welchem Datensatz verknüpfen willst?

Jetzt sehe ich, dass Du eine Gartengruppe und eine Garten Nr. (mit unterschiedlichen Schreibweisen) in beiden Tabellen hast. Kann es sein, dass Du die "ID Mitgliederliste" gar nicht in der Tabelle "Pacht 2021" benötigst sondern nur die Verbindung dieser gerade genannten Felder? Die Ist nur leider nicht möglich, weil Du die Felder bereits unterschiedlich beschrieben hast. In der einen Tabelle steht die Zahlenangabe für die Gartennummer mit führender Null - vermutlich gar keine Zahl. Die Schreibweisen von "Altenessener Str." sind auch unterschiedlich.

Was Ich machen würde:
Eine Tabelle "Gartengruppe", in der alle Gartengruppen stehen. Primärschlüssel kann ein Buchstabe oder eine Zahl sein. Fremdschlüssel davon in beide bisherigen Tabellen als "Gartengruppe ID".
GartenNr. überprüfen. Das sollten ja wohl Zahlen sein, kein Text. Oder ist bei "Nummer" auch so etwas wie a, b, c usw. drin.
Anschließend die Mitglieds-ID aus der Pacht-Tabelle raus und die beiden Felder miteinander verbinden, die eigentlich zusammen den Primärschlüssel von Pacht ergeben könnten. ID 2 Pacht brauchst Du gar nicht!

Wenn Du mir die leere Datenbank mit ein paar Datensätzen in "Pacht 2021" zuschickst, dann kann ich Dir daran zeigen, wie ich das umsetzen würde.

Gruß

Robert
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

RobertG hat geschrieben: So, 08.11.2020 08:35 Hallo Sylvia,

woher soll die Datenbank wissen, welche Mitglieds-ID Du mit welchem Datensatz verknüpfen willst?
Ich dachte, es wäre dann ID Pacht = ID Mitglied wenn man sie miteinander verknüpft.
Jetzt sehe ich, dass Du eine Gartengruppe und eine Garten Nr. (mit unterschiedlichen Schreibweisen) in beiden Tabellen hast. Kann es sein, dass Du die "ID Mitgliederliste" gar nicht in der Tabelle "Pacht 2021" benötigst sondern nur die Verbindung dieser gerade genannten Felder? Die Ist nur leider nicht möglich, weil Du die Felder bereits unterschiedlich beschrieben hast. In der einen Tabelle steht die Zahlenangabe für die Gartennummer mit führender Null - vermutlich gar keine Zahl. Die Schreibweisen von "Altenessener Str." sind auch unterschiedlich.
Ok, das hatte ich nicht bemerkt. Ich habe alles nur ein wenig aufgeräumt, aber die Schreibweisen nicht beachtet. Werde ich noch ändern. Habe ja alles noch in Calc drin.
Was Ich machen würde:
Eine Tabelle "Gartengruppe", in der alle Gartengruppen stehen. Primärschlüssel kann ein Buchstabe oder eine Zahl sein. Fremdschlüssel davon in beide bisherigen Tabellen als "Gartengruppe ID".
GartenNr. überprüfen. Das sollten ja wohl Zahlen sein, kein Text. Oder ist bei "Nummer" auch so etwas wie a, b, c usw. drin.
ja, genau: 50a Bei Hausnummern habe ich auch Text genommen, da wir schon mal Nummern 16 -20 haben usw.
Anschließend die Mitglieds-ID aus der Pacht-Tabelle raus und die beiden Felder miteinander verbinden, die eigentlich zusammen den Primärschlüssel von Pacht ergeben könnten. ID 2 Pacht brauchst Du gar nicht!
Wenn Du mir die leere Datenbank mit ein paar Datensätzen in "Pacht 2021" zuschickst, dann kann ich Dir daran zeigen, wie ich das umsetzen würde.

Gruß

Robert
Kommt gleich. Mache ich als Calc sofort fertig. Kommt als PN.
Zuletzt geändert von Roxianna am So, 08.11.2020 19:42, insgesamt 1-mal geändert.
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

Hallo Robert,

ich kann dir das weder als PN noch als email Anhang über das Forum schicken. Da ich ja bereits alles als Screenshot veröffentlicht habe, hänge ich die Datei mal hier an.

Gruß

Sylvia
für das Forum.ods
(25.65 KiB) 144-mal heruntergeladen
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von RobertG »

Hallo Sylvia,

private Mail wäre über meine Homepage erreichbar gewesen. Macht aber nichts.

Ich hänge die Datenbank an, die ich zuerst einmal daraus machen würde. Die Gartennummer muss aber zuerst in eine Nummer umgewandelt werden, wenn sie da eingelesen werden soll.

Jetzt fehlen natürlich die Personen ...

Gruß

Robert
Dateianhänge
Parzellen.odb
(5.04 KiB) 148-mal heruntergeladen
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

Hallo Robert,

ich habe versucht es so genau wie möglich zu machen:

Ohne ID und mit 2 Primärschlüssel. Allerdings passt es nicht und es gibt beim Abspeichern eine Fehlermeldung.
Screenshot 2020-11-09 041002.jpg
Screenshot 2020-11-09 041002.jpg (29.83 KiB) 4719 mal betrachtet
Screenshot 2020-11-09 041257.jpg
Screenshot 2020-11-09 041257.jpg (76.69 KiB) 4719 mal betrachtet
Screenshot 2020-11-09 041309.jpg
Screenshot 2020-11-09 041309.jpg (41.11 KiB) 4719 mal betrachtet
Es gibt keine Gartengruppen und die Gartennr. sind falsch. Es gibt keine Reihenfolge von 1 - 100 . Es gibt auch nicht unbedingt in jeder Gartengruppe eine 1 .

Was die ehemaligen Mitglieder / Pächter angeht, so denke ich doch eine extra Tabelle. Dann kann ich die auch den Gärten und Gartengruppen zuordnen, ohne das sie in der Pacht auftauchen oder im Mitgliedsbeitrag Verein. So kann ich in 10 Jahren noch immer sehen, wer welchen Garten von wann bis wann hatte. Ich muß sie sowieso aus der ID in der Mitgliederliste nehmen, weil die ID ja fest verbunden ist mit der Pachtliste.

Gruß
Sylvia
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Aufbau einer Datenbank

Beitrag von Hiker »

Hallo,

was die ehemaligen Mitglieder angeht versuchst Du die Arbeit zu machen, die die Datenbank für Dich erledigen kann. Du denkst noch zu sehr in den Tabellen aus Calc und vergisst die Abfragen.

Du könntest so etwas wie eine Abfrage "aktiv" erstellen

Code: Alles auswählen

select * from mitglieder where ausgeschieden <> NULL
und hast damit eine neue Tabelle, die Du dann via

Code: Alles auswählen

select * from aktiv ...
z.B. für Deine Rechnungen benutzen kannst. Das macht die Datenbank in einem Augenblick.
Für die Archivübersicht kommt dann statt dessen eine andere Abfrage wie folgendes

Code: Alles auswählen

Select * from mitglieder group by gartennummer
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Aufbau einer Datenbank

Beitrag von Hiker »

Roxianna hat geschrieben: Mo, 09.11.2020 04:26 Ich muß sie sowieso aus der ID in der Mitgliederliste nehmen, weil die ID ja fest verbunden ist mit der Pachtliste.

Gruß
Sylvia
IDs solltest Du NIE wiederverwendenden.
Du trägst einfach(?) die neue Id der Person ein, die die Pacht jetzt zahlt.

Die Relationen verknüpfen nicht Datensätze, sondern verbinden Spalten. Die Datanbank kann nicht automatisch wissen welche Person zu welchem Garten gehört, aber die Relation sagt dass die Mitglieder-Id die du in der Gartentabelle für einen Garten eingegeben hast in der Mitgliederliste gesucht werden soll.

Stell Dir vor, Du hättest die Nummer vom Personalausweis als Id. Wenn ich bei euch einen Garten übernehme bekomme ich nicht den Ausweis vom Vormieter, sondern Ihr tragt meine Nummer fur den Garten ein.

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von RobertG »

Hallo Sylvia,

für die komplette Datenbank fehlt natürlich die Mitglieder-Tabelle. Da war in der Vorlage (Tabellenkalkulation) nicht einmal ein Ansatz vorhanden.

Ich bin von der vorliegenden Tabelle ausgegangen.
1. Beobachtung: Privat/Städtisch und Gartengruppe kommen immer wieder vor. So etwas muss aus der Tabelle raus. Das wird schon allein deswegen ausgelagert um Schreibfehler und damit fehlerhafte Abfragen zu vermeiden. → Separate Tabelle mit Fremdschlüssel. Und Da mir das nicht gerade viele verschiedene Kombinationen zu sein schienen habe ich da als Primärschlüssel einfach eine kleine Zahl (Tiny Integer) genommen. Die geht bis 127.
2. Beobachtung: Die Gartennummer scheint nur eine Nummer zu sein. Es scheinen keine Hausnummern mit 12a, 12b usw. zu existieren. Deswegen habe ich daraus auch tatsächlich Zahlen gemacht.

Wenn das so nicht stimmig ist, dann fehlen mir da weitere Informationen. Ich hätte z.B. Aus den jetzt 2 Tabellen sogar 3 gemacht: In der Tabelle "Pacht" steht ein Gemisch aus beständig gleichen Informationen und veränderlichen Informationen. Da hätte ich die Flächenangabe zusammen mit der Nummer und der Gruppe zu einer Tabelle "Garten" gemacht und dann die Finanzinformationen, mindestens ergänzt um eine Jahresangabe, in der Tabelle "Pacht" belassen.

Du wirst später locker alle Informationen zusammen ziehen können. Da stehen in den Tabellen dann teilweise nur Nummern, aber im Formular siehst Du die dann als Listenfelder.

Gruß

Robert
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

Hallo Jörn,

ich hatte 1. einen Denkfehler und 2. mich auch falsch ausgedrückt.

Ich bin davon ausgegangen, wenn ein Mitglied seinen Garten abgibt und somit auch aus dem Verein austritt, daß die Mitgliederliste dahin gehend geändert werden muß, das das Mitglied verschoben werden muß, damit ich den neuen Pächter dem Garten zuordnen kann.
Aber mir ist eingefallen, daß wir das über die Pachtliste und der ID machen können. Ich ändere einfach die ID zum Garten in der Pachtliste.

Ich habe jetzt jahrelang nur mit einer Datenbank gearbeitet, aber nie eine aufgebaut. Da haben wir bei Änderungen die "Mitglieder" auch nicht geändert. Die ID blieb ja immer erhalten. Das ist mir jetzt eingefallen. Wenn da Änderungen in einer anderen Datenbank waren, dann haben wir in der 2. Datenbank einfach nur die ID der neuen "Mitglieder" eingegeben.

Wenn ich die Briefe schreibe, muß ich dann immer eine Abfrage stellen oder kann ich ein Multiple Choice Feld für die jeweilige Abfrage stellen.

Gruß

Sylvia
Roxianna
***
Beiträge: 78
Registriert: Di, 13.10.2020 01:08
Wohnort: Essen
Kontaktdaten:

Re: Aufbau einer Datenbank

Beitrag von Roxianna »

RobertG hat geschrieben: Mo, 09.11.2020 16:46 Hallo Sylvia,

für die komplette Datenbank fehlt natürlich die Mitglieder-Tabelle. Da war in der Vorlage (Tabellenkalkulation) nicht einmal ein Ansatz vorhanden.
Die kann ich dir doch nicht schicken. Aber was in der Tabelle Mitglieder drin steht, habe ich doch schon in einem Screenshot gezeigt wo es um die Beziehungen geht. Auf der 1. Seite im 1. Thread.
Ich bin von der vorliegenden Tabelle ausgegangen.
1. Beobachtung: Privat/Städtisch und Gartengruppe kommen immer wieder vor. So etwas muss aus der Tabelle raus. Das wird schon allein deswegen ausgelagert um Schreibfehler und damit fehlerhafte Abfragen zu vermeiden. → Separate Tabelle mit Fremdschlüssel. Und Da mir das nicht gerade viele verschiedene Kombinationen zu sein schienen habe ich da als Primärschlüssel einfach eine kleine Zahl (Tiny Integer) genommen. Die geht bis 127.
Ja, genau. Die Eigentumsverhältnisse gibt es 3 verschiedene, Gartengruppen ein paar mehr.
2. Beobachtung: Die Gartennummer scheint nur eine Nummer zu sein. Es scheinen keine Hausnummern mit 12a, 12b usw. zu existieren. Deswegen habe ich daraus auch tatsächlich Zahlen gemacht.
Nein, 1 Garten hat die Nummer 50a . Hatte ich aber auch schon mal geschrieben, hast du wohl überlesen.
Wenn das so nicht stimmig ist, dann fehlen mir da weitere Informationen. Ich hätte z.B. Aus den jetzt 2 Tabellen sogar 3 gemacht: In der Tabelle "Pacht" steht ein Gemisch aus beständig gleichen Informationen und veränderlichen Informationen. Da hätte ich die Flächenangabe zusammen mit der Nummer und der Gruppe zu einer Tabelle "Garten" gemacht und dann die Finanzinformationen, mindestens ergänzt um eine Jahresangabe, in der Tabelle "Pacht" belassen.
Ok, dann mache ich das mal. Aber ich setze überall eine ID .
Du wirst später locker alle Informationen zusammen ziehen können. Da stehen in den Tabellen dann teilweise nur Nummern, aber im Formular siehst Du die dann als Listenfelder.

Gruß

Robert
Antworten