sql >> Databasteknik >  >> RDS >> Mysql

Databasdesign:3 typer av användare, separat eller en tabell?

Vad du behöver tänka på när du designar tabeller är inte nödvändigtvis vad de kommer att ha tillgång till och hur det är liknande/olikt, utan snarare hur användarnivåerna själva är lika/olika.

Till exempel, om användartyperna kommer att ha samma attribut (namn, e-post, födelsedatum, etc), så hör de hemma i en tabell tillsammans med en kolumn som anger deras behörighetsnivå.

Detta underlättar också att ändra behörighetsnivåer för en användare, varigenom du kan göra en vanlig Anställd till en Admin, till exempel genom att bara uppdatera posten i användartabellen.

Om leverantörer är en annan typ av objekt med andra attribut än de andra två, kan leverantörer höra hemma i sin egen tabell.

Eller en sak till att tänka på:Du kan använda en users tabell som endast innehåller mycket begränsad information om användare av alla tre typerna, och om typerna har utökade attribut som inte relaterar bra till varandra, kan du lagra dem i andra tabeller med en främmande nyckel tillbaka till de huvudsakliga users bord.



  1. Django + MySQL på Mac OS 10.6.2 Snow Leopard

  2. Hur man beställer 1,2,3 inte 1, 10, 11, 12 i mySQL

  3. mysqli/mysql-frågan inuti funktionen fungerar inte

  4. Kan jag villkorligt upprätthålla en unikhetsbegränsning?