Beziehungen unter Acess2000

Dieses Thema im Forum "Office-Programme" wurde erstellt von ghost rider, 6. August 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Hi @ll,

    trotz des schlauen Buches brauch ich jetzt mal Eure Hilfe:

    Also:

    Ich möchte eine 1:n bzw. eine n:m Beziehung realiesieren.

    In einer Datenbank sollen ja keine direkten und indirekten Abhängigkeiten von Primärschlüsseln gegeben sein, damit keine Anomalien auftreten...

    ...soweit so gut...

    so jetzt zur Aufgabe:

    Namenserfassung in Tabelle 1 .

    Emailadressenerfassung in Tabelle 3.

    Tabelle 2 stellt das Bindeglied zwischen den Beiden dar.

    Tabelle 1 verfügt über einen Primärschlüssel der von Acess automatisch erstellt wird ...(fortlaufende Numerierung)... und der auch in Tabelle 2 eingetragen wird.

    Heißt:

    Jeder Name hat seine eigene Nummer , die einmalig vergeben ist, ebenso jede Emailadresse...

    aus vorhin genannten Gründen werden die Beiden Tabellen über eine dritte Verknüpft.

    Die Tabelle 2 besteht aus der Namensnummer (Primärschlüssel Tabelle 1) sowie einem automatisch erzeugten Primärschlüssel (fortlaufende Numerierung)...

    Der Primärschlüssel von Tabelle 2 wird dann per manuellem Eintag jeweils als Emailnummer übernommen.

    Jetzt meine Frage:

    Ist es möglich letzteren Vorgang so zu deklarieren, das dies automatisch erfolgt und die Emailnummer richtig zugewiesen wird...

    Autowert geht da nicht... da ja die Nummer der Autowert von Tabelle 2 ist und nur übernommen werden soll...

    allerdings automatisch, weil man sich sonst das ganze dauernd merken muß...

    Hier etwas anschaulicher:

    Tabelle 1:

    NR (autowert & Primärschlüssel) , Name :

    1 , Max Muster

    2 Karl Muster

    3 Hans Muster

    Tabelle 3:

    Nr. (von Tab 2 ) emailnr. emailadresse:

    ??? 1 xxxx@xxx.com

    ??? 2 aaaa@saaa.net

    ??? 3 zzzzz@i.com

    Tab 2:

    ID (Autowert & Nr für Tab 3) , Namenr.

    1 1

    2 1

    3 1

    Wie kann ich das am besten lösen, daß ich möglichst komfortabel, mehrere emailaddys einem Namen zuordnen kann, ohne dabei Datenbankanomalien zu riskieren (Boyce-Codd-Normalform) ???

    __________________
    mfg ghostrider
     
  2. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Danke für die Antwort... wenn mein Rechner wieder läuft, werde ich das gleich ausprobieren.

    mfg ghostrider
     
  3. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Hi,

    danke für Deine Antwort, und sorry, daß ich erst jetzt antworte... geht leider nicht anders...

    Also ich wollte ja eigentlich, die Auto-ID von der Namens bzw. Adressentabelle komplett als Primärschlüssel festlegen...

    nur wenn ich das so festlege, bekomme ich eine Fehlermeldung, sobald ich dann diese Werte woanders als Fremdschlüssel eintrage...

    Reicht dann nur die AutoID von der Namenstabelle , oder muß ich dann auch die anderen Felder komplett eintragen (als Fremdschlüssel) ???

    mfg ghostrider
     
  4. neanderix

    neanderix Kbyte

    Registriert seit:
    18. April 2000
    Beiträge:
    186
    Beiss dich bitte nicht an Normalformen oberhalb 3NF fest (BC-NF ist drueber), das ist schlicht unrealistisch und overkill.

    In deinem Fall reicht es tatsaechlich, die Tabelle Name und die Tabelle mailadressen ueber den Primaerschlussel der Namenstabelle (der als Foreign-Key in die Mailadressen-Tabelle eingetragen wird) zu verknuepfen.

    Primaerschluessel in der Mailadress-Table ist dass die *Kombination* aus Foreign-Key und Maiadresse - dieses Konstrukt nennt man einen zusammengesetzten Primaerschluessel.

    wie gesagt - beis dich nicht zu sehr an der Normalisierung fest; Normalisierung auf deibel komm raus nutzt dir wenig - und macht dir spaeter bei der ERstellung von Abfragen und Berichten mindestens genauso viele Probleme, wie zuwenig Normalisierung

    Volker
     
  5. chrissebaeck

    chrissebaeck Kbyte

    Registriert seit:
    8. Mai 2001
    Beiträge:
    229
    Ich komm leider nicht auf die Forumsseite, da hab ich dann immer eine SQL-Fehlermeldung stehen, Du meinst ja nicht die, oder?

    Naja, mit meinen didaktischen Fähigkeiten strapaziere ich schon hier Studenten und auf der Volkshochschule Access-Lernwillige, aber wenn Du mir nähere Informationen zukommen läßt, schau ich\'s mir gern an.

    Christoph
     
  6. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Hallo christoph,

    danke für Deine Antwort... bitte schau Dir mal folgenden Link an, da hab ich das Problem noch etwas spezifiziert , danke.

    http://www.sven-hanl.de/wbb/thread.php?sid=&postid=4487#post4487

    mfg ghostrider

    PS:

    wenn Du schon so lange mit Access arbeitest könntest du , natürlich nur wenn Du Lust hast, mich bei meinem Vorhaben unterstützen, einen Acces - Kurs bei uns im Board abzuhalten...

    bin jetzt einfach mal so frei und frag Dich einfach... ;-)
     
  7. chrissebaeck

    chrissebaeck Kbyte

    Registriert seit:
    8. Mai 2001
    Beiträge:
    229
    Anomalien\' können da entstehen?

    Ich würd einfach die Namen-Tabelle mit der Email-Tabelle verknüpfen und die 2. draussenlassen...

    Christoph
     
  8. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    jeep turp... wegend der dann möglicherweise entstehenden Anomalien...

    ich möchte aber sozusagen die Interne ID von Tabelle 2 die mit Autowert erstellt wird, in Tabelle 3 als Zuordnung automatisch übernehmen...

    ist dies möglich ???

    Trotzdem danke für die Antwort...

    mfg ghostrider
     
  9. turp

    turp Halbes Megabyte

    Registriert seit:
    19. Mai 2000
    Beiträge:
    816
    Sorry, ist ne Weile her.
    Es hatte einen Grund, warum Du die Tabellen nicht direkt verknüpfen konntest *grübel*
    Müsste ich mich auch erst wieder reinarbeiten. :(
     
  10. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Danke turp für Deine Antwort...

    <B>aber:</B>

    dann könnte ich ja die Tab1 und die Tab3 gleich direkt verknüpfen, oder ???

    Ausserdem brauche ich doch bei Tab 2 auch wieder eine eigene ID für die Beiden Datensätze aus Tab 1 und 3 , oder ???

    hab das Prinzip von einem Vorgegebenen Beispiel übernommen, dort sieht das so aus:

    Tab 1: Autowert Primärschlüssel (bezeichne ich nachfolgend mit A)

    Tab 2: Autowert Primärschlüssel (B) , und A

    Tab1 A ---- Tab 2 A

    Tab 3 : B , C

    Tab 2 B ----- Tab 3B

    Tab 3 C ---- Tab 4 C.... (die 4. Tab ist jetzt nicht so wichtig)...

    oder hab ich da was falsch verstanden ???

    Konkret geht es mir darum, ob ich den B wert von Tabelle 2 in Tabelle 3 dann <B>immer</B> manuell eingeben muß, oder ob das automatisch trotzdem übernommen werden kann....

    ...natürlich dann nicht als Autowert bei Tab 3...

    sorry für die Anfängerfragen... aber ist meine erste Datenbank...

    mfg ghostrider
    [Diese Nachricht wurde von ghost rider am 06.08.2002 | 11:51 geändert.]
     
  11. turp

    turp Halbes Megabyte

    Registriert seit:
    19. Mai 2000
    Beiträge:
    816
    In Tabelle 1 erhält jeder Name eine Autonummer.
    In Tabelle 3 erhält jede Addi eine Autonummer.
    In Tabelle 2 erfolgt einfach die Zuordnung von Name zu Addy.

    &lt;tab1&gt; 1:n &lt;tab2&gt; n:1 &lt;tab3&gt;
     
  12. neanderix

    neanderix Kbyte

    Registriert seit:
    18. April 2000
    Beiträge:
    186
    "Also ich wollte ja eigentlich, die Auto-ID von der Namens bzw. Adressentabelle komplett als Primärschlüssel festlegen..."

    Leg die Auto-ID nur in der Namenstabelle als PK fest.

    In die Adresstabelle traegst du das Feld als Zahlfeld ein (weis grad nicht auswendig, welchen Zahlentyp du einstellen musst), und definierst das Feld fuer die Mailadressen.

    Dann markierst du beide, so dass beide Schwarz sind und klickst in der Symbolleiste auf das Symbol mit dem Schluessel. Damit sind die beiden Felder *gemeinsam* als Primaerschluessel der Tabelle definiert, sie sind also ein "zusammengesetzter Primaerschluessel", was nichts anderes heisst als dass die Felder fuer sich genommen nicht eindeutig in der Tabelle sind, die Kombination aus ID und Mailadresse hingegen schon.

    Volker
     
  13. ghost rider

    ghost rider Megabyte

    Registriert seit:
    23. März 2002
    Beiträge:
    2.319
    Hi,

    hab zur Zeit das gleiche Problem... und unsern "Cheffe" noch nicht erwischt... leider...

    kannst aber mal versuchen Dich auf der Hauptseite zu registrieren... : http://www.sven-hanl.de/apboard

    trotzdem Danke für Deine Bemühungen...

    mfg ghostrider
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen