Jaki jest widok i typy widoków w SQL?

Najlepsza odpowiedź

Wyzwania, przed którymi stają administratorzy i użytkownicy baz danych, to pisanie złożonych zapytań SQL i zabezpieczanie dostępu do bazy danych. Użycie proxy nad oryginalną tabelą pomaga w uproszczeniu takich zapytań. Zdarzają się również przypadki, w których administrator chce ograniczyć bezpośredni dostęp do bazy danych. W obu tych przypadkach można użyć widoków.

Co to jest Widok?

Wirtualna tabela, która jest kompilowana w czasie wykonywania, nazywana jest widokiem. SQL ma specjalną wersję tabel, która jest widokiem. . Widok jest po prostu instrukcją SQL, a powiązane z nim dane nie są fizycznie przechowywane w widoku, ale są przechowywane w jego podstawowych tabelach. Zawiera wszystkie wiersze i kolumny tabeli lub tylko kilka wybranych wierszy i kolumn, jeśli istnieje potrzeba ograniczenia dostępu. W zależności od napisanego zapytania SQL użytego do utworzenia widoku, można go utworzyć z jednej lub wielu tabel.

Widoki służą do strukturyzowania danych w taki sposób, aby użytkownicy mogli je znaleźć w sposób naturalny, uprościć złożone zapytania, ograniczyć dostęp do danych i podsumowuj dane z kilku tabel w celu tworzenia raportów.

Istnieją różne aspekty związane z zarządzaniem widokami, takie jak:

Usuwanie widoku: Za pomocą instrukcji „drop view” można usunąć istniejący widok.

Tworzenie widoku: widoki można tworzyć za pomocą instrukcji „utwórz widok”. Widok jest definiowany przez zapytanie, które odwołuje się do zmaterializowanych widoków, tabel lub innych widoków.

Widoki listy: Wszystkie widoki w kodzie SQL Listę bazy danych serwera można wyświetlić, wysyłając zapytanie do widoku katalogu systemowego.

Zmiana nazwy widoku: można zmieniać nazwy widoków i należy upewnić się, że wszystkie obiekty odwołujące się do starej nazwy widoku powinny teraz mieć nową nazwę.

Typy widoków w SQL

Widoki zdefiniowane przez system

Widoki zdefiniowane przez system to predefiniowane widoki, które już istnieją w bazie danych SQL Server, takie jak Tempdb, Master i temp. Każda z baz danych ma własne właściwości i funkcje. Widoki zdefiniowane przez system zostaną automatycznie dołączone do wszystkich baz danych zdefiniowanych przez użytkownika. A te dostarczają informacji o bazie danych, tabelach i wszystkich właściwościach bazy danych i tabel. Istnieją trzy typy widoków zdefiniowanych przez system, schemat informacji, widok katalogu i widok dynamicznego zarządzania.

Widok katalogu

Widoki katalogu zapewniają skuteczny sposób uzyskiwania, prezentowania i przekształcania niestandardowych form informacji i służą do zwracania informacji używanych przez serwer SQL. Nie zawierają żadnych informacji o planach tworzenia kopii zapasowych, replikacji, konserwacji itp. Te widoki służą do uzyskiwania dostępu do metadanych baz danych, a nazwy i nazwy kolumn mają charakter opisowy, pomagając użytkownikowi zapytać o to, czego się oczekuje.

Dynamiczny widok zarządzania

Administrator może uzyskać informacje o stanie serwera, aby zdiagnozować problemy, monitorować kondycję instancji serwera i dostroić wydajność za pomocą tych widoków. Dynamiczny widok zarządzania o zasięgu serwera jest przechowywany tylko w głównej bazie danych, podczas gdy dynamiczny widok zarządzania o zakresie bazy danych jest przechowywany w każdej bazie danych.

Schemat informacyjny

Na serwerze SQL jest dwadzieścia różnych widoków schematów. Służą do wyświetlania fizycznych informacji z bazy danych, takich jak tabele, ograniczenia, kolumny i widoki. Ograniczenie jest stosowane w określonej kolumnie w tabeli, aby zapewnić przestrzeganie określonych reguł danych dla tej kolumny.

Widoki zdefiniowane przez użytkownika

Widok złożony

Te widoki mogą zawierać więcej niż jedną tabelę podstawową lub mogą być zbudowane na więcej niż jednej tabeli podstawowej i zawierają klauzulę grupa po klauzuli, warunki łączenia, kolejność po klauzuli. Można tu używać funkcji grupowych, które zawierają grupy danych. Złożone widoki nie zawsze mogą być używane do wykonywania operacji DML, ale w przeciwieństwie do prostych widoków, złożone widoki mogą zawierać grupowanie według, pseudokolumny, takie jak rownum, odrębne, kolumny zdefiniowane przez wyrażenia, a także wstawianie, usuwanie i aktualizowanie nie może być stosowane bezpośrednio w złożonych widokach. / p>

Widok prosty

Te widoki mogą zawierać tylko jedną tabelę podstawową lub mogą być tworzone tylko z jednej tabeli. Funkcje grupowe, takie jak MAX (), COUNT () itp., Nie mogą być tutaj używane i nie zawierają grup danych. Simple View nie zawiera grupowania według, pseudokolumny, takiej jak rownum, odrębne, kolumny zdefiniowane przez wyrażenia. Widok prosty nie obejmuje również kolumn NOT NULL z tabel podstawowych.

Podsumowując, widok w języku SQL jest zdefiniowany i szczegółowo wyjaśniony, a także zdefiniowano różne sposoby zarządzania widokami.Różne typy widoków w języku SQL, takie jak widoki zdefiniowane przez system i widoki zdefiniowane przez użytkownika, zostały szczegółowo opisane wraz z różnymi podtypami w ramach każdego typu.

Odpowiedź

Na potrzeby ta odpowiedź Najpierw zdefiniuję widok, a następnie wymienię dwa różne typy widoków. Zauważ, że prawdopodobnie jest ich więcej, ale są to dwa, które często widziałem i używam.

Po pierwsze widok to fragment sql, który dostarcza zestaw danych. „Wybierz * z x” może być widokiem, ponieważ zawiera zestaw danych.

W większości systemów RDBMS, z którymi miałem do czynienia, istnieją dwa główne typy widoków, które możesz napotkać. Pierwszy to klasyczny widok zdefiniowany przez system RDBMS. Używasz składni tworzenia widoku, aby utworzyć widok, który może być używany jako alias. Oznacza to, że możesz napisać złożony fragment sql i przypisać go do widoku, a następnie wywołać ten widok z innego fragmentu sql po jego nazwie, zamiast wpisywać cały widok.

Drugi i mniej powszechny, ale nie mniej ważny typ widoku nazywa się widokiem wbudowanym. Widok wbudowany to miejsce, w którym instrukcja SELECT jest zagnieżdżona w innej instrukcji Select. To jest twoja instrukcja Select w środku, która dostarcza zestaw danych do twojej zewnętrznej instrukcji Select. Na przykład

select * from (select columna, columnb, columnc from table a)

Część w nawiasach to widok wbudowany. Zwykle są używane do agregowania danych, zanim dotrą do instrukcji outter sql, która dalej agreguje dane.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *