Datenbank Sätze Verscheiben

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey ich habe mal eine frage unswa habe ich in meiner Häuser Tabelle die Namen und ID's
    Unswa wollte ich es so machen dass wenn es 3 Leute gibt die Eingemietet sind und der 2 Sich ausmietet dass dann der 3 auf die 2 Rutscht.
    Wie kann man das machen ?


    Meine Datenbank.

  • Ganz ehrlich? Ich würde es überhaupt nicht so machen. Diese ganzen so-called Dynamischen Systeme die im Hintergrund mit ner total abgefuckten Datenbank arbeiten finde ich immer so geil. (nix gegen dich oder dein Systen ;) )


    Wenn du dein System so beibehalten willst dann schau dir Datenbank Triggers an. Dann kannst einen Trigger auf Update setzen und im Trigger die Verschiebung vornehmen.


    100x Intelligenter wäre es aber mit einer separaten Tabelle für die Mieter mit einem Verweis auf das Eingemietete Haus. (Foreign Key)
    Sieht nach mehr Aufwand aus, ist es auch. Im Endeffekt ist das System aber noch Dynamischer, da du zb. durchs Script definieren kannst wie viel Mieter pro Haus erlaubt sind. (Bei deinem jetzigen System -> 3, mit seperater Tabelle -> ∞ vom Script geregelt)

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Im Prinzip ja. Denke daran das du einen eindeutigen Schlüssel habe solltest.


    (Die Linie wäre die Verbindung mittels Foreign Key auf deutsch gesagt die Haus ID)
    Ich merke das hier viele nur die Basic von Datenbanken kennen.
    Wenn der User "auszieht" dann löscht du diesen einfach aus der Datenbank.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • 100x Intelligenter wäre es aber mit einer separaten Tabelle für die Mieter mit einem Verweis auf das Eingemietete Haus. (Foreign Key)
    Sieht nach mehr Aufwand aus, ist es auch. Im Endeffekt ist das System aber noch Dynamischer, da du zb. durchs Script definieren kannst wie viel Mieter pro Haus erlaubt sind. (Bei deinem jetzigen System -> 3, mit seperater Tabelle -> ∞ vom Script geregelt)

    Danke! Besser kann man es nicht ausdrücken. Habe das Gefühl, dass viele einfach keine Ahnung von Datenbanken haben sondern nur mal schnell MySQL Tutorials ansehen die doch für den Arsch sind.


    Und an den Threadersteller: Bitte speichere immer die Benutzer-ID's ab und nie die Benutzernamen.

  • @reaL. sag ich ja, MySQL Tutorial Wissen...


    Gehen wir von folgenden Tabellen aus:


    Tabelle: users
    Felder: user_id (int), username (varchar)


    Tabelle: houses
    Felder: house_id (int), owner_id (int)


    Query:

    SQL
    SELECT houses.*, users.username FROM houses
    LEFT JOIN users ON houses.owner_id = users.user_id;


    Und Du bekommst pro Row folgendes zurueck:


    house_id | owner_id | username


    username kann NULL sein - das passiert dann, wenn in owner_id eine ID drinen steht, die in der users Tabelle nicht vorhanden ist. (sprich: Haus hat keinen Besitzer oder User wurde geloescht)


    ____



    Was Du machst ist einfach nur redundant und so baut man keine Datenbank auf...

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Gelöst ().