php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.09.2005, 22:10  
Gast
 
Beiträge: n/a
Standard Sinnvoller Aufbau Community - für jeden User eine ID?

Mir wurde immer wieder geraten, ich solle doch für jeden User eine ID vergeben und anhand dieses alles managen...

Ist das aber nicht eher sinnlos, weil bei jeglichen Abfragen ja auch immer erst abgefragt werden muss, wie der User der ID 123 eigentlich heißt?

Beispiel "Freundeliste":

ID|user1|user2
1 | 46 | 32

user "46" hat also "32" als freund. bei einer auflistung aller freunde von "46" müßte ich ja dutzende quer-abfragen machen, nur um die realnames zu bekommen...
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.09.2005, 22:12  
Matthias959
Gast
 
Beiträge: n/a
Standard

Benutze auf jeden Fall eine ID! Wie willst du den User sonst eindeutig identifizieren?
Und was die vielen Querys angeht:
Beschäftige dich mal mit Join, dann kannst du auch alles mit nur einer Query erledigen!!!
  Mit Zitat antworten
Alt 01.09.2005, 22:25  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

usernamen sind aber auch einzigartig .... sollten jedenfalls
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 01.09.2005, 22:27  
Gast
 
Beiträge: n/a
Standard

ja dachte ich eben auch... joins sind zwar geil, aber letztendlich führt das ganze ja nur zu unnötigten abfragen
  Mit Zitat antworten
Alt 01.09.2005, 22:36  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

naja ich machs über usernamen, da ich beim anlegen des users prüfe obs ihn schon gibt, falls ja werden alternativen angeboten, wenn nicht wird der user in der db angelegt, diese haben natürlich auch eine id wegen dem auto_increment wert der datenbank aber die benutz ich nich.
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 01.09.2005, 23:53  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von cytrobic
naja ich machs über usernamen, da ich beim anlegen des users prüfe obs ihn schon gibt, falls ja werden alternativen angeboten, wenn nicht wird der user in der db angelegt, diese haben natürlich auch eine id wegen dem auto_increment wert der datenbank aber die benutz ich nich.
Diese zweite ID kannst du dir dann aber auch sparen. Wenn du sie ohnehin nicht benutzt ist sie einfach nur Overhead.

Es spricht doch nichts dagegen, einen Benutzernamen als ID zu verwenden, denn schließlich ist dieser ja als solcher gedacht. Natürlich braucht der in (aller Regel) ein wenig mehr Speicher, als eine Ganzzahl, aber das wird sich wohl in irrelevanten Größenordnungen abspielen und, gerade, wenn du die numerischen IDs andernfalls immer wieder auflösen musst ohne weitere Infos der betroffenen Benutzerdatensäze auszulesen sind die paar Bytes mehr sicherlich ein kleinerer Preis.

Sinnig wäre es halt, die Fehlerquellen im Handling der Benutzernamen möglichst einzugrenzen, indem du nur Zeichen aus dem ASCII-Zeiichensatz verwendest und daraus vielleicht auch nicht solche, die dann wieder irgendwo irgendwie maskiert werden müssen (im URI, in der SQL-Query, in HTML etc.), also vielleicht ^[a-zA-Z_\-]{5,20}$ oder so.

Basti
Basti ist offline   Mit Zitat antworten
Alt 02.09.2005, 00:26  
Gast
 
Beiträge: n/a
Standard

Wie wendet man das ^[a-zA-Z_\-]{5,20}$ an?

5,20 heißt doch, der Name darf maximal 20 lang sein, mindestens 5 oder?
  Mit Zitat antworten
Alt 02.09.2005, 01:27  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von Truncate
Wie wendet man das ^[a-zA-Z_\-]{5,20}$ an?
http://php.net/manual/en/function.preg-match.php
Zitat:
5,20 heißt doch, der Name darf maximal 20 lang sein, mindestens 5 oder?
Genau.

Basti
Basti ist offline   Mit Zitat antworten
Alt 03.09.2005, 03:16  
Gast
 
Beiträge: n/a
Standard

Angenommen, die Community hat 10k User...
Macht sich da nicht der Unterschied zwischen nem INT und nem VARCHAR deutlich bemerkbar?
Das würde ich jetzt einfach mal so behaupten ohne näheres zu wissen...

@Truncate:
Deine Freundesliste-Tabelle lässt wohl so manch einem die Zehennägel...
Die ist ungünstig bedacht. Versuche es mit nur 2 Spalten und benutze eine Zeile je "Freund".


Gruß,
Sa


EDIT: die Rechtschreibung...
  Mit Zitat antworten
Alt 03.09.2005, 12:59  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Sascha
Angenommen, die Community hat 10k User...
Macht sich da nicht der Unterschied zwischen nem INT und nem VARCHAR deutlich bemerkbar?
Das würde ich jetzt einfach mal so behaupten ohne näheres zu wissen...
Hm, und was wenn die "Usersuche" benutzt wird und massig Joins verwendet werden müssen, nur damit die richtigen Usernamen auslesbar sind?

Zitat:
Zitat von Sascha
@Truncate:
Deine Freundesliste-Tabelle lässt wohl so manch einem die Zehennägel...
Die ist ungünstig bedacht. Versuche es mit nur 2 Spalten und benutze eine Zeile je "Freund".
???

freund1|freund2
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
User erkennen (ohne session + ohne cookies + prob mit IP) PHP Tipps 2007 8 30.12.2007 23:35
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] Aufbau einer "großen" Community Datenbanken 2 20.10.2005 09:10
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
PHP Community für User Beitragsarchiv 9 22.06.2005 01:18
[Erledigt] MySQL user rausfinden Datenbanken 4 26.05.2005 12:15
user von forum auch für restliche community nutzen Unbekanntes_Pferd Datenbanken 4 28.04.2005 10:19
Party Community Programmierer gesucht => Bezahlung Beitragsarchiv 30 04.01.2005 02:43
[Erledigt] PHP linux user wechseln PHP-Fortgeschrittene 12 05.12.2004 16:11
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
User identifizieren TRW PHP Tipps 2004 1 21.10.2004 21:36
Freiwillige für Community Aufbau gesucht! Beitragsarchiv 6 24.08.2004 17:06
Loginscript für eine Community PHP Tipps 2004 9 05.08.2004 19:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sinnvoller aufbau von datenbanken, sinnvoller username, useraufbau community

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.