Die Verwendung von Schemas ist besonders vorteilhaft, wenn Sie Sicherheitsbedenken haben.
Wenn mehrere Anwendungen auf die Datenbank zugreifen, möchten Sie möglicherweise der Logistikabteilung keinen Zugriff auf Personalakten gewähren. Sie legen also alle Ihre HR-Tabellen in ein hr-Schema und erlauben nur den Zugriff für Benutzer in der HR-Rolle.
Sechs Monate später muss die Logistik nun interne Spesenkonten kennen, damit sie alle diese Paletten blauer Stifte an die richtigen Personen senden können. Sie können dann eine gespeicherte Prozedur erstellen, die als Benutzer mit der Berechtigung zum Anzeigen des hr-Schemas und des Logistikschemas ausgeführt wird. Die Logistics-Benutzer müssen nie wissen, was im HR vor sich geht, und dennoch erhalten sie ihre Daten.
Sie können Schemas auch wie von cfeduke vorgeschlagen verwenden und einfach dazu verwenden, Dinge im Objektbrowser zu gruppieren. Wenn Sie dies tun, seien Sie nur vorsichtig, weil Sie am Ende Person.Address und Company.Address erstellen können, wenn Sie wirklich nur eine einzige dbo.Address benötigen (ich klopfe nicht an Ihr Beispiel, cfeduke, benutze es nur, um beides zu illustrieren Adresstabellen können gleich sein oder sie könnten anders sein und YMMV).
Verwechseln Sie SQL 2000 und SQL 2005 nicht, SQL 2000 unterstützt Schemas nicht ordnungsgemäß, SQL 2005 jedoch. Die Unterscheidung zwischen den beiden ist wichtig. –
Wenn Sie die Eigenschaften einer Tabelle in SQL 2000 betrachten, heißt es, dbo ist der Eigentümer. Wenn Sie sich die Eigenschaften von sql 2005 anschauen, heißt es, dbo ist das Schema. Dies ist wahrscheinlich Teil meiner Verwirrung – Jeremy