Zum Inhalt springen

wann ein Auswahlfeld, wann eine Tabelle


gipe

Empfohlene Beiträge

Hallo

ich habe eine grundsätzliche Frage. Zuerst Mal die Ausgangslage:

Ich habe eine Adresstabelle worin ich sämtliche Kontakte einer Firma speichern möchte, also z.B. Kunden, Lieferanten und Interessenten. Jeder Adresse wird eine fortlaufende Nummer vergeben. Ich möchte aber die Adressen nach Adress-Typ charakterisieren also ein Feld erstellen "AdressTyp" mit den Optionen "Kunde", "Lieferant", "Interessent". Hier jetzt nun eben meine Frage:

- wann soll einfach ein Auswahlfeld mit den obengenannten Einträgen erstellt werden und

- wann soll aber eine neue Tabelle erstellt werden mit den obengenannten Einträge als Datensätze?

Es geht mir hier eigentlich um das theoretische daran ... was mir einfach noch nicht ganz klar ist, ist wie man die verschiedenen Abhängigkeiten (auf die sich ja der Normalisierungsprozess bezieht) richtig erkennen kann ...

Vielen Dank für Eure Hilfe.

Grüsse

gipe:confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von gipe

- wann soll einfach ein Auswahlfeld mit den obengenannten Einträgen erstellt werden und

- wann soll aber eine neue Tabelle erstellt werden mit den obengenannten Einträge als Datensätze?

Es geht mir hier eigentlich um das theoretische daran ... was mir einfach noch nicht ganz klar ist, ist wie man die verschiedenen Abhängigkeiten (auf die sich ja der Normalisierungsprozess bezieht) richtig erkennen kann ...

Mal sehen, ob ich das halb verschlafen und am frühe Morgen richtig verstanden habe...

Fuer die Adresstypen würde ich eine eigene Tabelle (3. NF) erstellen, in der Du eine Nummer (fortlaufend) vergibst und die Typen (Kunde etc.) hinterlegst. In Deiner Adresstabelle referenzierst Du auf Deine Adresstypen nur ueber die laufende Nummer der Tabelle Adresstypen. In der Anwendung kannst Du dann eine Combo-Box machen, die Dir die Bezeichnungen der Adresstypen anzeigt. Wenn Du dann einen neuen Datensatz anlegst schreibst Du in Deine Adressentabelle aber nur die laufende Nummer des Adresstyps.

War das ungefaehr das, was Du wissen wolltest? :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

MUMPITZ editiert:

solange Adress-Typ eine 1:1 Beziehung ist und nur aus wenigen Werten besteht, würde ich daraus keine Tabelle machen, sondern die Auswahlbox über eine Property-Liste füllen.

Man kann sich seine Abfragen nämlich sonst mächtig kompliziert machen.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für eure Antworten.

Es ist keine 1:1-Beziehung da die einzelnen Adresstypen mehreren Adressen zugewiesen werden können.

Zur Antwort von Saga:

ich weiss wie ich es machen muss, aber ich weiss nicht wieso ... d.h. ich weiss wie ich die verschiedenen Beziehungen in ein Relationenmodell abbilden kann.

Du schlägst mir vor, die Adresstypen in eine separate Tabelle auszulagern. OK. Aber wieso?? Wieso denn nicht ein Auswahlfeld? Ich weiss, theoretisch, wann man eine neue Tabelle erstellen sollte. Die Theorie der Abhängigkeiten ist mir klar (glaub'ich zumindest). Nur wie erkennt man "sofort" ob es sich um funktionale oder ob es sicht um transitive Abhängigkeiten handelt.

Gewisse Beispiele sind ja ziemlich einleuchtend:

transitive Abhängigkeit: wir haben z.B. die Felder PLZ und Ort in einer Adresstabelle. Das Attribut Ort ist nicht vom Primärschlüssel der Adresstabelle (z.B. Adressnummer) abhängig sondern vom Attribut PLZ --> also muss eine neue Tabelle "PLZ" erstellt werden.

Dieses Beispiel ist ziemlich klar und einfach zu verstehen, andere Fälle kann ich nicht so einfach "sehen" .

Gibt es vielleicht irgendeine "Formel"/Anleitung wie man solche Abhängigkeiten prüfen kann ...

ich weiss, das ist sehr viel Theorie... sorry

Gruss

gipe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von gipe

Es ist keine 1:1-Beziehung da die einzelnen Adresstypen mehreren Adressen zugewiesen werden können.

OK, da hast du recht. Ich meinte damit auch nur, dass einer Adresse genau ein Adresstyp zugeordnet wird. Das als 1:1 zu bezeichnen war natürlich quatsch. Aber da die Anzahl der Adresstypen überschaubar ist, würde ich dafür nicht eine neue Tabelle machen, sondern halt ein enum, falls die Datenbank das unterstützt.

Man kann jedes Datenmodel bis in die letzte Ecke normalisieren. Ich schätze aber immer ab, ob es sich "lohnt" für bestimmte Sachen extra Tabellen anzulegen. Dadurch verbrauche ich vielleicht etwas mehr Speicher, habe aber keine Statements die über eine DIN A4 Seite gehen.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...