Hallo Jan,
generell hätte ich mir eingebildet das einigermaßen verstanden zu haben, aber vielleicht auch nicht ganz.
ich habe z.B. eine Haupt-Tabelle "Apfelsorten" und eine Eigenschaften-Tabelle apfelkrankheiten
In "Apfelkrankheiten" liegt mein Datensatz in der Eigenschaften-Tabelle, "apgelkrankheiten" gibts 2 Felder , die Laufnummer und der Krankheitsnamen"
1 schorf 2 mehltau 3 Spinnmilbe 4 apfelsägewespe 5 Apfelwickler 6 Feuerbrannt 7 Kragenfäule
usw. da sind so 15-20 Einräge drin
wäre jede Sorte nur für einen Schädling anfällig wäre das Verknüpfen des Eigenschaftsfelds Krankheiten einfach.
Nicht jede Apfelsorte ist für jeden Schädling anfällig und nicht jede Apfelsorte hat gleich viele Schädlingsanfälligkeiten.
Ich muss im Datensatz der Haupttabelle Apfelsorten theoretisch ein Feld deffinieren in dem ich die ID´s aus der Krankheitentabelle hinterlegen/verknüpfen kann. also 1:n
Beispiel bei eine Apfelsorte Apfel ist für 1,3,5,7 die Nächste 2,4,6 die Nächste 3,4, die Nöächste gar nix und dann komt eine in der nur die 7 eingetragen ist usw.
Daß ich da 2 Tabelen verknüpfen mussdessen bin ich mir bewust nur das wie ist mir in dem Fall, in dem ich nicht imer gleich viele aber generell mehrere Werte brauche, das weiss ich nicht wie ichs machen soll.
Da fehlt mir jetzt auch Wissen, ich mach normal nicht viel mit Datenbanken.
VG
Ottmar
-----Ursprüngliche Nachricht----- Von: "Jan Leonhardt" jan@cyberdesigner.net Gesendet: 16.11.2010 17:19:24 An: lug-dd@mailman.schlittermann.de Betreff: Re: Datenbank Datenfedtyp Multible
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hallo Ottmar,
deine Ausführung klingt für mich, als ob Du die "Normalisierung" von relationalen Datenbanken noch nicht verstanden hast.
Ziel sollte es nicht sein an jedem Datensatz N verschiedene Attribute zu pflegen. Viel Sinnvoller wäre es doch die möglichen Attribute mit den möglichen Datensätzen zu verbinden.
zb. kann das so aussehen:
Tabelle Sorten: ID 1 Name Gelber Köstlicher [weitere eineindeutige Attribute]
[[Attribute]] Tabelle Farben: ID 1 Farbe Rot
ID 2 Farbe Grün
ID 3 Farbe Gelb
ID 4 Farbe Braun
Tabelle Krankheiten: ID 1 Name WeißderGeier
[[Verknüpfungen]] Tabelle Sorte_Farbe: ID 1 Sorte_id 1 Farbe_id 3
Tabelle Sorte_Krankheit: ID 1 Sorte_id 1 Krankheit_id 1
Suchen kannst du nun über Joins oder über jede einzelne Tabelle.
Select
FROM Sorten as S, left join Sorte_Farbe as S_F on S_F.Sorte_id = S.ID, left join Sorte_Krankheit as S_K on S_K.Sorte_id = S.ID left join Farben as F on S_F.Farbe_id = F.ID, left join Krankheiten as K on S_K.Krankheit_id = K.ID
WHERE
F.Farbe='Grün'
Würde Dir alle grünen Sorten bringen.
Man könnte der Einfachheit halber auch über eine Sorte_Option - Tabelle nachdenken
Tabelle Sorte_Option: ID 1 Name 'Farbe' Value 'Grün'
Dann würde man nur nach dem Value suchen... Ob das Sinnvoll ist, hängt stark von deiner Anwendung ab ;)
Am 16.11.2010 15:05, schrieb Ottmar-Schmidt@web.de:
Hallo Freunde, nach dem ich einfach auch eine Weile keine Zweit mehr für mein Datenbankprojekt "Apfelsorten" hatte, habe ich das Projekt wieder aufgenommen.
Mein Problem ist nach wie vor die Deffinition eines Feldes und der darin vorhandenen Eigenschaften(Mehrzahl).
Ich sollte in einem Feld mehrere mehrere Inhalte einfügen können. Nicht jede Datensatz hat gleich viele Einträge. Sollten aber diese Eigenschaften via SQL abgefragt werden, sollte jeder Datensatz der die gefragte Eigenschaft mit hinterlegt wird, auchausgegeben werden. Kann ich das mit Feldtype "multible" machen und wenn ja wie funktioniert das????
Grüße aus dem Weinland Baden
GRATIS! Movie-FLAT mit über 300 Videos. Jetzt freischalten unter *http://movieflat.web.de*
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Mit freundlichen Grüßen / With kind regards
Jan Leonhardt
IT-Dienstleistungen IT-Konsultant Administration Softwareentwicklung -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkzirwgACgkQKGMAkLB23Lif5ACgi/NEwyd5O7ZNXMn/CJn4gftd RvMAoIeOl1ijYK8f5R1yw24rRUFumA7T =Tnit -----END PGP SIGNATURE-----
___________________________________________________________ WEB.DE DSL Doppel-Flat ab 19,99 €/mtl.! Jetzt auch mit gratis Notebook-Flat! http://produkte.web.de/go/DSL_Doppel_Flatrate/2