Projektowanie i wdrażanie widoków

Przed utworzeniem widoku należy wziąć pod uwagę następujące wskazówki:

  • Widoki można utworzyć tylko w bieżącej bazie danych.Jednak tabele i widoki odwołuje się nowy widok może istnieć w innych bazach danych lub nawet inne serwery, jeśli widok jest definiowany przy użyciu kwerendami rozproszonymi.

  • Nazwy widoku należy przestrzegać reguł dla identyfikatorów i musi być unikatowy dla każdego schematu.Ponadto nazwa nie musi być taka sama, jak wszystkie tabele zawarte przez schemat.

  • Można tworzyć widoki w innych widokach.Microsoft SQL Server allows views to be nested.Zagnieżdżanie nie może przekraczać 32 poziomy.Rzeczywiste limit zagnieżdżania widoków może być niższa w zależności od złożoności widoku i dostępnej pamięci.

  • Nie można skojarzyć reguły lub definicje domyślne widoki.

  • Po wyzwalacze nie można skojarzyć z widokami tylko zamiast wyzwalaczy.

  • Definiowanie widoku kwerendy nie może zawierać klauzule komputerowe lub COMPUTE BY lub słowa kluczowego INTO.

  • Definiowanie widoku kwerendy nie może zawierać klauzula ORDER BY, chyba że istnieje również klauzulę TOP na liście wybierz instrukcja SELECT.

  • Definiowanie widoku kwerendy nie może zawierać OPCJĘ klauzula określającą wskazówki dotyczącej kwerendy.

  • Definiowanie widoku kwerendy nie może zawierać TABLESAMPLE klauzula.

  • Nie można zdefiniować definicji indeksu pełnotekstowego w widokach.

  • Nie można utworzyć widoki tymczasowy i nie można utworzyć widoki na tabelach tymczasowych.

  • Widoki, tabele lub funkcje uczestniczących w widoku utworzone za pomocą klauzula SCHEMABINDING nie można go usunąć, chyba że widok jest usunięte lub zmienione tak, aby go nie ma już powiązanie schematu.Ponadto instrukcji ALTER TABLE na tabele uczestniczące w widokach mających powiązanie schematu zakończy się niepowodzeniem, jeśli instrukcje te mają wpływ na definicję widoku.

  • Jeśli widok nie jest tworzony z klauzula SCHEMABINDING sp_refreshview powinien być uruchamiany, gdy zostaną wprowadzone zmiany do obiektów podstawowych widoku, które wpływają na definicję widoku.W przeciwnym razie widok może dawać nieoczekiwane wyniki, gdy dotyczy kwerenda.

  • Nie można wystawić kwerend widoku pełnego tekstu, chociaż definicja widoku może zawierać zapytanie pełnotekstowe, jeśli kwerenda odwołuje się do tabela, który został skonfigurowany dla indeksowania pełnotekstowego.

  • Należy określić nazwę każdej kolumna w widoku, jeśli:

    • Żadna z kolumn w widoku są uzyskiwane z arytmetycznych wyrażenie, wbudowanych funkcja lub stała.

    • Dwie lub więcej kolumn w widoku inaczej miałoby takie same nazwy (zwykle ponieważ definicja widoku zawiera łączyć i kolumny z dwóch różnych tabel mają taką samą nazwę).

    • Chcesz nadać nazwę, z którego pochodzi kolumna dowolnej kolumny w widoku.(Można również zmienić kolumny w widoku.) Kolumna widoku dziedziczy typ danych kolumny, z którego pochodzi, czy zmienić jego nazwę.

      Ostrzeżenie

      Ta reguła nie ma zastosowania, gdy widok jest oparty na kwerendy zawierające łączyć zewnętrzne, ponieważ może zmienić kolumny nie dopuszczającej wartości null, umożliwienie im.

      Otherwise, you do not need to specify column names when creating the view.SQL Server gives the columns of the view the same names and data types as the columns to which the query defining the view refers.Lista wyboru może być lista pełne lub częściowe kolumna nazw tabel bazowych.

Aby utworzyć widok musi być przyznane uprawnienia do zrobić właściciel bazy danych i, jeśli widok jest tworzony z klauzula SCHEMABINDING, trzeba mieć odpowiednie uprawnienia na wszystkich tabel lub widoków w definicji widoku.

Domyślnie jako wiersze są dodawane lub aktualizowane, korzystając z widoku znikają one z zakres widok podczas już objęte są kryteria definiowania widoku kwerendy.Na przykład kwerendy można utworzyć, Definiowanie widoku, który pobiera wszystkie wiersze z tabela, w której wynagrodzenie pracownika jest mniejsza niż 30 000 zł.Wynagrodzenie pracowników wzrasta do 32 000 $, a następnie kwerendy w widoku nie będzie już wyświetlany konkretnego pracownika, ponieważ jego płacy nie jest zgodna z kryteriami zestaw przez widok.Jednak klauzula z opcji Sprawdź zmusza wszystkie instrukcje modyfikacji danych wykonywane w celu przestrzegania kryteriów zestaw w instrukcja SELECT, Definiowanie widoku.Jeśli używasz tej klauzula wierszy nie mogą być modyfikowane w sposób powodujący ich znikają z widoku.Anulowane zmianach spowodowałoby to niepożądane i wyświetlany jest błąd.

Aby utworzyć widok