Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Schéma, propriétaire des objets dans MS SQL

L'utilisation de schémas est exceptionnellement bénéfique lorsque vous avez des problèmes de sécurité.

Si plusieurs applications accèdent à la base de données, vous ne voudrez peut-être pas accorder au service Logistique l'accès aux enregistrements des ressources humaines. Vous placez donc toutes vos tables de ressources humaines dans un schéma hr et n'en autorisez l'accès qu'aux utilisateurs ayant le rôle hr.

Six mois plus tard, la logistique doit maintenant connaître les comptes de dépenses internes afin de pouvoir envoyer toutes ces palettes de stylos bleus aux bonnes personnes. Vous pouvez ensuite créer une procédure stockée qui s'exécute en tant qu'utilisateur autorisé à afficher le schéma hr ainsi que le schéma logistique. Les utilisateurs de la logistique n'ont jamais besoin de savoir ce qui se passe dans les RH et pourtant ils obtiennent toujours leurs données.

Vous pouvez également utiliser des schémas comme suggéré par cfeduke et les utiliser simplement pour regrouper des éléments dans le navigateur d'objets. Si vous faites cela, soyez prudent car vous pourriez finir par créer Person.Address et Company.Address alors que vous n'avez vraiment besoin que d'un seul dbo.Address (je ne frappe pas votre exemple, cfeduke, je l'utilise simplement pour illustrer que les deux les tables d'adresses peuvent être identiques ou différentes et cela YMMV).