Aracılığıyla paylaş


Görünümleri kullanma senaryoları

Görünümler genellikle odaklanmak basitleştirmek ve özünde her kullanıcının veritabanını özelleştirmek için kullanılır.Görünümler kullanıcıların erişim veri görünümü aracılığıyla doğrudan görünümün temel temel tablolara erişim izinleri olan kullanıcıları vermeden vererek güvenlik mekanizması kullanılabilir.Görünümler, tablo, mevcut kullanılan ancak, şema değişti ö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.

Özel veri üzerinde odaklanmak için

Görünümler, sorumlu oldukları belirli görevler ve onları ilgilendiren özel veri üzerinde kullanıcıların odağı sağlar.Gereksiz ya da gizli veri veri görünümü dışında bırakılabilir.

Örneğin, bir görünümü vBikes , AdventureWorks2008R2 örnek veritabanı şu anda içinde bulunduğunuz tüm bisiklet adları Bkz: kullanıcı izin verirhisse senedi. Görünüm filtre tüm alanları dışında Product Tablo dışında Nameve bitmiş bisiklet 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 işleme kolaylaştırmak için

Görünümler, kullanıcıların verileri ile çalışması basitleştirebilirsiniz.Kullanıcıların ek bir işlem bu veriler üzerinde gerçekleştirilen her saat tüm nitelikleri ve koşulları belirtmek zorunda, sık kullanılan birleştirmeler, tahminler, birleşim sorguları ve select sorguları görünümleri tanımlayabilirsiniz.Örneğin, alt sorgular, dış birleşimler ve bir grup tablo verileri almak için toplama gerçekleştiren ve raporlama amacıyla kullanılan karmaşık bir sorgu, bir görünüm olarak oluşturulabilir.Temel alınan sorgu yazılmış veya rapor oluşturulur her saat gönderilen olmadığından görünümü veri erişimi basitleştirir; görünümü yerine sorgulanır.Veri işleme hakkında daha fazla bilgi için bkz: Sorgu Fundamentals.

Karmaşık bir sorgu rağmen görüntülemek vBikes de AdventureWorks2008R2 örnek veritabanı belirli verileri üretmek için gereken JOIN yan tümceleri oluşturmak kalmadan kullanıcılar odaklanmak olanak sağlargörün.

Satır içi kullanıcı tanımlı işlevler, mantıksal olarak parametreli görünümler veya parametreleri where yan tümce tümce tümcesini bir arama koşulu veya sorgunun diğer bölümleri olan görünümleri olarak çalışan da oluşturabilirsiniz.Daha fazla bilgi için bkz: Satır içi kullanıcı tanımlı işlevler.

Geriye doğru uyumluluk sağlamak için

Görünümler, şemasını değiştirdiğinde bir geriye dönük uyumlu arabirim için bir tablo oluşturmak olanak verir.Örneğin, bir uygulama, aşağıdaki şema olan nonnormalized tablo başvurulan:

Employee(Name, BirthDate, Salary, Department, BuildingName)

Gereğinden veritabanındaki verileri depolamak önlemek için aşağıdaki iki tabloya bölerek tablo normalize karar:

Employee2(Name, BirthDate, Salary, DeptId)

Department(DeptId, BuildingName)

Hala verilerden başvuran geriye dönük olarak uyumlu arabirim sunabilmek için Employee, eski bırak 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ı sorgulamak Employee Tablo için şimdi kendi verilerinden elde etmek için Employee görünümü.Uygulama, yalnızca okur, değiştirilecek olan Employee.Güncelleştirme uygulamaları Employee bazen de desteklenen yeni görünümü görünümünde temel alınan tablolar INSERT, delete ve update işlemleri eşleştirmek için INSTEAD OF tetikleyicisini ekleyerekDaha fazla bilgi için bkz: INSTEAD OF tetikleyicileri tasarlama.

Veri özelleştirmek için

Görünümler bile bunlar aynı veriyi aynı anda kullanırken, verileri farklı şekillerde farklı görmesine izin saat.Pek çok farklı ilgi ve beceri düzeylerine sahip kullanıcılar aynı veritabanını paylaşır bu özellikle yararlıdır.Örneğin, bir görünümü, yalnızca veriler alır Hesap Yöneticisi ile kim ilgilenir müşteriler için oluşturulabilir.Görünümü almak için veri görünümü kullanan Hesap Yöneticisi oturum açma kimliği temel alarak belirleyebilirsiniz.

Veri alma ve verme

Görünümler, başka uygulamalar için veri vermek için kullanılabilir.Örneğin, kullanmak istediğiniz Müşteri ve SalesOrderHeader tablolar AdventureWorks2008R2 veritabanı kullanarak satış verilerini analiz etmek için Microsoft Excel.Bunu yapmak için temel bir görünüm oluşturabilirsiniz. Müşteri ve SalesOrderHeader tablolar.Daha sonra bcp görünümü tarafından tanımlanan verilerini vermek için yardımcı program.Veri da alınır içine belirli görünümlerinden veri dosyalarını kullanarak bcp yardımcı programını veya bulk INSERT deyim satır INSERT deyim kullanarak görünüme eklenebilir sağlar.Görünümlere veri kopyalamak için kısıtlamalar hakkında daha fazla bilgi için bkz: INSERT (Transact-SQL).Nasıl kullanılacağı hakkında daha fazla bilgi için bcp yardımcı programını ve bulk INSERT deyim, bir görünüm, gelen ve giden verileri kopyalamak için bkz: Toplu bir görünüme verilerden veya toplu alma veri verme.

Sunucular arasında bölümlenmiş veri birleştirmek için

The Transact-SQL UNION set operator can be used within a view to combine the results of two or more queries from separate tables into a single result set.Bu kullanıcı için bölümlendirilmiş görünüm adı verilen tek bir tablo görüntülenir.Örneğin, bir tablo satış verileri için Washington ve başka bir tablo California için satış verilerini içerir, bu tabloların BİRLİĞİ bir görünümü oluşturulamadı.Görünümü hem bölgeler için satış verileri temsil eder.

Bölümlenmiş görünümleri kullanmak için birkaç özdeş oluşturduğunuz tablos, her eklenen veri aralık belirlemek için bir kısıtlama belirterek tablo.Görünüm, daha sonra bu temel tabloları kullanan oluşturulur.Görünüm sorgulandığında, SQL Server otomatik olarak belirler hangi tabloları sorgu etkilenir ve başvurular yalnızca o tablolar.Washington Eyaleti yasalarına gereklidir, yalnızca satış verilerini bir sorgu belirtir, örneğin, SQL Server yalnızca tablo; Washington satış verilerini içeren okur diğer tablolar erişilir.

Bölümlenmiş görünümler veritabanı sunucularının bir federasyon oluşturmak için Uzak sunucuları gibi birden çok heterojen kaynaklardan gelen verileri temel alabilir.Örneğin, uzak sunuculardan farklı her biri kuruluşunuzun farklı bir bölgeye ilişkin verileri depolayan veri birleştirmek için her veri veri almak dağıtılmış sorgular oluşturabilirsiniz kaynakve bu dağıtılmış sorguları temel alan bir görünüm oluşturun.Sorgular sorgu tarafından istenen verileri içeren uzak sunucularda tablolar yalnızca verileri okuyabilir; dağıtılmış sorgular içinde görünüm tarafından başvurulan diğer sunuculara erişilir.

Birden çok sunucu arasında veri bölümleme, taramak için daha az veri olduğundan verilerin yalnızca bir kesir erişme sorguları daha hızlı çalışabilir.Tablolar, farklı sunucularda bulunan veya birden çok işlemci kullanan bir bilgisayarda, her sorguda kullanılan tablo da paralel olarak taranabilir.Bu sorgu performansı iyileştirebilir.Dizinler yeniden oluşturuluyor veya yedekleme gibi Ayrıca, bakım görevlerini, bir tablo, daha hızlı bir şekilde yürütebilirsiniz.

Bölümlenmiş bir görünüm kullanarak veri yine de tek bir temel alınan tablo olarak görünür ve bu şekilde el ile doğru temel alınan temel alınan tablo başvurmak zorunda kalmadan sorgulanabilir.

Not

Tercih edilen yöntem veri bölümleme için bir sunucuya yerel bölümlenmiş tabloları olur.Daha fazla bilgi için bkz: Bölümlenmiş tablolar ve dizinler.

Aşağıdaki durumlardan herhangi biri karşılanıyorsa, güncellenebilir bölümlenmiş görünümler şunlardır:

  • Bir INSTEAD of tetikleyicisi görünümünde INSERT, update ve delete deyimlerini desteklemek için mantığı ile tanımlanır.

  • Güncellenebilir bölümlenmiş görünümler için tanımlanan kurallara, hem görünümü hem de INSERT, update ve delete deyimlerini izleyin.Daha fazla bilgi için bkz: Bölümlenmiş görünümler oluşturma.