Access-o-Mania

Access-Forum => Tabelle/Abfrage => Thema gestartet von: rmordico am April 27, 2018, 10:33:58

Titel: Datenbank Relation
Beitrag von: rmordico am April 27, 2018, 10:33:58
Guten Morgen,
Ich habe erst vor kurzem angefangen mich etwas mit Access zu beschäftigen und bin jetzt dabei meine DB zu erstellen. Tabellen und Daten wurden bereits vorbereitet und gepflegt. Jetzt geht es darum die einzelnen Tabellen sauber zu verknüpfen.

Wie man am Bild erkennt enthält der erste Teil eine détaillierte Länderdatenbank. Allerdings bin ich mir nicht sicher op die Verknüpfung so richtig ist.

Countries (Länder) ist die Haupttabelle. In jedem Land gibt es
a) Regionen (ISO - Regions)
b) Distrikte (ISO - Departements). Diese liegen aber gleichzeitig in dem Land und in der Region.
c) die Gemeinden (ISO - Municipalities) Diese liegen gleichzeitig in dem land, in der Region und zu guter letzt im Distrikt.

Wie genau wird das verknüpft  um später die Daten in einer Kundentabelle zu benutzen.

Ich bedanke mich im voraus.
Titel: Re: Datenbank Relation
Beitrag von: MzKlMu am April 27, 2018, 10:49:27
Hallo,
mir sind die Zusammenhänge nicht klar. Ich tue mir auch schwer mit der Sprache.
Im Prinzip würde es reichen, jeweils die niederste Stufe als Fremdschlüssel zu verwenden.
Zitat
Wie genau wird das verknüpft  um später die Daten in einer Kundentabelle zu benutzen.
Es würde genügen, in der Kundentabelle nur den Fremdschlüssel zur Gemeinde zu speichern, weil sich alle anderen Daten aus den Beziehungen ergeben.

Die Kundentabelle ist aber noch nicht bei den Beziehungen, oder ?

Kannst Du mal versuchen eine eingedeutschte Version hier zu zeigen ?
Oder wenigstens mal die Tabellennamen auf Deutsch ?

Anmerkungen:
- In den Beziehungen stellt man grundsätzlich den Typ 1 (INNER JOIN) ein.
Das wird bei Bedarf nur in Abfragen geändert.
- In den Tabellen keine Nachschlagefelder verwenden.
Zitat
Tabellen und Daten wurden bereits vorbereitet und gepflegt.
Das war keine gute Idee. Hier ist das Datenmodell zu optimieren und dann musst Du möglicherweise die Daten wieder umstrkturieren.


Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 27, 2018, 11:47:17
Hallo,
Hier kurz die Tabellentitel auf Deutsch.
Contients = Kontinente
Areas = Gebiete
ContUnions = Continental Unions = https://en.wikipedia.org/wiki/Continental_union
Countries = Länder
Regions = Regionen innerhalb eines Landes
Departements = (Administrative) Disktrikte innerhalb einer Region und innerhalb des Landes
Electoral Distrikt = Politische Wahldistrikte innerhalb einer Region und innerhalb des Landes
Municipalities = Gemeinden innerhalb einer Region und inerhalb eines administratvien Distrikt und innerhalb des Landes.


PS: Nein die Kundentabelle ist noch gar nicht fertig.

Zuerst müssen die Länderdaten (Geodatas) "alle informationen die es in einem Land eben gibt" gepflegt werden.
Titel: Re: Datenbank Relation
Beitrag von: MzKlMu am April 27, 2018, 12:16:22
Hallo,
das ist ja vollständig hi­e­r­ar­chisch aufgebaut.
Es genügt daher ein einziger Fremdschlüssel zur Gemeinde.
Auch Deine jetzigen Beziehungen halte ich für falsch.

Beziehungen genau wie Du es oben beschrieben hast und keine einzelnen Fremdschlüsselfelder in den Tabellen.
Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 27, 2018, 13:21:55
Das habe ich mir irgendwie gedacht,
kannst du mir bitte eklären wie ich das besser bewerkstelligen kann. Falls möglich mit einem Beispiel von meinen Tabellen.

Vielen Dank
Titel: Re: Datenbank Relation
Beitrag von: MzKlMu am April 27, 2018, 13:25:37
Hallo,
zu den Continental Unions. Kann ein Land in mehreren Continental Unions sein ?
Also z.B. in der EU und noch woanders ?
Ich bin da nicht so ganz wissend auf dem Gebiet.
Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 27, 2018, 13:37:24
Nein, ein Land kann nur einmal drin sein.
zb .
Deutschland = EU kann aber nicht in der AU sein.
Luxemburg = EU kann aber nicht in der AU sein.
Titel: Re: Datenbank Relation
Beitrag von: MzKlMu am April 27, 2018, 17:52:50
Hallo,
anbei mal ein Vorschlag.
Ich habe die Tabellen und Feldnamen eingedeutscht.
Die Tabellen enthalten auch nur die relevanten Felder.
Die Kundentabelle habe ich auch mal noch rudimentär angelegt.
Schaue es Dir mal an.
Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 27, 2018, 21:17:15
Guten Abend,
erstmal vielen Dank. Ich merke dass meine Überlegungen nicht korrekt waren. Morgen versuche ich das mal aus. Zu den Länder kommt dann noch die Währungstabelle und die Sprachentabelle.

Die muss ich wohl dann an die Ländertabelle verbinden und an die Kunden (Adresstabelle)

Adresstabelle sollte so aussehen:
Ich betitele sie PARTNER

Partner bestehen aus neue Partner, neuer Lead, neuer Kunde und neuer Lieferant sowie eine Tabelle für Mitglieder. Alle 5 bekommen zusätzlich eine Tabelle Kontakte als Unteradresse/Ansprechpartner.

Jeder Partner kann entweder ein
Lead
Lead/Kunde
Kunde
Kein Lead/Kein Kunde - aber Lieferant sein
Mitglied im Firmenverein sein

Dazu kommen jeweils :
Kunden/Leadkategorien
Kontaktkategorien
Lieferantenkategorien
Mitgliederkategorien

Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 28, 2018, 12:27:01
Guten Tag, habe die Relationen nun neu hergestellt und erweitert.

Parlamente (Legislatures) zu den Länder
Regierungen (Governments) zu den Länder

Sprachen (Languages) zu dem Land
Währungen (Currencies) zu dem Land

Kanns du mir sagen op ich das so richtig erstellt habe.

Vielen Dank
Titel: Re: Datenbank Relation
Beitrag von: Lachtaube am April 28, 2018, 13:59:43
Ich kenne zwar nicht den Zweck der Datenhaltung - aber für interkontinentale Staaten scheint das Schema jedoch ungeeignet zu sein. :(
Titel: Re: Datenbank Relation
Beitrag von: rmordico am April 28, 2018, 14:15:47
@Lachtaube, Das ist einfach ich möchte von Grund auf eine komplettierte Datenbank aufbauen.
Zuerst die GEODATEN. So detailliert wie möglich. Sämtliche Daten die in Beziehung zu einem Land stehen. Auf diese Basis möchte ich dann Etappenweise die Datenbank erweiteren.

Meine Überlegung:
Wir fangen bei einem Kontinent an.
Auf diesem Kontinent gibt es Gebiete.
In diesen Gebieten gibt es die Länder.
Einige Länder sind an eine Vereinigung gebunden. (zb: EU)
Die Länder sind in Regionen aufgeteilt
Die Regionen sind in Distrikte oder Kantons aufgeteilt. ( diese wiederrum sind noch in politische Wahlkreise eingeteilt. )
Die Kantons sind in Kommunen aufgeteilt
Die Kommunen sind in Städte oder Dörfer aufgeteilt
Die Städte sind in Strassen und Postleitzahlen aufgeteilt.

In jedem Land gibt es zusätzlich noch mehrere Sprachen und Währungen.

Aus all diesen Informationen soll dann später ein CRM / ERP entstehen. - - - Kontakt/Partner/Adressen, Terminplanung, Produkte/Leistungen, Vertrieb, Rechnung / Kasse und Vermögensverwaltung, Bankkonten, Buchführung, Projekte, Personal, Mitglieder, Dokumentverwaltung).

Da es für mich ein Projekt ist das ich in meiner Freizeit mache und auch dazulernen möchte, würde ich mich über jede Hilfe freuen. Vielleicht kann man das ja auch als ein freies Communityprojekt starten.
Titel: Re: Datenbank Relation
Beitrag von: Lachtaube am April 28, 2018, 18:12:51
Nun, zum Üben für das Anlegen normalisierter Tabellen, mögen die Tabellen ja gut sein - damit hat es sich dann aber auch. Wer verfügt denn über solches Wissen und ist bereit, es in die Datenbank, womöglich auch noch mehrsprachig einzutragen? Zeitaufwand und Bezahlung dürften auch noch eine Rolle spielen - und ohne Wartung wird so eine Struktur schnell an Aktualität verlieren. Historien müßten also auch erfasst werden.

Und offen gesagt: Ein CRM oder ERP mit Access zu erstellen, halte ich schlichtweg für utopisch.
Titel: Re: Datenbank Relation
Beitrag von: rmordico am Mai 08, 2018, 11:26:13
Warum zum üben ? :-\
Das mit dem eintragen und pflegen der Daten ist meine Aufgabe. Bei Fertigstellung könnten sogar andere davon profitieren.

Warum ist das utopisch ?

Ich benötige nur Hilfe am Anfang damit die Relationen zu den Tabellen auch richtig funktionieren. Mehr habe ich nicht gefragt.
Titel: Re: Datenbank Relation
Beitrag von: Lachtaube am Mai 08, 2018, 16:10:20
Access ist eine typische Desktop-Datenbank mit einem ca. 30 Jahre alten SQL-Dialekt, nicht ACID-fähig (Strom während des Datenschreibens weg - Datenbank pfutsch oder angeschlagen), stark begrenztem Mehrbenutzerbetrieb, keinen wirklichen Sicherheitseinstellungen, fehlender REST-Schnittstelle, usw. usf.. Es ist für mich kaum unvorstellbar, dass Dein Vorhaben bei irgend jemand Interesse weckt, zumal es schon viele gute Open Source Software in den genannten Bereichen gibt, die die vorher genannten Mankos nicht aufweisen.

Tipp: lerne Python, Ruby, Perl, eine Dot Net-Sprache o.ä, - da gibt es fertige, stets weiterentwickelte Software-Pakete, die Deine Idee realistischer erscheinen lassen.
Titel: Re: Datenbank Relation
Beitrag von: Frank77 am Mai 14, 2018, 13:33:06
Hallo!

ich denke was du suchst ist das hier
http://www.plz-umkreis.com/plz-datenbank-welt

gruß Frank