sql >> Database >  >> RDS >> Mysql

Database-ontwerp:3 soorten gebruikers, apart of één tabel?

Waar u rekening mee moet houden bij het ontwerpen van tabellen, is niet per se waartoe ze toegang hebben en hoe dat vergelijkbaar/ongelijk is, maar eerder hoe de gebruikersniveaus zelf vergelijkbaar/verschillend zijn.

Als de gebruikerstypen bijvoorbeeld dezelfde kenmerken hebben (naam, e-mailadres, geboortedatum, enz.), dan horen ze in één tabel samen met een kolom die hun privilegeniveau aangeeft.

Dit vergemakkelijkt ook het wijzigen van privilegeniveaus voor een gebruiker, waarbij u van een gewone werknemer een beheerder kunt maken, bijvoorbeeld door gewoon het record in de gebruikerstabel bij te werken.

Als leveranciers een ander type object zijn met andere kenmerken dan de andere twee, kunnen leveranciers in hun eigen tabel thuishoren.

Of, nog iets om over na te denken:je zou een users . kunnen gebruiken tabel die slechts zeer beperkte informatie bevat over gebruikers van alle drie de typen, en als de typen uitgebreide attributen hebben die niet goed met elkaar in verband staan, kun je die in andere tabellen opslaan met een refererende sleutel terug naar de belangrijkste users tafel.



  1. Wat betekenen geclusterde en niet-geclusterde index eigenlijk?

  2. Voeg alle waarden van een tabel in een andere tabel in SQL in

  3. Toptechnieken om 'datascraping' uit een websitedatabase te voorkomen

  4. Hoe werken PostgreSQL security_barrier views?