feld suchen wo nur die hälfte des namens feststeht
ska
- datenbank
0 Tom0 steckl0 EKKi- zur info
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
Hello,
ich habe eine tabelle plz, in welcher
plz
ort
anbieter
anbieter2
uswsteht. 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
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
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
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
httpZiel 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
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
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 httpGanz 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
Und dann platzt das warscheinlich gelich aus den Nähten.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
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
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
Hi,
ich habe eine tabelle plz, in welcher
plz
ort
anbieter
anbieter2
uswsteht. 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
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