Office: (Office 365) Tabellen und Beziehung richtig realisieren

Helfe beim Thema Tabellen und Beziehung richtig realisieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Grundlegend weiß ich mittlerweile wie Beziehungen zu verknüpfen sind und wie sie so arbeiten. Was mir allerdings immer Probleme macht sind die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Andreas7611, 7. Dezember 2022.

  1. Tabellen und Beziehung richtig realisieren


    Grundlegend weiß ich mittlerweile wie Beziehungen zu verknüpfen sind und wie sie so arbeiten.
    Was mir allerdings immer Probleme macht sind die Grundgedanken, wo man welche Tabelle mit welcher anderen Tabelle verknüpft, bzw. was die Haupttabelle und welches die Nebentabelle ist.
    Ich denke da an ehesten an n:m Beziehungen, bei 1:n ist ja in der Regel nicht so schwer.

    Ich habe zum Beispiel aktuell die Sache, dass ich Händlerpreise eintragen möchte und habe sie jetzt schon zweimal komplett umgestellt.
    Ich habe die Händler als Tabelle, die Artikel als Tabelle und die Preise als Tabelle. Bei den Preisen habe ich noch verknüpfte Tabellen über Lieferart, Einheiten usw. (was aber nicht das Problem sein sollte).

    Nun hatte ich erst die Preise als "Haupttabelle" gewählt und dann Händler und Artikel als Nebentabelle. Da hat es aber nicht so recht geklappt (was aber nach heutiger Überlegung vermutlich am falschen Umgang mit dem Formular und den Unterformularen lag

    Dann habe ich das ganze "umgestellt" nach Artikeln als Haupttabelle mit Preisen und Händler als Nebentabelle. Aber das geht auch nicht so auf.

    Ergebnis soll halt sein, dass man ein Formular bekommt, wo man einen Händler (um z.B. Preise auf Rechnungen schnell zu prüfen) oder auf einem anderen Formular den Artikel (Um nach den günstigsten Anbieter eines Artikels zu schauen) auswählt und dann in einer Liste alle Preise sieht, bzw. Artikel und Preise oder Händler und Preise.

    Aber ich tu mich eben schwer damit zu entscheiden, welches die "Verbindungstabelle" darstellt für diese M:N Beziehungen, oder ob in "der Mitte" überhaupt eine "richtige" Tabelle stehen sollte, oder diese im Prinzip nur ID-Verbindungen sein sollten und alles hier zusammenkommt..

    Mich würde das jetzt einfach mal interessieren, wie ihr Grundsätzlich an eine solche Beziehungskutsche geht. Welche Gedanken ihr euch macht um zu einem funktionierenden Ergebnis zu kommen. Oder denke ich da einfach Grundsätzlich falsch?

    Ferner würde mich noch interessieren, ob Beziehungen in einer Datenbank "nur einmal" bestehen dürfen/sollen, oder ob man Tabellen auch mal ganz anders Verbinden kann/muß um ein anderes Ergebnis zu erzielen. Scheint mir zwar nicht logisch, aber vielleicht ist dem ja so. Ich frage nur, weil man die Beziehungen ja immer abspeichert.. Vielleicht kann man ja verschiedene Beziehungen abspeichern und es ist mir bisher noch nie aufgefallen :D

    Vielen Dank
     
    Andreas7611, 7. Dezember 2022
    #1
  2. andyfau
    andyfau Erfahrener User
    Hallo,
    die Beziehungen zwischen den Tabellen dienen zu allererst dazu die DB konsistent zu halten. Es kann keinen ArtikelLieferantenpreis geben, wenn es den Artikel in der Artikeltabelle und den Lieferant nicht in der Lieferantentabelle gibt.
    Tabellen und Beziehung richtig realisieren upload_2022-12-7_21-34-56.png
    Lieferanten und Artikel können dagegen erstmal unabhängig erfasst werden.
    Also ein Formular für die Artikelpflege, ein Formular für die Lieferantenpflege.
    Dann ein Formular zur Erfassung der Preise, wobei im Kopf über Kombinationsfelder der Artikel und der Lieferant ausgewählt werden. (Zweispaltige Kombifelder, damit auch der Lieferantenname, bzw. die Artikelbezeichnung zu sehen ist.) Die Datenherkunft der Kombinationsfelder sollte dabei eine Abfrage auf den Artikel, bzw. Lieferantenstamm sein.

    Alles weitere ist wieder eine Sache von passenden Abfragen. Dabei muss man nicht die gespeicherten Beziehungen der Tabellen als gegeben hinnehmen. Sie werden nur von Access im Abfrageentwurf vorgeschlagen. Sie lassen sich dort durch Anklicken und der Taste Entf nur für diese spezielle Abfrage löschen. Ebenso kann man auch komplett andere Beziehungen in einer Abfrage erstellen. Weichen die Beziehungen, insbesondere m:n von den Tabellenbeziehungen ab, kann man unter Umständen in diesen Abfragen die Daten nicht pflegen, weil sie nicht der referentiellen Integrität entsprechen.
     
    andyfau, 7. Dezember 2022
    #2
  3. Danke für die Erklärung. Jetzt hat es endlich geklappt. Diesmal kann ich auch Daten in den Nebentabellen eintragen, was vorher nicht ging. Wobei ich auch nicht wirklich weiß, was ich da wohl verkehrt gemacht habe.

    Für mich noch nicht ganz klar, wann ich in einem Formular eine "Datensatzherkunft" angeben soll und wann nicht. Kann hier aber vermutlich auch nicht mit ein paar Worten geklärt werden :)
    Auch das mit den Abfragen ist glaube ich noch mal eine Recherche wert, weil ich die vermutlich viel zu Stiefmütterlich behandle als "Sortierhilfe". Ich bin noch nicht dahinter gekommen, ob in einer Abfrage - z. B. wie diese - Alle Elemente aller Tabellen die in dem Formular stehen enthalten sein müssen. Das hatte ich nämlich beim ersten Mal gemacht und hat irgendwie gar nicht geklappt..
    Diesmal habe ich eben Lieferanten und Artikel in jeweils einer Abfrage gemacht und scheint ja geklappt zu haben. Ebenfalls noch etwas, was ich vertiefen muß.. Wie ich immer Sage.. Access ist halt kein Word :D

    Die Kernfrage ist aber noch herauszuknobeln wie die Beziehungen am besten aufzulösen sind auch bei zukünftigen Projekten.

    Ach, etwas ist mir auch aufgefallen: Du hast da bei ArtikelLieferantenPreise zwei Primärschlüssel(?) vergeben. Da wüsste ich jetzt gar nicht (mehr) wie man das macht und ob das wirklich nötig ist. Ich nutze in jeder Tabelle eine ID als Primärschlüssel.
    Wenn man zwei Schlüssel ansetzt kann man vermutlich den Datensatz noch genauer Identifizieren, oder?
    Wobei ich mich jetzt - bei dieser kleinen Datenbank - frage, was passiert, wenn ich von einem Lieferanten einen zweiten Preis für den selben Artikel eingeben würde? Dann würde es doch einen Konflikt geben, oder?
    In meiner Datenbank soll halt noch ein Gültigkeitsdatum von Bis eingebaut werden, damit man auch einen Preisverlauf über einen bestimmten Zeitraum abfragen kann. Ist auch für die Kalkulation hinterher interessant. Allerdings sind da noch viele Steine im Weg, dass man dann ja auch das "Enddatum" manuell setzen muß und wie das alles von statten gehen soll.. Man wächst halt mit den Herausforderungen :)
     
    Andreas7611, 8. Dezember 2022
    #3
  4. andyfau
    andyfau Erfahrener User

    Tabellen und Beziehung richtig realisieren

    Dort trägt man den Namen der Abfrage ein, welche die Grundlage für das Formular ist. Generiert man ein Formular mit dem Assistenten, trägt Access dort die generierte Abfrage als SQL-Statement ein. Wenn man dann dort auf die 3 Punkte klickt, öffnet sich der Abfrageassistent in dem man die Abfrage auch bearbeiten kann. So lernt man nebenbei noch etwas SQL.

    Alle Felder für ein Formular in eine Abfrage zu packen ist bei 1:n und m:n Beziehungen eher kontraproduktiv. Da kannst Du besser mit Haupt- und Unterformularen arbeiten, die dann auf jeweils passend gefilterten Abfragen basieren und dann über die Schlüsselfelder verbunden werden.

    Betrachte die Beziehungen zwischen den Tabellen als "Datenpolizei". Sie definieren den datentechnischen Zusammenhang der Tabellen und gewährleisten somit, dass Datensätze nicht ungewollt doppelt sind oder Reste in Untertabellen übrig bleiben, wenn ein übergeordneter Datensatz geändert, bzw. gelöscht wird (Änderungs-, bzw. Löschweitergabe).
    Dazu tragen die Primärschlüssel und insbesondere kombinierte Primärschlüssel bei.
    Einen kombinierten Primärschlüssel erzeugst Du, indem Du im Tabellenentwurf die Felder markierst und dann unter dem Reiter "Entwurf" den Primärschlüssel wählst. Durch die Reihenfolge der Felder des Primärschlüssels von oben nach unten im Tabellenentwurf beeinflusst Du die Sortierung.
    Ein zweiter Preis für die gleiche Artikel-Lieferantenkombination ist in meinem Beispiel nicht möglich. Dazu müsstest Du z.B. ein Datumsfeld "gültig bis" (als dritte Komponente des Primärschlüssels) einfügen. ("gültig von" ergibt sich ja immer automatisch aus dem vorigen Datensatz). Den Standardwert des Datumsfeldes würde ich auf ein Datum weit in der Zukunft setzen, sodass der Preis automatisch "bis auf weiteres" Gültigkeit hat. Natürlich muss man dann bei der Erfassung eines neuen Datensatzes daran denken, dass das "gültig bis"- Datum des Vorgängersatzes dann auch auf das Gültigkeitsende korrigiert wird.
     
    andyfau, 8. Dezember 2022
    #4
Thema:

Tabellen und Beziehung richtig realisieren

Die Seite wird geladen...
  1. Tabellen und Beziehung richtig realisieren - Similar Threads - Tabellen Beziehung richtig

  2. Beziehungen zw. 2 Tabellen

    in Microsoft Access Hilfe
    Beziehungen zw. 2 Tabellen: Hallo! Ich habe eine Frage zu Beziehungen: Meine Tabellen Personen und Aufgaben haben jeweils das Autowertfeld (ID). Könnte ich aber z.B. das Feld Personalnummer (Textfeld) als Referenz in der...
  3. Formeln aus Mastertabelle

    in Microsoft Excel Hilfe
    Formeln aus Mastertabelle: Hallo Zusammen, ich hab folgendes Problem und hab bisher keine Lösung gefunden. Ich habe mehrere Datenbanken für verschiedene Projekte die alle gleich aufgebaut sind. Jetzt ändert sich...
  4. Verbindung mehrer Tabellen mit Pivot ohne eindeutige Beziehung

    in Microsoft Excel Hilfe
    Verbindung mehrer Tabellen mit Pivot ohne eindeutige Beziehung: Hallo liebe Office Kommuninity Ich hätte da gerne mal ein Problem und hoffe Ihr könnt mir helfen. Ich habe aus Navision mehrere Abfragen, die ich gerne zu einer Pivot-Tabelle zusammenfügen...
  5. mehrere Tabellen als Pivottabelle zusammenfassen - Beziehung erstellen

    in Microsoft Excel Hilfe
    mehrere Tabellen als Pivottabelle zusammenfassen - Beziehung erstellen: Hallo zusammen, ich habe jetzt schon mehreres versucht, könnte mir eine Krücke basteln, wüsste aber gerne, ob es nicht doch eine einfachere Methode gibt: Wir führen unser Haushaltsbuch über...
  6. Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen

    in Microsoft Access Hilfe
    Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen: Hallo zusammen, ich stehe gerade vor dem Problem, dass ich die Datensätze zwischen zwei Tabellen nicht verknüpfen kann. Konkret habe ich die beiden Tabellen tblEigenschaft und tblBasis. In der...
  7. Verschachtelte Tabellen mit Datenquellen

    in Microsoft Excel Hilfe
    Verschachtelte Tabellen mit Datenquellen: Hallo liebe Gemeinde, ich bin Excelmäßig nicht auf den Kopf gefallen aber nun Raucht er und ich bin auf Euer Schwarmwissen angewiesen. zuerst möchte ich aber mal Eure meinugn hören ob mein...
  8. Struktur Tabellen Beziehungen

    in Microsoft Access Hilfe
    Struktur Tabellen Beziehungen: Hallo zusammen Ich bin am Aufbau einer Access-Datenbank. In der DB möchte ich unter anderem auch die Eigentümer einzelner Grundstücke verwalten. Die Grundstücke können unter den Eigentümern...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden