Formulare und Tabellen bei relationaler Datenbank

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Anfänger007
***
Beiträge: 74
Registriert: Mi, 02.10.2013 09:00

Formulare und Tabellen bei relationaler Datenbank

Beitrag von Anfänger007 »

habe jetzt viel über relationale Datenbanken mit 1:1, 1:n und m:n gelesen aber die Umsetzung in Form von Tabellen und Formularen versteh ich nur teilweise.
Als Beispiel eine Aufstellung für die Versicherung um eine Art Lagerverwaltung zu haben wo sich das Mobiliar befindet.

In dem Beispiel habe ich tausende Artikel/Mobilien die sich an verschiedenen Orten finden. Jeder Artikel/Mobiliar ist nur EINMAL vorhanden. Mit einer eindeutigen ID.
Wenn trotzdem Mal 10 Handtücher der gleichen Marke und des gleichen Herstellers vorhanden sind erhalten sie trotzdem 10 verschiedene ID´s .

Haus 1 in Musterhausen mit 3 Zimmer.
Zimmer 1
Zimmer 2
Zimmer 3

Haus 2 in Meinerstadt mit 2 Zimmer und Garage.
Zimmer 1
Zimmer 2
Garage



Um bei Haus 1 und dort im Zimmer 1 zu bleiben gibt es dort
Schrank 1
Schrank 2
Truhe
Regal
um bei Zimmer 1 und dort Schrank 1 zu bleiben gibt es dort
Karton 1
Karton 2
Schatulle

Ich habe jetzt 5 Probleme:
Dateneingabe nach Möglichkeit über nur ein Formular
mögliche Anzeige EINES Mobiliars mit aktuellem Standort z.B. Unterhose (Text) mit ID 123456 befindet sich im Karton 1
Anzeige ALLER Mobilien (Text) mit jeweiligem Standort . Wobei der Standort durch eine eindeutige ID und/oder Text dargestellt wird
Anzeige ALLER Mobilien an EINEM Standort z.B. Inhalt von Karton 2 oder Inhalt von Haus 1
Berücksichtigung von Veränderungen z.B. Erwerb von einem 3. Haus, oder ein 3. Karton in Schrank 1 oder der Inhalt von der Schatulle wird auf Karton 1 und 2 aufgeteilt oder Mobilien wurden entfernt (verkauf/verschenken/ beschädigt etc)

Ich kann Tabellen, Formulare , Abfragen erstellen. Kann kein (wenig) SQL und kein Basic, habe aber bereits erfolgreich SQL-Beispiele oder Makro-Beispiele umgesetzt. Nur bei diesem Problem habe ich ein Brett vor dem Kopf bei dem mir weder die gefundenen Tutorials noch Handbücher weitergeholfen haben. Wäre schön wenn mir jemand helfen und mich von meiner Last am Kopf befreien könnte. Danke
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formulare und Tabellen bei relationaler Datenbank

Beitrag von RobertG »

Hallo Anfänger007,

in dem Beispiel geht das doch, wenn ich es richtig sehe, mit lauter aneinandergereihten Tabellen im Verhältnis 1:n zu.
Tabelle 1: "Haus" mit einem Schlüsselfeld sowie Adresse usw.
Tabelle 2: "Raum" mit einem Fremdschlüsselfeld nach "Haus", einem eigenen Schlüsselfeld und den Raumbezeichnungen
Tabelle 3: "Behältnis" mit einem Fremdschlüsselfeld nach "Raum", einem eigenen Schlüsselfeld und dem Namen des Behältnisses (Truhe, Schrank, Regal ...)
Tabelle 4: "Gegenstand" mit einem Fremdschlüsselfeld nach "Behältnis", einem eigenen Schlüsselfeld und der genauen Bezeichnung des Gegenstandes.
Vielleicht kann der Gegenstand auch durch eine weitere Tabelle gespeist werden, in dem z.B. so etwas so Kategorien stehen wie "Buch", "CD", "Bettwäsche", "Handtuch", "Kochtopf" ... - diese weitere Tabelle hätte dann ebenfalls ein Fremdschlüsselfeld bei "Gegenstand".

Das Formular ist dann stur so angeordnet:
Hauptformular ist Tabelle 1,
Unterformular ist Tabelle 2,
Unterformular des Unterformulars ist Tabelle 3,
Unterformular des Unterformular des Unterformulars ist Tabelle 4.
Die Zusatztabelle würde Tabelle 4 in dem Formular über ein Listenfeld bestücken.
Alles zusammen stellt dann ein Formular dar.

Um alles zusammen darzustellen brauchst Du dann aber eine entsprechende Abfrage, die alle Tabellen miteinander verbindet. Dann kannst Du auch quer durch die Datenbank suchen.

Gruß

Robert
Anfänger007
***
Beiträge: 74
Registriert: Mi, 02.10.2013 09:00

Re: Formulare und Tabellen bei relationaler Datenbank

Beitrag von Anfänger007 »

Danke für deine schnelle Antwort. Habe deinen Vorschlag umgesetzt und habe dabei folgendes Problem Festgestellt.

Nach deinem System sind ALLE Truhen, Schränke, Regale in einer Tabelle. Egal in welchem Haus sie stehen.

Ich möchte aber Truhen, Schränke, Regale in dem jeweiligen Raum selektieren. Ich nehme an das ich deshalb für jeden Raum eine extra Tabelle brauche.
Genau so wie für Häuser und Behältnisse

Oder anders rum ausgedrückt.
Wenn ich Haus1 an Stelle von Haus2 anwähle möchte ich zur weiteren Eingabe auch nur die Räume von Haus1 angezeigt bekommen.
Und nicht mehr die Räume von Haus2.
Wenn ich in Haus1 den Raum1 auswähle möchte ich zur weiteren Eingabe auch nur die Behältnisse von Raum1 angezeigt bekommen.
wenn ich im Raum1 den Behältniss3 ausgewählt habe möchte ich nur die 5 Gegenstände von Behältnis3 angezeigt und dort bearbeiten können (löschen, einfügen, ändern).

Nur die Gegenstand_ID aller Gegenstände muss eindeutig sein.
Sprich egal in welchem Behältnis, Raum oder Haus sich der Gegenstand befindet; es darf diese Gegenstand_ID nur einmal geben.

Ich habe also:

von 2 Häusern das Haus1 ausgewählt mit:
Raum1, Raum2 und Raum3 davon
Raum1 mit
Behältnis1, Behältnis2 und Behaltnis3 und davon
Behältnis1 mit 12 Gegenständen (nicht Behältnis2 mit 6 Gegenständen oder Behältnis3 mit 5 Gegenständen )

Innerhalb der 23 Gegenstände von Haus1 , zuzüglich der Gegenstände von Haus2, darf die Gegenstand ID nicht zweimal vorkommen.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formulare und Tabellen bei relationaler Datenbank

Beitrag von RobertG »

Hallo Anfänger007,
Anfänger007 hat geschrieben:Nach deinem System sind ALLE Truhen, Schränke, Regale in einer Tabelle. Egal in welchem Haus sie stehen.
Dann hast Du die Anordnung in Unterformularen nicht richtig umgesetzt. Sobald Du im Hauptformular den Datensatz wechselst sind im Unterformular nur die Datensätze zu sehen, die im Hauptformular stehen. Ich sehe einmal zu, dass ich dazu eben kurz ein Beispiel zusammenbaue. Kommt so in ca. 15 Minuten hier als Anhang.

Gruß

Robert
Dateianhänge
eins_zu_n.odb
Anordnung von 3 hierarchischen Unterformularen
(19.94 KiB) 89-mal heruntergeladen
Anfänger007
***
Beiträge: 74
Registriert: Mi, 02.10.2013 09:00

Re: Formulare und Tabellen bei relationaler Datenbank

Beitrag von Anfänger007 »

@RobertG vielen Dank für deine Hilfe . Es funktioniert. Leider nehmen die Tabellen viel Platz weg deshalb habe ich versucht statt der Formular-Tabellen Listenfelder hierarchisch mit einander zu verknüpfen. Listenfelder deshalb da in unserem Beispiel Haus und Raum wohl über längere Zeit konstant bleiben und selbst Behälter sich so selten ändern das man sie direkt in der Ursprungstabelle ändern kann. Ich könnte also die Formular- Tabellen von Haus, Raum und Behälter durch Listenfelder ersetzen. Das Listenfeld zu erstellen ist für mich kein Problem aber ich finde bei Listenfelder keine Möglichkeit diese hierarchisch, analog deiner Lösung, zu verknüpfen. Hast du da einen Tipp?
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formulare und Tabellen bei relationaler Datenbank

Beitrag von RobertG »

Hallo Anfänger007,

schau Dir doch einfach einmal bei den Beispieldatenbanken zum Handbuch die Datenbank Beispiel_Suchen_und_Filtern an. Da ist vermutlich etwas, was eher dem entspricht, was Du möchtest. Die Suchfunktionen greifen auf eine Tabelle zu. Mit hierarchischen Listenfeldern filterst Du diese Tabelle. Die Beispieldatenbanken gibt es entweder auf dem LO-Server oder hier: http://robert.familiegrosskopf.de/lo_hb.

Wenn Du das einfacher handhaben willst: Ich würde die Tabellenkontrollfelder dann deutlich kleiner machen. Schließlich kannst Du ja durch diese felder scrollen. Da brauchen sie nur eine Zeile hoch zu sein und benötigen auch nicht den Datensatzanzeiger - den könntest Du ausstellen.

Gruß

Robert
Antworten