Korzystanie z schematów jest wyjątkowo korzystne, gdy występują obawy dotyczące bezpieczeństwa.
Jeśli masz wiele aplikacji mających dostęp do bazy danych, możesz nie chcieć dać działowi logistyki dostępu do rekordów zasobów ludzkich. Dlatego wszystkie tabele zasobów ludzkich są umieszczane w hr schemacie i zezwalaj na dostęp tylko dla użytkowników w roli hr.
Po sześciu miesiącach Logistics musi teraz znać wewnętrzne konta wydatków, aby móc wysłać wszystkie palety niebieskich długopisów do właściwych osób. Następnie można utworzyć procedurę składowaną, która jest wykonywana jako użytkownik, który ma uprawnienia do przeglądania schematu hr, a także schemat logistyki. Użytkownicy logistyki nigdy nie muszą wiedzieć, co dzieje się w dziale HR, ale wciąż otrzymują swoje dane.
Schematów można również używać w sposób sugerowany przez cfeduke i używać ich do grupowania rzeczy w przeglądarce obiektów. Jeśli to robisz, po prostu bądź ostrożny, ponieważ możesz w końcu stworzyć Person.Address i Company.Address, kiedy naprawdę potrzebujesz pojedynczego dbo.Address (nie wybijam twojego przykładu, cfeduke, tylko użyję go do zilustrowania, że zarówno tabele adresów mogą być takie same lub mogą być inne i YMMV).
Nie mylić SQL 2000 i SQL 2005, SQL 2000 nie obsługuje prawidłowo schematów, podczas gdy SQL 2005 ma. Rozróżnienie między tymi dwoma jest ważne. –
Jeśli spojrzysz na właściwości tabeli w sql 2000, to mówi, że dbo jest jej właścicielem. Jeśli spojrzysz na właściwości sql 2005, to dbo jest schematem. Jest to prawdopodobnie część mojego nieporozumienia. – Jeremy