ska: feld suchen wo nur die hälfte des namens feststeht

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

  1. 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 :-)

    1. 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

      1. 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 :-)

        1. 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

          1. 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 :-)

            1. 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

      2. 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

  2. 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

  3. 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:|