Brugen af skemaer er usædvanlig fordelagtig, når du har sikkerhedsproblemer.
Hvis du har flere applikationer, der får adgang til databasen, vil du måske ikke give logistikafdelingen adgang til Human Resources-poster. Så du placerer alle dine HR-tabeller i et hr-skema og giver kun adgang til det for brugere i hr-rollen.
Seks måneder senere har Logistics nu brug for at kende interne udgiftskonti, så de kan sende alle disse paletter af blå kuglepenne til de korrekte lokationer. Du kan derefter oprette en lagret procedure, der udføres som en bruger, der har tilladelse til at se hr-skemaet såvel som logistikskemaet. Logistikbrugerne behøver aldrig at vide, hvad der foregår i HR, og alligevel får de stadig deres data.
Du kan også bruge skemaer som cfeduke har foreslået og bare bruge dem til at gruppere ting i objektbrowseren. Hvis du gør dette, skal du bare være forsigtig, fordi du kan ende med at oprette Person.Address og Company.Address, når du virkelig bare har brug for en enkelt dbo.Address (jeg slår ikke dit eksempel, cfeduke, bare bruge det til at illustrere, at både adressetabeller kan være de samme, eller de kan være forskellige, og det YMMV).