Udostępnij za pośrednictwem


Scenarios for Using Views

Widoki są zazwyczaj używane do skoncentrować, uprościć i dostosowywanie percepcji każdy użytkownik ma w bazie danych.Widoki można użyć jako mechanizmy zabezpieczeń, umożliwiając użytkownikom dostęp do danych za pomocą widoku, bez przyznania użytkownikom uprawnień do uzyskania bezpośredniego dostępu do odpowiednich tabel podstawowych widoku.Widoki można udostępnić zgodne ze starszymi wersjami interfejs do tabela, która użyta do istnieje, ale którego schemat uległ zmianie emulacji.Views can also be used when you copy data to and from Microsoft SQL Server to improve performance and to partition data.

Aby ostrość w danych szczegółowych

Widoki pozwalają użytkownikom fokusu na określone dane, które je udziałów i do określonych zadań, dla którego są odpowiedzialni.Dane poufne lub niepotrzebne można pozostawić z widoku.

Na przykład w widoku vBikes w AdventureWorks Przykładowa baza danych będzie pozwoli użytkownikowi wyświetlić nazwy wszystkich rowerów, które są aktualnie w magazynie. W widoku odfiltrowuje wszystkie pola z Product Tabela, z wyjątkiem Name, a następnie zwraca tylko nazwy gotowego rowerów zamiast części rowerowych.

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

Aby uproszczenie manipulowanie danych

Widoki można uprościć, jak użytkownicy pracować z danymi.Można zdefiniować często używanego sprzężenia, planów, UNION kwerendy i SELECT kwerendy jako widoki, aby użytkownicy nie muszą określić warunki i kwalifikacji co czas dodatkowych operacji jest wykonywana na tych danych.Na przykład można utworzyć złożone kwerendy, która jest używana do celów raportowania i wykonuje podkwerend, sprzężenia zewnętrzne i agregacja do pobierania danych z grupy tabel jako widok.W widoku upraszcza dostęp do danych, ponieważ kwerenda podstawowa nie musi być zapisane lub przesłane co czas raport jest generowany, widok jest zamiast tego kwerendy.Aby uzyskać więcej informacji na temat modyfikacji danych zobacz Query Fundamentals.

Chociaż nie złożone kwerendy, wyświetlanie vBikes in the AdventureWorks Przykładowa baza danych umożliwia użytkownikom skupić się na określonych danych bez konieczności tworzenia klauzul łączyć, które są wymagane do tworzenia widoku.

Można również utworzyć wbudowanej funkcji zdefiniowanych przez użytkownika, które logicznie działają jako sparametryzowana widoków lub widoków, które mają parametry w klauzula WHERE warunków wyszukiwania lub innych części kwerendy.Aby uzyskać więcej informacji zobaczInline User-Defined Functions.

Aby dostarczanie zgodność z poprzednimi wersjami

Widoki umożliwiają tworzenie interfejsem zgodne ze starszymi wersjami dla tabela, gdy zmienia się jego schemat.Na przykład aplikacja może mieć odwołanie do nonnormalized tabela, która ma następujące schematu:

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

Aby uniknąć nadmiarowo przechowywania danych w bazie danych, może podjąć decyzję o znormalizować w tabela, dzieląc go na dwie następujące tabele:

Employee2(Name, BirthDate, Salary, DeptId)

Department(DeptId, BuildingName)

Aby udostępnić interfejs zapewniającej zgodność ze starszymi wersjami, która nadal odwołuje się do danych z Employee, można usunąć stare Employee Tabela i zastąpienie go na poniższej ilustracji:

CREATE VIEW Employee AS
SELECT Name, BirthDate, Salary, BuildingName
FROM Employee2 e, Department d
WHERE e.DeptId = d.DeptId

Aplikacje, które są używane do kwerendy Employee Tabela może teraz, aby uzyskać dane z Employee Służy do wyświetlania. Aplikacja nie musi być zmieniane, jeśli tylko odczytuje dane ze Employee. Aplikacje, które aktualizują Employee Czasami również mogą być obsługiwane przez dodanie nowy widok, aby mapować INSERT, DELETE i UPDATE operacji w widoku do tabel, a nie z wyzwalaczami. Aby uzyskać więcej informacji zobaczDesigning INSTEAD OF Triggers.

Dostosowywanie danych

Widoki umożliwiają innym użytkownikom na wyświetlanie danych na różne sposoby, nawet wtedy, gdy korzystają z tych samych danych w tym samym czasie.Jest to szczególnie przydatne, gdy użytkownicy, którzy mają wiele różnych udziałów i poziomach zaawansowania korzystać z tej samej bazy danych.Na przykład można utworzyć widok, która pobiera jedynie dane dla klientów, z którymi zajmuje się zarządcę konta.Widok można określić, które dane mają być pobierane oparte na identyfikatorze logowania Menedżera konta, który korzysta z widoku.

Eksportowanie i importowanie danych

Widoki można eksportować dane do innych aplikacji.Na przykład, możesz użyć Odbiorcy and SalesOrderHeader tabelAdventureWorks bazy danych, aby analizować dane dotyczące sprzedaży przy użyciu Microsoft Program Excel. Aby to zrobić, można utworzyć widok oparty na Odbiorcy and SalesOrderHeader tabel.Następnie można użyć BCP narzędzie do eksportowania danych definicją widoku.Dane również mogą być importowane do niektórych widoków z plików danych przy użyciu BCP narzędzie lub BULK INSERT instrukcja dostarczanie, które wiersze mogą być wstawiane do widoku, za pomocą instrukcja INSERT.Aby uzyskać więcej informacji na temat ograniczeń dotyczących kopiowania danych do widoków Zobacz INSERT. Aby uzyskać więcej informacji na temat używania BCP narzędzia i instrukcja BULK INSERT do kopiowania danych do i z widoku, można znaleźć Bulk Exporting Data from or Bulk Importing Data to a View.

Do Połącz podzielonym na partycje danych we wszystkich serwerów

The Transact-SQL UNION zestaw operator can be used within a view to combine the wyniki of two or more queries from separate tables into a single result zestaw. Jest to użytkownik jako pojedynczej tabela, która jest nazywany widokiem podzielonym na partycje.Na przykład jeśli jedna tabela zawiera dane dotyczące sprzedaży w Waszyngtonie, a drugiej tabeli zawiera dane dotyczące sprzedaży dla Kalifornii, widok można utworzyć z SUMĘ tych tabel.Widok przedstawia dane sprzedaży dla obu regionów.

Aby korzystać z widoków podzielonym na partycje, można utworzyć kilka tabel identyczne, określająca ograniczenie, aby określić zakres danych, które mogą być dodawane do każdej tabela.Widok zostanie utworzona korzystającej z tych tabel bazowych.Kiedy kwerenda jest w widoku, SQL Server Określa, które tabele dotyczy kwerendy i tylko tabele, do których odwołuje się automatycznie. Na przykład jeśli kwerendy określa dane tylko sprzedaży w stanie Waszyngton jest to konieczne, SQL Server odczytuje tylko tabela zawierającą dane sprzedaży w Waszyngtonie, są dostępne nie inne tabele.

Widoki na podzielonym na partycje mogą być oparte na danych z wielu źródeł heterogenicznych, takich jak serwery zdalne tworzenie Federacja serwerów bazy danych.Na przykład aby połączyć dane z różnych zdalnych serwerów, z których każda przechowuje dane dla różnych region danej organizacji, można tworzyć rozproszone kwerendy pobierające dane z każdego urządzenie źródłowe danych i następnie utworzyć widok oparty na tych kwerend rozproszonych.Wszystkie kwerendy odczytać tylko dane z tabel na serwerach zdalnych, które zawiera dane wymagane przez kwerendę, nie są dostępne inne serwery, które odwołują się kwerendami rozproszonymi w widoku.

Gdy dane są partycji na wielu serwerach, kwerendy dostęp tylko część danych może działa szybciej, ponieważ istnieje mniejsza ilość danych do skanowania.Jeśli tabele znajdują się na różnych serwerach lub na komputerze, który korzysta z wielu procesorów, każdej tabela w kwerendzie można również zeskanowane równolegle.Może to poprawić wydajność kwerendy.Ponadto zadań konserwacyjnych, takich jak Odbudowa indeksów lub tworzenie kopii zapasowych tabela, może być wykonywany szybciej.

Korzystając z widokiem podzielonym na partycje, dane nadal pojawia się jako pojedyncza tabela i mogą być kierowane kwerendy jako takie bez konieczności ręcznego odwołać poprawne tabela źródłowa.

Uwaga

Hiszpański (Urugwaj)Aby uzyskać więcej informacji zobaczTabele podzielonym na partycje i indeksów.

Widoki na podzielonym na partycje są można aktualizować, jeśli jest spełniony jeden z następujących warunków:

  • Wyzwalacz Z INSTEAD jest zdefiniowana w widoku z logiką, służący do obsługi instrukcje INSERT, UPDATE i DELETE.

  • Wzroku i instrukcje INSERT, UPDATE i DELETE postępuj zgodnie z regułami określonymi dla widoków podzielonym na partycje mogą być aktualizowane.Aby uzyskać więcej informacji zobaczCreating Partitioned Views.