Hallo Meowsalot,
das ist nicht nur ungünstig, sonder leider falsch modelliert.
User und Session sind unterschiedliche und unabhängige Entitäten, die nur bei Bestehen einer festen 1:1 Beziehung in einer Tabelle gemeinsam gespeichert werden dürften. Das ist aber nicht so.
Eine Session kann sich auf einen angemeldeten User beziehen, MUSS ABER NICHT. Es gibt genug Webseiten (z.B. bahn.de), bei denen ich anonym eine Menge tun kann und erst dann, wenn es ans Bezahlen geht, ein Login nötig wird. Ein User dagegen muss keine Session haben (wenn er abgemeldet ist), kann aber eine haben. Und er kann auch mehrere haben, wenn er auf mehreren Geräten (oder auch nur in unabhängigen Browserfenstern) unterwegs ist.
Die Beziehung zwischen User und Session ist also 1:n. Die Trennung ist deshalb unbedingt erforderlich, und die Implementierung der Relation muss so erfolgen, dass die User-Id als Fremdschlüssel in der Session-Tabelle gespeichert wird. In dieser Session-Tabelle müsste dann auch noch der Verfalls-Timestamp stehen (user_login greift nicht, wenn es parallele Sessions gibt).
Rolf
sumpsi - posui - clusi