AdventureWorks şemalarda
,AdventureWorksörnek OLTP veritabanı, tablolar, görünümler ve yordamlar gibi nesneleri içeren şema.Şemalar, bu nesneler erişilebilir şeklini değiştirir.Bu konuda şemaları kısa bir genel bakış sağlar, şema içinde nasıl kullanıldığını açıklarAdventureWorksveritabanı ve yöntemleri ve nesneleri içerdiği erişmek için seçenekler sağlar. şemalar.
AdventureWorks şemalarda
InSQL Server 2005ve daha sonra şemalar kullanıcılardan ayrıdırlar: Veritabanı sorumluları, şemalar ve nesneleri bulunan şemalar. kullanıcılar kendi Daha fazla bilgi için bkz:Kullanıcı şeması ayırma.
Aşağıdaki tablo kullanılan şema açıklarAdventureWorksve temsilcisi tablolarda her şema.
Şema |
İlgili nesneler içeriyor |
Örnekler |
---|---|---|
İnsanKaynakları |
ÇalışanlarıAdventure Works Cycles. |
|
Kişi |
Ad ve adreslerini tek tek müşteriler, satıcılar ve çalışanlar. |
|
Üretim |
Ürün üretilen ve satılan olarakAdventure Works Cycles. |
|
Satın alma |
Kim parça ve ürünler satıcılardan satın alınır. |
|
Satış |
Müşteriler ve satışla ilgili veriler. |
Şemalar içinde bulunan nesneler erişme
Kullanıcıların her zaman bir varsayılan şema vardır.Varsayılan şemayı, DML veya DDL deyiminde belirtilen nitelenmemiş nesnelerinin adlarını çözümler, sunucu tarafından Aranan şemadır.Bu nedenle, şema adı, başvuru örneği, deyim için varsayılan şema içerdiği nesneleri belirtilmesi gerekmez * FROMtable_namebaşarıyla yürütürtable_nameolan varsayılan şema.
Not
Kullanıcı oluşturulur, bir varsayılan şema belirtilmezse varsayılan şemayı isedbo.Daha fazla bilgi için bkz:USER (Transact-SQL) CREATE.
Erişmek için bir şemada varsayılan şema, en azından, farklı iki parçalı tanıtıcı nesnesi ( schema_name**.**object_name) belirtilmelidir.Bu kapsamlı şema nesneleri başvuran tüm DDL ve DML tablolar için geçerlidir.
Aşağıdaki örnek göstermek için iki SELECT deyimleri kullanan dışında varsayılan şema nesnelerine başvurma.Varsayılan şemayı kabul değilHumanResources, çünkü ilk deyim başarısızDepartmentTablo değil içerdiği varsayılan şema.İkinci deyim, nesnenin içerdiği şema belirtir, çünkü başarılı olur.
USE AdventureWorks;
GO
--This statement fails.
SELECT Name, GroupName
FROM Department;
GO
--This statement succeeds.
SELECT Name, GroupName
FROM HumanResources.Department;
GO
Şemalar, AdventureWorks alternatifleri
SQL Server çevrimiçi kitapları ve ek örnekler ile yüklenebilir kod örnekleriSQL Serverbelirttiğiniz en az iki parçalı tanıtıcı tüm şema kapsamlı nesneler.Bu örnekler ne olursa olsun, kullanıcı varsayılan şemayı başarıyla çalıştırılabilir.
Users who want to use AdventureWorks for their own samples and testing may want an alternative to specifying the two-part identifier.SQL Server provides scripts in the SQLServerEngineSamples.msi that provide two alternatives to using the schemas in AdventureWorks.
Nesneleri DBO şemaya aktarma
Her şema kapsamlı nesne, AlterSchemaToDbo.sql komut aktarırAdventureWorksiçindbo schema.Bu komut dosyasını sonra çalıştırırsanız, bir varsayılan şema kullanıcılardbo iki parçalı tanıtıcı AdventureWorksnesneleri DDL ve DML deyimlerini. başvururken kullanmak zorunda değilsiniz
Important Note: |
---|
Sunulan örnekler ve kod örnekleriSQL Serverçalışmayacak sonra AlterSchemaToDbo.sql sürece şema adları belirtilen kodunda ya da değiştirilir ile yürütüldüğündedbo veya çıkarıldı. |
Komut AlterSchemaFromDbo.sql aktarımı, ya da verir, nesneler arasındadbo AlterSchemaToDbo.sql script. çalıştırmadan önce önceki şemalar şemasına
Eşanlamlılar'ı kullanma
Eşanlamlısı kapsamlı şema nesnesine verilen başka bir adıdır.DDL ve DML deyimlerini temel nesnenin yerine eş belirtildi.
Komut CreateSynonymsDbo.sql eşanlamlısı her şema kapsamlı nesne oluştururAdventureWorksEş adı temel nesne adı ile aynıdır, ancak kullanandbo schema.Örneğin, eş içinHumanResources.Department is dbo.Department.Bu, aşağıdaki avantajları vardır:
Ifdbo varsayılan şema, bir iki parça tanımlayıcı DDL ve DML deyimlerini bu nesneleri belirlemek için gerekli değildir.
Sunulan örnekler ve kod örnekleriSQL Serverdeğişiklik olmadan kullanılabilir
Komut dosyası DropSynonymsDbo.sql CreateSynonymsDbo.sql komut dosyası tarafından oluşturulan eşanlamlı bırakır.Eşanlamlı hakkında daha fazla bilgi için bkz:Eşanlamlılar'ı kullanma.
- Bu komut dosyalarını yükleme hakkında daha fazla bilgi için bkz:Readme_AdventureWorksScripts.