Ankündigung

Einklappen
Keine Ankündigung bisher.

Mein erstes Projekt

Einklappen

Neue Werbung 2019

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

  • Mein erstes Projekt

    Hallo zusammen, habe mich zwar schon etwas eingelesen und komme auch mit den grundsachen zurecht trotzdem habe ich keine ahnung wie ich mein jetztiges Projekt realisieren soll.

    Also ich habe zwei datenbank "dbone" und "dbtwo" in der dbone werden die user gespeichert und in der dbtwo Spiele. Jetzt möchte ich gerne die Spiele dem Profil zuordnen. Also über ein formular wo alle Spiele eingeblendet werden kann der User wählen welche spiele er hat und seinem Profil hinzufügen. Jetzt habe ich keine ahnung wie ich das realisieren soll und wie ich es wieder auslesen soll. Denke mal die IDs der Spiele werden hintereinander in ein dafür vorgesehenes Feld geschrieben aber kein Plan.

    Hoffe ihr versteht was ich meine.


  • #2
    Werden die Daten von dir gespeichert? Wenn ja wieso verwendest du zwei Datenbanken. Oder meinst du zwei Tabellen?

    Kommentar


    • #3
      Sorry meine 2 Tabellen, ja die daten werden gespeichert damit sie der user immer wieder anzeigen kann

      Kommentar


      • #4
        Du musst eine dritte Tabelle anlegen, welche 3 Spalten besitzt. Eine ID, eine GameID und eine PlayerID. Damit kannst du jedem Spiel mehrere Benutzer zuweisen. Beim Profil deines Benutzers liest du dann mittels eines JOINs die Informationen aus, die du benötigst. Deine Abfrage an die Datenbank muss halt über mehrere Tabellen hinweg sein.

        Kommentar


        • #5
          Zitat von SJahr Beitrag anzeigen
          Du musst eine dritte Tabelle anlegen, welche 3 Spalten besitzt. Eine ID, eine GameID und eine PlayerID.
          Zwei Felder genügen, solche Zuweisungstabellen brauchen normalerweise keine eigene ID. Der Primärschlüssel geht dann über beide Attribute.
          Wenn der Benutzer mit der ID 7 nun die Spiele mit den Id's 3, 12, 55 und 21 auswählt, dann speicherst du die Daten mit
          Code:
          INSERT INTO zuweisungstabelle(
              userId,
              spielId
          )
          VALUES
              (7, 3),
              (7, 12),
              (7, 55),
              (7, 21);
          Um die Daten abzufragen, brauchst du dann einen JOIN über alle drei Tabellen.
          Gruss
          L

          Kommentar


          • #6
            Zitat von lazydog Beitrag anzeigen
            Zwei Felder genügen, solche Zuweisungstabellen brauchen normalerweise keine eigene ID. Der Primärschlüssel geht dann über beide Attribute.
            Brauchen tut man die nicht. Aber in der Regel, bzw. Praxis wird immer eine eindeutige ID als Spalte angelegt. Lernt man auch so als Fachinformatiker in der Schule

            Kommentar


            • #7
              Zitat von SJahr Beitrag anzeigen
              Aber in der Regel, bzw. Praxis wird immer eine eindeutige ID als Spalte angelegt. Lernt man auch so als Fachinformatiker in der Schule
              Die entsprechende Fachliteratur möchte ich sehen.
              Ich habe das jedenfalls in keiner der Vorlesungen über relationale Datenbanken gehört.
              Gruss
              L

              Kommentar


              • #8
                Zitat von SJahr Beitrag anzeigen
                Brauchen tut man die nicht
                Genau, in der Regel sollte und will man aber Redundanzen vermeiden und da die ID hier wirklich total überflüssig ist sollte man deinem Lehrer vielleicht mal auf die Füße treten...

                Kommentar


                • #9
                  Das dürfte mich schon weiterbringen wenn nicht frag ich einfach wieder.

                  Danke schonmal für die tips

                  Kommentar


                  • #10
                    Nun hab ich wieder was, was ich meinen DB-Lehrer unter die Nase reiben kann

                    Aber in der Praxis, zumindest in den Firmen, in denen ich bisher gearbeitet habe, wird grundsätzlich eine ID pro Tabelle angelegt.

                    Kommentar


                    • #11
                      Zitat von SJahr Beitrag anzeigen
                      Aber in der Praxis, zumindest in den Firmen, in denen ich bisher gearbeitet habe, wird grundsätzlich eine ID pro Tabelle angelegt.
                      Bei mir nicht und meine Arbeit IST die Praxis

                      Kommentar


                      • #12
                        Zitat von SJahr
                        Aber in der Praxis, zumindest in den Firmen, in denen ich bisher gearbeitet habe, wird grundsätzlich eine ID pro Tabelle angelegt.
                        Wofür brauchst du denn in einer Zuweisungstabelle wo du nur zwei verschiedene ID's rein speicherst eine Eindeutige ID? Du tust doch in dieser Tabelle nichts verändern sondern nutzt sie eben nur als eine sogenannte verbindungstabelle zwischen zweier anderer tabellen!

                        Also eine eindeutige ID in dieser Tabelle sinnfrei!

                        mfg der Litter
                        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                        http://www.lit-web.de

                        Kommentar


                        • #13
                          Es geht einfach nur um die Eindeutigkeit des Datensatzes. Ich hab es halt so gelernt und muss es in der Firma auch so anwenden. Bei uns werden diese Relationen halt auch in Objekten abgebildet.

                          Kommentar


                          • #14
                            Zitat von SJahr Beitrag anzeigen
                            Es geht einfach nur um die Eindeutigkeit des Datensatzes. Ich hab es halt so gelernt und muss es in der Firma auch so anwenden. Bei uns werden diese Relationen halt auch in Objekten abgebildet.
                            Das ist Quatsch und diese Diskussion auch. Eine Beziehung zwischen 2 Datensätzen kann es nur 1 mal geben und der Relationsdatensatz ist somit schon durch die beiden IDs der zugehörigen Datensatze absolut eindeutig.

                            Jetzt bitte wieder zurück zum eigentlichen Thema, wer diese sinnlose Diskussion weiterführen möchte der möge bitte einen eigenen Thread aufmachen.

                            Kommentar

                            Lädt...
                            X