Görünümleri kullanma senaryoları
Görünümler genellikle odaklanmasını kolaylaştırmak ve her kullanıcının değerlendirmesi veritabanının özelleştirmek için kullanılırlar.Görünümler, kullanıcıların erişim veri görünümü üzerinden doğrudan görünümün temel temel tablolar erişim izinleri olan kullanıcıları vermeden vererek, güvenlik mekanizması kullanılabilir.Görünümler, tablo, mevcut kullanılan ancak, şemayı değiştirdi öykünmek için geriye dönük uyumlu arabirim sağlamak için kullanılabilir.Views can also be used when you copy data to and from Microsoft SQL Server to improve performance and to partition data.
Belirli bir veri üzerinde Odaklan için
Görünümler, kullanıcıların odağı sorumlu oldukları belirli görevleri ve bunları ilgilendiren belirli veri sağlar.Gereksiz veya önemli bir veri görünümü dışında bırakılabilir.
Örneğin, bir görünümü vBikes içinde AdventureWorks Örnek veritabanı, stokta bulunan tüm bisiklet adlarını görmek için bir kullanıcı izin. Tüm alanları dışında Görünüm Süzgeçleri Product Tablo dışında Name, tamamlanmış bir bisiklet serisinin bisiklet bileşenleri yerine yalnızca adlarını döndürür.
CREATE VIEW vBikes AS
SELECT DISTINCT p.[Name] FROM Production.Product p
JOIN Production.ProductInventory i ON p.ProductID = i.ProductID
JOIN Production.ProductSubCategory ps
ON p.ProductSubcategoryID = ps.ProductSubCategoryID
JOIN Production.ProductCategory pc
ON (ps.ProductCategoryID = pc.ProductCategoryID
AND pc.Name = N'Bikes')
AND i.Quantity > 0
Veri düzenleme basitleştirme için
Görünümler, kullanıcıların veri ile çalışması basitleştirebilir.Kullanıcılar tüm koşullar ve nitelikleri belirtmek zorunda, sık kullanılan birleştirmeler, tahminler, UNION sorgular ve SELECT sorgularını görünümleri tanımlayabilirsiniz her saat ek bir işlem, bu veriler üzerinde gerçekleştirilir.Örneğin, alt sorgular, dış birleşimler ve bir grup tabloyu veri almak için toplama ve Raporlama amacıyla kullanılan karmaşık bir sorgu, bir görünüm olarak oluşturulabilir.Gönderilen veya yazılma temel alınan sorgu olmadığından, görünümü verilere erişim basitleştirir her saat rapor oluşturulur; görünümü yerine sorgulanır.Manipulating veriler hakkında daha fazla bilgi için bkz: Sorgu temelleri.
Karmaşık bir sorgu rağmen görüntüleme vBikes in the AdventureWorks Örnek veritabanını, kullanıcıların odağı belirli bir veri görünümü üretmek için gereken birleştirmek yan tümcesi oluşturmak zorunda kalmadan sağlar.
Satır içi mantıksal olarak parametreli görünümler veya arama koşulu WHERE tümcesi veya sorgu diğer bölümlerini parametrelere sahip görünümler olarak çalışır ve kullanıcı tanımlı işlevler de oluşturabilirsiniz.Daha fazla bilgi için bkz:Satır içi kullanıcı tanımlı işlevler.
Geri uyumluluk sağlamak için
Görünümler, şema değişiklikleri, bir tablo için geriye dönük uyumlu bir arabirim oluşturmak sağlar.Örneğin, bir uygulama aşağıdaki şema olan nonnormalized tablo başvurulan:
Employee(Name, BirthDate, Salary, Department, BuildingName)
Gereğinden veri, veritabanında depolanması önlemek için , tablo, aşağıdaki iki tabloya bölerek normalize etmek karar:
Employee2(Name, BirthDate, Salary, DeptId)
Department(DeptId, BuildingName)
Yine de verileri başvuran geriye dönük olarak uyumlu bir arabirim sağlamak için Employee, eski bırakmak Employee Tablo ve aşağıdaki görünüm değiştirin:
CREATE VIEW Employee AS
SELECT Name, BirthDate, Salary, BuildingName
FROM Employee2 e, Department d
WHERE e.DeptId = d.DeptId
Kullanılan uygulamalar Sorgulanacak Employee Tablo şimdi kendi verilerini elde etmek için Employee View. Uygulama, yalnızca gelen yazıyorsa değiştirilmesi gerekmez Employee. Güncelleştiren uygulamaları Employee Bazen de temel tablolar için INSERT, DELETE ve UPDATE işlemleri görünümünde eşlemek için yeni bir görünüm için ıNSTEAD OF tetikleri ekleyerek desteklenebilir. Daha fazla bilgi için bkz:Tetikleyicileri ıNSTEAD OF tasarlama.
Veri özelleştirmek için
Görünümler bile, aynı anda aynı verileri kullanırken, verileri farklı şekillerde görmek için farklı kullanıcılara izin verir.Bu, özellikle birçok farklı ilgi alanlarınız ve beceri düzeyleri olan kullanıcıların aynı veritabanına paylaştığınızda yararlıdır.Örneğin, bir görünüm takımı bir hesabın yönetici ilgili müşteriler için yalnızca veri alan oluşturulabilir.Görünümü, görünümü kullanan yönetici hesabının oturum oturum açma kimliği almak için veri alarak belirleyebilirsiniz.
Veri Al ve ver
Görünümler, diğer uygulamalara veri vermek için kullanılabilir.Örneğin, kullanmak istediğiniz Müşteri and SalesOrderHeader tablolarıAdventureWorks Veritabanı kullanarak satış verilerini çözümlemek için Microsoft Excel. Bunu yapmak için , temel bir görünüm oluşturabilirsiniz. Müşteri and SalesOrderHeader tablolar.Daha sonra Kullanımıbcp yardımcı görünüm tarafından tanımlanan veri vermek için.Verileri Ayrıca belirli görünümlerinden veri dosyaları kullanılarak alınabilir Kullanımıbcp yardımcı programını veya satırları sağlayan BULK INSERT deyim INSERT deyim kullanarak görünüme eklenebilir.Görünümlere veri kopyalamak için bu kısıtlamalar hakkında daha fazla bilgi için bkz: INSERT. Nasıl kullanılacağı hakkında daha fazla bilgi için Kullanımıbcp yardımcı programı'nı ve için ve bir görünümde, veri kopyalamak için BULK INSERT deyim'Bkz:Toplu olarak verilirken verilerden veya toplu bir görünüm için veri alma.
Sunucular arasında bölümlendirilmiş veri Birleştir için
The Transact-SQL UNION küme işleç can be used within a view to combine the sonuçlar of two or more queries from separate tables into a single sonuç kümesi. Bu kullanıcı için bölümlendirilmiş görünüm adlı tek bir tablo olarak görünür.Örneğin, bir tablo, Washington için satış verilerini içerir ve başka bir tablo, California'da satış verilerini içeren, bu tabloları bir UNION bir görünümü oluşturulamadı.Görünümü, her iki bölgeler için satış verileri temsil eder.
Bölümlendirilmiş görünüm kullanmak için , her tabloya eklenebilir veri aralık belirlemek için bir kısıtlama belirten birkaç aynı tablo oluşturun.Görünüm bu temel tablolar kullanan sonra oluşturulur.Ne zaman görünümü, sorgulanan SQL Server otomatik olarak tabloları sorgulamadan etkilenen belirler ve bu tabloları başvuruyor. Sorguda, yalnızca satış verilerini belirtir, örneğin, bu durum Washington gereklidir SQL Server yalnızca Washington satış verilerini içeren tabloyu okur; diğer bir tablo erişilir.
Bölümlendirilmiş görünümlerde, bir veritabanı sunucusu Federasyonu oluşturmak için uzak sunucuları gibi birden çok farklı kaynaklardan gelen verileri temel alabilir.Örneğin, farklı uzak sunucularından her biri için farklı bir bölge kuruluşunuzun depolamaz verileri birleştirmek için , oluşturabilir, her bir veri kaynağından veri almak için dağıtılmış sorgular ve sonra bu dağıtılmış sorguları temel alan bir görünüm oluşturun.Tüm sorgular sorgu tarafından istenen verileri içeren uzak sunuculardaki tablolar yalnızca verileri okuyabilir; görünüm dağıtılmış sorgular tarafından başvuruda bulunulan diğer sunuculara erişim.
Birden çok sunucu arasında veri bölümü, taranacak daha az veri olduğundan sorguları yalnızca bir bölümü veri erişimini daha hızlı çalıştırabilirsiniz.tablo S farklı sunucularda ya da birden çok işlemciyi kullanan bir bilgisayarda bulunuyorsa her tablo katılan paralel sorgu de taranabilir.Bu, sorgu performansını iyileştirebilir.Ayrıca, dizinleri yeniden oluþturma veya bir tabloyu, yedekleme gibi bakım görevlerini daha hızlı çalışabilir.
Bölümlenmiş görünümün kullanarak veri yine de tek bir tablo olarak görünür ve bu şekilde el ile doğru temel tabloda başvurmak zorunda kalmadan sorgulanabilir.
Not
Bir sunucuya yerel bölümleme veri tercih edilen bölümlendirilmiş bir tablo ile yöntemidir.Daha fazla bilgi için bkz:Bölümlenmiş tablolar ve dizinler.
Bölümlendirilmiş görünümlerde, aşağıdaki koşullardan biri yerine, güncelleştirilebilir şunlardır:
Bir INSTEAD OF tetikleyicisi görünümünde INSERT, UPDATE ve DELETE deyimlerini desteklemek için gereken mantık ile tanımlanır.
Görünüm hem de INSERT, UPDATE ve DELETE deyimlerini güncelleştirilebilir bölümlendirilmiş görünümlerde tanımlı kuralları izleyin.Daha fazla bilgi için bkz:Bölümlenmiş görünümler oluşturma.