webForumDet fria alternativet

Design av db

Databaser & SQL

4 svar · 228 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Frågan#1

Jag håller på att skapar ett inloggningssystem.
Frågan är hur jag skall designa databasen.
Är det bäst att man använder sig av två tabeller, en med användarinformation och en med rättigheter som relaterar till användaren.

Själv så tycker jag att det verkar bäst, då rättigheterna skall bestämmas per sida, men vad tycker ni?

Medlem sedan dec. 200012 464 inlägg
#2

Om det är som du säger att du har rättigheter per sida så behöver du tre tabeller.

En tabell för användare
En tabell för sidor
En tabell som innehåller vilka användare som har rättigheter på vilka sidor.

Medlem sedan juli 2001514 inlägg
#3

Jag tänkte mig mer så här:
en användartabell.
en tabell med rättigheter typ:

-------------------------------------------------
| AnvID | sida1 | sida2 | sida3 | sida4 |
-------------------------------------------------
| 1 | true | true | true | true |
-------------------------------------------------
| 2 | true | true | true | true |
-------------------------------------------------

och så vidare.

På förhandsgranskningen så ser jag att tabellen inte blir så snygg men jag hoppas ni förstår hur jag menar.

Medlem sedan dec. 200012 464 inlägg
#4

Inte bra.

Vad händer om du lägger till en sida? Med din design så måste du ändra tabellen och även dina skript.

Medlem sedan juli 20012 450 inlägg
#5

Ett tips kanske kan vara att du skriver högst upp på din sida vilken rättighets-typ det är, kanske från 0-9...
Sen så skriver du i databasen på användarna vilka sidor de har behörighet på från risknivå 0 till 9.
kalle har nivå 5 kommer inte in på en sida med nivå 7 tex...

Eller jag vet inte... finns säkert nått bättre. :)

<%
riskniva=10
if session("riskniva")>=riskniva then
'visa sida
else
'visa inte sida
end if
%>
262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)