![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: ska, 30. 11. 2007, 00:05
abend,
ich habe eine tabelle plz, in welcher
plz
ort
anbieter
anbieter2
usw
steht. Nur wieviele anbieter darin sind ist verschieden.
Deshalb meine Frage existiert eine Möglichkeit über eine select anfrage alle Felder ausfindig zu machen in denen das Wort anbieter vorkommt?
mbg ska
Die folgende Nachricht zum Thema stammt von: Tom, 30. 11. 2007, 00:25
Hello,
»» ich habe eine tabelle plz, in welcher
»»
»» plz
»» ort
»» anbieter
»» anbieter2
»» usw
»»
»» steht. Nur wieviele anbieter darin sind ist verschieden.
»»
»» Deshalb meine Frage existiert eine Möglichkeit über eine select anfrage alle Felder ausfindig zu machen in denen das Wort anbieter vorkommt?
Ja, die existiert.
Aber spätestens, wenn Du dich auf diesen Weg begibst, wäre es weniger Aufwand gewesen, die Dir schon mehrmals vorgeschlagene Normalisierung der Datenbank vorzunehmen. Dann hättest Du das Problem jetzt nicht.
Und deshalb poste ich die Kösung jetzt auch nicht, weil sie in Wirklichkeit keine Lösung, sondern der Anfang eines großen Knotens wäre...
Also bitte nochmal über die Normalisierung nachdenken.
location anbieter
------------- ---------------
id_location ---+ id_anbieter
plz +---> id_location (indexed)
ort name
vorwahl person
strasse
plz
ort
telefon
fax
email
http
An erster Stelle immer der Primary Key der Tabelle, aus Bequemlichkeit bei mir meistens al autoincrement angelegt, wenn es nicht anders dringend erforderlich ist.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
Die folgende Nachricht zum Thema stammt von: steckl, 30. 11. 2007, 00:37
Hi,
noch eine kleine Anmerkung hierzu:
»» location anbieter
»» ------------- ---------------
»» id_location ---+ id_anbieter
»» plz +---> id_location (indexed)
»» ort name
»» vorwahl person
»» strasse
»» plz
»» ort
»» telefon
»» fax
»» email
»» http
Ziel der Normalisierung sollte es sein, keine Daten doppelt abzuspeichern, aber hier hast du Redundanz bei plz und ort.
Diese sollten nur in der Tabelle location stehen.
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: Tom, 30. 11. 2007, 00:49
Hello,
»» Hi,
»»
»» noch eine kleine Anmerkung hierzu:
»»
»» »» location anbieter
»» »» ------------- ---------------
»» »» id_location ---+ id_anbieter
»» »» plz +---> id_location (indexed)
»» »» ort name
»» »» vorwahl person
»» »» strasse
»» »» plz
»» »» ort
»» »» telefon
»» »» fax
»» »» email
»» »» http
»»
»» Ziel der Normalisierung sollte es sein, keine Daten doppelt abzuspeichern, aber hier hast du Redundanz bei plz und ort.
Nö, so wie ich es verstanden habe, nicht unbedingt. Ein Anbieter für die Postleitzahl 22xxx muss seinen Geschäftssitz nicht auch in 22xxx haben.
Allerdings wirst Du Recht haben, dass man eine Mitteltabelle benötigen wird.
Es ist vermutlich eine n:m Beziehung, die ska benötigt, da es für jeden Ort mehrere Anbieter gibt und jeder Anbieter auch in mehreren Orten anbietet.
das wäre dann also besser:
location location_anbieter anbieter
------------- ----------------- ---------------
id_location ----------- id_location +------- id_anbieter
plz id_anbieter -------+ name
ort bemerkung person
vorwahl strasse
plz
ort
telefon
fax
email
http
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
Die folgende Nachricht zum Thema stammt von: steckl, 30. 11. 2007, 01:07
Hi,
»» Nö, so wie ich es verstanden habe, nicht unbedingt.
»» Ein Anbieter für die Postleitzahl 22xxx muss seinen Geschäftssitz nicht auch in 22xxx haben.
Ich bin davon ausgegangen, dass ein Anbieter nur einen Geschäftssitz hat und von dort aus überall hin anbietet. Aber ich finde darüber brauchen wir hier nicht mehr weiter diskutieren, das muss ska selber wissen, was der Fall ist.
»» Es ist vermutlich eine n:m Beziehung, die ska benötigt, da es für jeden Ort mehrere Anbieter gibt und jeder Anbieter auch in mehreren Orten anbietet.
»» das wäre dann also besser:
»»
»» location location_anbieter anbieter
»» ------------- ----------------- ---------------
»» id_location ---+------- id_location +------- id_anbieter
»» plz | id_anbieter -------+ name
»» ort | bemerkung | person
»» vorwahl | | strasse
»» | | plz (jetzt überflüssig)
»» | anbieter_sitz | ort (jetzt überflüssig)
»» | ------------- | telefon (nur noch durchwahl)
»» +------- id_location | fax
»» id_anbieter -------+ email
»» bemerkung http
»»
»»
»»
»»
Ganz bin ich immer noch nicht zufrieden ;)
Warum nicht nochmal eine Zwischentabelle zwischen location und anbieter für plz und ort des Firmensitzes?
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: Tom, 30. 11. 2007, 02:09
Hello,
»» Hi,
»»
»» »» Nö, so wie ich es verstanden habe, nicht unbedingt.
»» »» Ein Anbieter für die Postleitzahl 22xxx muss seinen Geschäftssitz nicht auch in 22xxx haben.
»»
»» Ich bin davon ausgegangen, dass ein Anbieter nur einen Geschäftssitz hat und von dort aus überall hin anbietet. Aber ich finde darüber brauchen wir hier nicht mehr weiter diskutieren, das muss ska selber wissen, was der Fall ist.
»»
»» »» Es ist vermutlich eine n:m Beziehung, die ska benötigt, da es für jeden Ort mehrere Anbieter gibt und jeder Anbieter auch in mehreren Orten anbietet.
»»
»» »» das wäre dann also besser:
»» »»
»» »» location location_anbieter anbieter
»» »» ------------- ----------------- ---------------
»» »» id_location ---+------- id_location +------- id_anbieter
»» »» plz | id_anbieter -------+ name
»» »» ort | bemerkung | person
»» »» vorwahl | | strasse
»» »» | | plz (jetzt überflüssig)
»» »» | anbieter_sitz | ort (jetzt überflüssig)
»» »» | ------------- | telefon (nur noch durchwahl)
»» »» +------- id_location | fax
»» »» id_anbieter -------+ email
»» »» bemerkung http
»» »»
»» »»
»» »»
»» »»
»»
»» Ganz bin ich immer noch nicht zufrieden ;)
Ich auch noch nicht.
Das wird jetzt auch academisch und für ska wahrscheinlich zuviel.
Aber lass es uns mal weiterspinnen.
in Anbieter Telefon nur Durchwahl wird nicht gehen, da es ja heute diverse Wege gibt, um jemanden zu erreichen. Vorwahlen sind nicht unbedingt an den Ort gebunden, an dem derjenige sein Telefon stehen hat. Die Vorwahl in Location ist also nur ein Vorschlag, die Standardvorwahl.
Dann müssten wir ja auch erstmal sammlen
- Anbieter hat Firmensitz
- Anbieter bietet Produkte
- Produkte werden distribuiert
- usw...
Und dann platzt das warscheinlich gelich aus den Nähten.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
Die folgende Nachricht zum Thema stammt von: steckl, 30. 11. 2007, 10:57
Hi,
»» »» Ganz bin ich immer noch nicht zufrieden ;)
»»
»» Ich auch noch nicht.
Immer diese Perfektionisten ;)
»» Und dann platzt das warscheinlich gelich aus den Nähten.
Stimmt, also wär es wohl am besten, das Ganze den Leuten zu überlassen, die damit ihren Lebensunterhalt verdienen. Da es hier - wie du scho sagtest - wohl eher verwirrt als nützt.
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: Ilja, 30. 11. 2007, 07:22
yo,
»» Ziel der Normalisierung sollte es sein, keine Daten doppelt abzuspeichern, aber hier hast du Redundanz bei plz und ort.
»» Diese sollten nur in der Tabelle location stehen.
das ist so nicht richtig, normalisierung hat mit doppelten daten nur indirekt zu tun und verwirrt nur, sondern mit zugriff und kontrolle, bzw. abhängigkeiten, um anomalien zu verhindern. daten könen dabei aber sehr wohl in einem normalsisierten design doppelt vorkommen und müssen es auch.
Ilja
Die folgende Nachricht zum Thema stammt von: steckl, 30. 11. 2007, 00:28
Hi,
»» ich habe eine tabelle plz, in welcher
»»
»» plz
»» ort
»» anbieter
»» anbieter2
»» usw
»»
»» steht. Nur wieviele anbieter darin sind ist verschieden.
Sind das die Namen der Spalten oder die Inhalte der Tabelle? Wenn das die Inhalte sind ist es möglich, wenn es die Spaltennamen sind solltest du dein DB-Design überdenken.
»» Deshalb meine Frage existiert eine Möglichkeit über eine select anfrage alle Felder ausfindig zu machen in denen das Wort anbieter vorkommt?
Select SPALTENNAME from TABELLENNAME where SPALTENNAME like '%anbieter%';
Das '%' steht bei like für beliebig viele beliebige Zeichen.
mfG,
steckl
Die folgende Nachricht zum Thema stammt von: EKKi, 30. 11. 2007, 09:01
Mahlzeit,
»» ich habe eine tabelle plz, in welcher
Bleib doch bitte in Deinem ursprünglichen Thread. Dort wurden Dir auch bereits gute Hinweise für ein saubereres Datenbankdesign genannt.
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
© 1998-2006
Impressum, Software: Classic Forum