Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: uwe01 am Oktober 14, 2012, 14:09:57

Titel: Beziehungen erstellen
Beitrag von: uwe01 am Oktober 14, 2012, 14:09:57
Hallo Leute,
da ich in meiner alten DB keine Beziehungen hatte, möchte ich jetzt in meiner neuen DB es mal versuchen. Weil es wohl besser sein soll.
Ich habe jetzt mal den Anfang (tbl) meiner DB als Datei mit angehangen. Kann da mal einer drüber schauen ob es so richtig ist mit den Beziehungen. Und wen nicht, mir vielleicht Melden was Falsch ist. Oder in der Datei ändern.


[Anhang gelöscht durch Administrator]
Titel: Re: Beziehungen erstellen
Beitrag von: DF6GL am Oktober 14, 2012, 15:35:51
Hallo,


kurze Aufzählung:


--  erstelle die Beziehungen mit Ref. Integrität und Aktualisierungsweitergabe. Sonst hätten die Beziehung(slini)en keinen weiteren Sinn.

-- Vermeide Reservierte Wörter ("Name") bei der Objektbenamsung.

-- Die Tabellen tbl_Schaden und tbl_GesamtzustandLKW ergeben in dieser Konstellation keinen Sinn. (Ein Fahrzeug kann viele Schadens-Datensätze erhalten, wie auch unabhängig voneinander ein LKW viele Gesamtzustände aufweisen kann.) . M. E. können die Felder dieser Tabelle in tbl_Fahrzeug aufgenommen werden, wobei noch ein paar Gedanken bzgl. der Normailsierung anzustellen wären.  (z. B. tbl_FZZustand mit Feldern "FZTeil", "Bewertung","KontrollDatum","BewertetVon", etc   in 1:n-Beziehung zu tblFahrzeug)

-- Was soll "tbl_Personal" aussagen ?  DB-technisch bedeutet diese Tabelle, dass es für ein Fahrzeug viele Personen (Fahrer?) gibt. In diesem Fall sollte die Tabelle aber "tbl_KFZFahrer" heißen, die mit tbl_Fahrzeug in n:1-Beziehung und mit  tbl_Personal (die dann auch alle gültigen/vorhandenen Personen enthält) in n:1-Beziehung steht.

--- tbl_LetzterFahrer ist als solche sinnlos/falsch.  Wenn damit die Fahrer eines FZ erfasst werden sollen, so muss (könnte) diese Tabelle "tbl_FZFahrten" heißen mit u. a. diesen Feldern: "FZF_Intnr" als FK zu tbl_Fahrzeug, "FZF_PersonalID" als FK zu tbl_ Personal, "FZF_FahrtDatum" als Datum genau dieser Fahrt.


-- tbl_KontrolleDurchgeführt kann entfallen.  Ein Zusatzfeld ("kontrolliertAm") reicht aus in Tbl_Fahrten, oder in tbl_Fahrzeug, je nachdem, wie die realen Datenverhältnisse nun sind, bzw. was überwacht werden soll. Evtl. kann das Ganze auch ganz entfallen, wenn o. g. Tabelle "tbl_FZZustand" benutzt wird, in der eine "Bewertung" ja eine Kontrolle includiert.

Titel: Re: Beziehungen erstellen
Beitrag von: uwe01 am Oktober 14, 2012, 16:48:08
Hallo DF6GL,
-   was meinst du mit Ref.Integrität und Aktualisierungsweitergabe.
-   Bei der Tabelle Fahrzeuge handelt es sich um eine Verknüpfte Tabelle aus meiner anderen DB. Wollte der doppelten Stammdaten Pflege aus dem weg gehen. Deswegen kann ich doch glaube ich, keine neuen Felder zufügen. Du bist der Meinung dass ich Tabelle Schaden und Gesamtzustand als eine Tabelle erstellen sollte.
-   Bei der Tabelle Personal handelt es sich auch um eine Verknüpfte Tabelle aus meiner anderen DB. Es ist richtig dass für ein Fahrzeug es unterschiedliche Fahrer gibt. Bei der Tabelle letzter Fahrer wollte ich jetzt bloß den Namen des Fahrers fest halten, der das Fahrzeug zum Schluss hatte. Um vielleicht später eine Auswertung der Schäden zu machen.
-   Das mit der 1:n Beziehung verstehe ich nicht so wirklich.
Ansonsten werde ich mal deine Ratschläge überdenken. Und Danke für deine Antwort.

Gruß Uwe01
Titel: Re: Beziehungen erstellen
Beitrag von: DF6GL am Oktober 14, 2012, 18:37:41
HAllo,



--  dann mach Dich am Besten mit diesen Ausdrücken bekannt..  Ref. Integr. bedeutet, dass sich das Access-Datenbankmodul (Jet-Engine) um die Konsistenz der Daten kümmert.

-- dann hast Du auch nur die halbe Wahrheit erzählt...  Insbesondere versteh ich dann nicht, was Du übergaupt erreichen willst.

--  das ist ein falscher Weg.  Solche Daten werden "errechnet" (durch geeigente Abfragen)  und nicht durch Eingabe "gepflegt". Auch wenn es sich um eine verkn. Tabelle handelt, ändert es nichts daran, dass die Beziehung falsch ist.

--  wenn Du 1:n-Beziehung  nicht verstehst, verstehst Du den ganzen Hintergrund einer Datenbank nicht...  (sorry, ist nicht böse gemeint   :)  ) Du solltest Dich dringend mit "Normalisierung" und Relationalität auseinander setzen.  Siehe u.st. Links #1 und #1a. Das ist essentiell..

Titel: Re: Beziehungen erstellen
Beitrag von: pahiti78 am Oktober 29, 2012, 01:22:14
Hallo,

Ich habe auch ein Beziehungsproblem. Und zwar habe ich eine Tabelle in welcher bestimmte Sendungsdaten erfasst werden. Es besteht dort eine Spalte Gewicht. Ich muss weiterhin eine Gewichtssumme pro Tag bilden und den Prozentsatz der Einzelgewichte zur Summe darstellen. Also hab ich eine Summenabfrage erstellt. Mittels Beziehung kann ich mir dann auch die Einzelgewichte zur Summe darstellen lassen. Ich muss allerdings Summen in zwei verschiedenen Segmenten bilden. Also hab ich paralell eine zweite Summenabfrage erstellt. Wenn ich beide Gewichtssummen jetzt mittels Verknüpfung integriere kommen total falsche Werte raus. Ausserdem werden Datensätze dupliziert. Was mach ich falsch? Ich habe alle3 Szenarien im Verknüpfungsassistenten durchprobiert ....keine Loesung...Bitte helft mir.