T-SQL SQL Server Tworzenie nowego widoku CREATE VIEW

Dzisiaj zajmiemy się poleceniem CreateView za pomocą którego tworzymy widoki. Widok to wirtualna tabela utworzona za pomocą zapytania mogąca zawierać dane z jednej lub wielu tabel. Z widoków możemy skorzystać w wielu sytuacjach oto kilka z nich:

  • Często korzystamy ze danych z wielu tabel (czynność powtarza się często i cyklicznie). W celu uproszczenia i przyspieszenia pracy z bazą danych możemy stworzyć sobie widok, który będzie „wirtualną tabelą” początkową do dalszej obróbki.
  • Wielu użytkowników korzysta z jednakowego początkowego zestawu danych (połączonych danych z wielu kolumn) ale później inaczej je obrabia.
  • Widok jest idealnym rozwiązaniem kiedy nie chcemy nadawać użytkownikom dostępu do tabel bazy, wtedy tworzymy potrzebny dla użytkownika widok i gotowe, użytkownicy mają dostęp do potrzebnego im widoku ale nie mogą nic zmodyfikować w tabelach źródłowych.

Składnia polecenia CREATEVIEW

 

Przykłady zastosowania polecenia CREATEVIEW

Przykład 1.
Utwórz widok o nazwie osoby na podstawie jednej tabeli Person.Person z bazy AdventureWorks 2008 R2.

Po uruchomieniu naszego zapytania przyciskiem F5 w oknie Messages  powinniśmy uzyskać komunikat Command(s) completed successfully. Teraz efekt naszego zapytania (utworzenia widoku), możemy także zobaczyć  w gałęzi Views w bazie AdventureWorks2008R2, powinien tak pojawić się nowy widok o nazwie Osoby (zrzut poniżej).

t-sql sql server create view

Jeżeli chcemy zobaczyć co zwraca nam nasz widok klikamy na nim prawym przyciskiem myszy (dalej PPM) i wybieramy opcję Select Top 1000 Rows.

t-sql sql server create view

I widzimy, że to jest dokładnie ten sam zestaw danych co w tabeli Person.Person.

t-sql sql server create view

Przykład 2.
Teraz stworzymy widok z danych z kilku tabel. Wyświetlimy dane dotyczące osób w bazie z ich adresami, adresami e-mail, telefonami (wraz z typem). W tym celu musimy złączyć dane z kilku tabel a mianowicie: Person.Person, Person.BusinessEntityAddress, Person.Address,  Person.EmailAddress, Person.PersonPhone, Person.PhoneNumberType. Ale nie chcemy wyświetlać wszystkich danych z powyższych kolumn. W naszym widoku ograniczymy się tylko do kolumn: ID osoby, Imię, Drugie Imię, Nazwisko, Miasto, Adres, E-mail, Telefon, Typ Telefonu.

Poniżej kod który utworzy nasz widok który nazwiemy OsobaInformacje

Analogicznie jak w przykładzie 1, po uruchomieniu naszego zapytania przyciskiem F5 w oknie Messages  powinniśmy uzyskać komunikat Command(s) completed successfully. W gałęzi Views w bazie AdventureWorks2008R2, powinien tak pojawić się nowy widok o nazwie OsobyInformacje (zrzut poniżej).

t-sql sql server create view

Jeżeli chcemy zobaczyć co zwraca nam nasz widok klikamy na nim prawym przyciskiem myszy (dalej PPM) i wybieramy opcję Select Top 1000 Rows. Poniżej efekt naszego zapytania.

t-sql sql server create view

 Teraz możemy korzystać z naszych widoków jak ze zwykłych tabel.

Zapraszam do kolejnych wpisów.


  SQL tutorial. AdventureWorks exercises SQL SERVER