[REGEX] Platzhalter in Datenbank ersetzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ok,

    Aber was ist dann ein Primärschlüssel. Ich habe mich mal bei
    Wiki umgesehen und das einzigste das passen würde wären dann:
    Indizes/Index in der MySQL DB?

    Das steht bei mir auf dem Suchwort. Allerdings packe ich da immer mehr oder wehniger alles rein was ich häufig in statements verwende. So stand es mal irgendwo geschrieben

    Gibts dazu evtl. irgendwo eine Leicht verständliche Anleitung? Die MySQL Docu + den Eintrag zu Kardinalität im Wiki bringen mich mal überhaupt nicht weiter
    require_once('gehirn_v_02.php');

    Kommentar


    • #17
      seiten zu den thema gibt es genug. habe nur grad keinen link da...

      aber hier im forum habe ich auch schon links dazu gesehn.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #18
        hmm is alles nen bissl komplizierter das zu erklären

        primärschlüssel dienen dazu einen datensatz eindeutig identifizieren zu können, dabei muss der primärschlüssel minimal sein und die wertebereiche der attribute atomar, d.h. es dürfen keine redundanzen in den tabellen vorkommen.

        ein beispiel zur verdeutlichung:
        ihr habt eine firma mit mitarbeiter udn abteilungen.
        ohne primärschlüssel seh eure tabelle so aus

        t_abteilung:
        bezeichung
        --> produktion
        --> fertigung

        t_mitarbeiter:
        vorname, nachname
        --> Michael, Mayer
        --> Norbert, Blühm

        auf den 1. Blick scheint das ja alles nicht weiter tragisch zu sein, aber was is wenn ein 2. mitarbeiter zufällig auch noch Michael Mayer heissen würde?
        dann kann man diesen nicht mehr eindeutig identifizieren.
        oder was ist wenn ihr speichern wollt welcher mitarbeiter sich in welcher abteilung befindet, dann ist dies ohne Redundanzen (=überflüssige Daten, ohne eigentlichen Informationsgewinn) nicht möglich.
        aus diesem grund führt man primärschlüssel und fremdschlüssel ein.
        die oben dargetellen tabellen sehen dann so aus

        t_abteilung:
        ID_Abteilung, Bezeichung
        --> 1, Produktion
        --> 2, Fertigung

        t_mitarbeiter:
        ID_Mitarbeiter, Vorname, Nachname
        --> 1, Michael, Mayer
        --> 2, Norbert, Blühm

        jetzt ist es möglich nen weiteren mitarbeiter einzufügen der auch norbert blühm oder ähnlich heisst und er is eindeutig identifizierbar.
        allerdings kann den tabellen noch nicht entnommen werden welcher mitarbeiter in welcher abteilung arbeitet dazu wird , je nach beziehungsart, wir gehen davon aus, dass es sich hierbei um eine 1:m beziehung handelt , also ein mitarbeiter kann immer nur in EINER Abteilung tätig sein, wobei eine Abteilung von mehreren Mitarbeitern belegt werden kann.
        Dazu wird an die Tabelle Mitarbeiter ein Fremdschlüssel (Primärschlüssel der Tabelle Abteilung) angehängt

        t_mitarbeiter
        ID_Mitarbeiter, Vorname, Nachname, ID_Abteilung
        --> 1, Michael, Mayer, 1
        --> 2, Norbert, Blühm, 1
        [usw....]

        Wie Tabellen aufgebaut werden, da gibts bestimmte Regeln für und diese Regeln, bzw. Richtlinien nennen sich Normalformen, da wird das alles erklärt.

        und bezüglich des Primärschlüssels und auto increment
        auto_increment definiert nicht den primärschlüssel als solchen, sondern auto_increment bewirkt, dass eine Spalte einen auto wert erhält, welcher nur 1x in der kompletten tabelle vorkommt.
        man verwendet ihn meist (oder eigtl. fast nur) in verbindung mit einem primärschlüsse, weil wenn 2x die ID_Mitarbeiter 1 vorkäme würde der Datensatz ja nicht eindeutig identifiziert werden können ^^

        so viel zu dem thema
        ist alles recht komplex.
        ich würd mir mal die Normalformen angucken, denn ordentlich aufgebaute Tabellen erleichtern die Arbeit enorm und minimieren Redundanzen

        hoffe konnte euch eniigermaßen helfen und hoffe auch, dass nich allzu viel blödsinn von mir erzählt wurde ^^

        greetz
        Marskuh

        Kommentar


        • #19
          wenn er es jetzt nicht schnallt ... weiss ich es auch nicht. ;-)

          auf jeden fall gut erklärt ...
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #20
            Original geschrieben von Abraxax
            wenn er es jetzt nicht schnallt ... weiss ich es auch nicht. ;-)

            auf jeden fall gut erklärt ...
            jetzt hab ichs so schön erklärt und bekomm noch nichmal nen feedback wies angekommen isu nd obs verständlich war

            Kommentar


            • #21
              hehe. du hast doch feedback von mir bekommen ...
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #22
                Sorry, Sorry

                Ich habe mir meine Hand gebrochen... nunja nicht die ganze Hand sondern teile von ihr :-/. Bin auf der Arbeit gestürzt und unglücklich gefallen. Von daher war ich im Krankenhaus und bemühe mich gerade mit der linken Hand zu schreiben. Aber wenn man gewohnt ist 10Finger zum schreiben zu nutzen ist das echt mal nicht leicht!!!

                So... Back to Topic :-)

                Das ist auf jedenfall einmal eine SUPER Erklärung für PHP-Neulinge (wie mich) . Nur ist das für meine kleines Script mit der Tabelle doch eigentlich überflüssig?!? Oder??? Ich habe doch z.B. NUR einmal den Begriff "Schrankwand" in meiner Tabelle. Der ist mit einem Link verknüpft. Es wird sicherlich nicht nochmal ein Suchwort Namens "Schrankwand" aufgenommen. Dann hätte ich Probleme mit meinem Lexicon, denn das Word MUSS ja einmalig sein!

                Sehe ich doch richtig oder?
                require_once('gehirn_v_02.php');

                Kommentar


                • #23
                  Wie ist es denn dann mit zweideutigen Begriffen wie z.B. die Maus?

                  -> Verweis auf Nagetier
                  -> Verweis auf Computer - Zeigegerät

                  Ein eindeutiger Index schadet deiner Tabelle auf jedenfall nicht, auch sollte es zu keinem Verlust der Performance oder so kommen wenn du einen nachträglich einfügst.
                  Auch ist die Erstellung eines Index sicherlich zukunftssicherer, da man ja nie weiss, was man mit einer Tabelle noch alles machen will. Mehrere Links zu einem Stichwort z.B. ...

                  Kommentar

                  Lädt...
                  X