Aracılığıyla paylaş


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.

Çalışan tablo

Bölüm tablo

Kişi

Ad ve adreslerini tek tek müşteriler, satıcılar ve çalışanlar.

İlgili kişi tablo

Adres tablo

StateProvince tablo

Üretim

Ürün üretilen ve satılan olarakAdventure Works Cycles.

BillOfMaterials tablo

Ürün tablo

Sipariş tablo

Satın alma

Kim parça ve ürünler satıcılardan satın alınır.

PurchaseOrderDetail tablo

PurchaseOrderHeader tablo

Satıcı tablo

Satış

Müşteriler ve satışla ilgili veriler.

Müşteri tablo

SalesOrderDetail tablo

SalesOrderHeader tablosu

Ş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 noteImportant 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.