datenbank struktur - eure meinung :)

  • Hallo :)


    ich möchte gerne ein login basteln
    nach dem anmelden soll der user werte aus 'seiner' tabelle der datenbank angezeigt bekommen


    meine gedankengang


    mit $_POST user namen von dem login formular holen und mit switch dann die tabelle ansprechen


    rudimentär:

    PHP
    1. <span class="syntaxdefault"><br /><br />switch </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    case </span><span class="syntaxstring">'user1'</span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">user1_tabelle</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    break</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    case </span><span class="syntaxstring">'user2'</span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">user2_tabelle</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    break</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    case </span><span class="syntaxstring">'user3'</span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">user3_tabelle</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    break</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    case </span><span class="syntaxstring">'user4'</span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">user4_tabelle</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    break</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault"> </span>


    habt ihr da was auszusetzen ;)


    wie funktioniert das prinzipiell, zB hier im forum bekommt ja auch jeder user 'seinen' persönlcihen bereich


    vieleicht habt ihr eine idee, einen link, einen suchbegriff :)


    gruß
    peter

  • Jedem User eine eigene Tabelle zuzuweisen könnte bei vielen Usern schnell sehr unübersichtlich und groß werden.
    Besser wäre es alle User in eine Tabelle zu packen, jeder bekommt dann einen eigenen Eintrag ind der Tabelle mit seinen Einstellungen.

  • stell dir ein bewertungssystem vor


    wo, ca 10, user zugang haben dazu


    sie werden, für versch. bilder und links, ihre bewertung abgeben


    also werde ich zwei tabellen erstellen:
    LOGIN

    Code
    1. +----------------------------------------+
    2. | tlogin |
    3. +----------------------------------------+
    4. | lid | uname | pswd | wertRef |
    5. +----------------------------------------+


    BEWERTUNG

    Code
    1. +-----------------------------------+
    2. | twert |
    3. +-----------------------------------+
    4. | wid | obj | mark | notice |
    5. +-----------------------------------+


    um dann mit

    Code
    1. WHERE wid != wertRef


    abfragen


    oder geht das ganze spiel auch in einer tabelle?


    gruß
    peter

  • Wenn ich dich richtig verstanden habe müsste es doch auch so gehen:


    LOGIN & BEWERTUNG

    Code
    1. +---------------------------------------------------------------------------------------+
    2. | lid | uname | pswd | wertRef | wid | obj | mark | notice |
    3. +---------------------------------------------------------------------------------------+
  • &quot;Sören&quot; schrieb:

    Wenn ich dich richtig verstanden habe müsste es doch auch so gehen:


    LOGIN & BEWERTUNG

    Code
    1. +---------------------------------------------------------------------------------------+
    2. | lid | uname | pswd | wertRef | wid | obj | mark | notice |
    3. +---------------------------------------------------------------------------------------+


    Natürlich aber es ist semantisch nicht so gedacht.


    Für verschiedene Aktionen sollten verschiedene Tabellen genutzt werden, sonst könnte man ja auch einfach alles in eine schreiben.


    Auf keinen Fall pro User eine Tabelle benutzen! Was machst du bei 2900 Usern? Das ist der falsche Ansatz.

  • Den verstehe ich leider nicht so ganz, bitte wähle mal eindeutigere Namen :)


    Aber rein so vom Gedanken ist das richtig, eine Tabelle für Benutzer, eine für die Bewertung.



  • ok , hier nun nochmal. aber... etwas modifiziert ;)


    also das feld loginRefernz wird für die namen benützt und das passwort wird NATÜRLICH nicht ausgelesen


    das objekt kommt ja nur einmal vor, wird aber von verschiedenen juroren bewertet, deshalb die auslagerung :)


    die referenzfelder haben immer den gleichen wert wie die ID´s auf die sie verweisen ^^


    gruß
    peter