PostgreSQL - Widoki i Windows

Spisie treści
PostgreSQL to jeden z silników bazodanowych, który najlepiej spełnia standardy ANSI-SQLOprócz tego idzie dalej, oferując nowe funkcje i konstruktory, od prostych skrótów do wykonywania zapytań, po nieoczekiwane elementy, które pozwalają przełamać granice tego, czym może być instrukcja SQL.
Wyświetlenia
Jak większość relacyjnych baz danych, PostgreSQL ma wsparcie dla wyświetlenia, jednak w przeciwieństwie do SQL Server i MySQL, widoki w PostgreSQL nie są automatycznie aktualizowane bez użycia wyzwalaczy tego typu ZAMIAST, w ten sposób za pomocą TRIGGERÓW dostosowuje się i jest bliższy standardowi.
Zaletą tego jest to, że pozwala nam zachować większą kontrolę nad widokami i sposobem aktualizacji tabel dostarczających informacji.
Zobaczmy na poniższym obrazku przykład, jak utworzyć widok w PostgreSQL wykorzystując jego szczególne cechy:

Wyjaśnijmy ponumerowane punkty przykładowego obrazu, abyśmy mogli bliżej przyjrzeć się tematowi.
  • Obsługuj usuwanie z instrukcją! KASOWAĆ, usuwa tylko rekord, który odpowiada temu samemu kluczowi, co stary rekord.
  • Obsługuje wstawki danych.
  • Aktualizuj tylko wtedy, gdy przynajmniej jedna z kolumn tabeli fakty Został zmieniony.
  • Zarządzaj aktualizacjami, użyj STAREGO lub starego rekordu, aby określić, które rekordy należy usunąć lub zaktualizować danymi z NOWEGO lub nowego rekordu.
Wtedy możemy stworzyć nasze Cyngiel w następujący sposób, aby móc połączyć go z już zbudowanym widokiem.
 UTWÓRZ TRIGGER trip_01_vw_facts_ins_upd_del ZAMIAST WSTAWIĆ LUB AKTUALIZOWAĆ LUB USUNĄĆ W census.vw_facts DLA KAŻDEGO WIERSZU WYKONAJ PROCEDURĘ census.trig_vw_facts_ins_upd_del (); 

W ten sposób, gdy dokonamy jakiegokolwiek wstawienia, modyfikacji lub usunięcia w naszym widoku, tabele, które go tworzą, otrzymają dane, zobaczmy przykładowe zapytanie:
UPDATE census.vw_facts SET rok = 2012 WHERE rok = 2011 AND tract_id = '25027761200';

Co dałoby nam pomyślny wynik: Zapytanie zwrócone pomyślnie: dotyczy 51 wierszy, czas wykonania 21 ms.
Okno
ten Okna są standardową funkcją ANSI-SQL obsługiwaną przez PostgreSQL, pozwala nam to zobaczyć i wykorzystać dane, które są poza bieżącym zapisem, bez tych funkcji musielibyśmy to zrobić ŁĄCZY Tak Zapytania podrzędne aby móc pozyskiwać dane i zasoby w znacznie bardziej złożony sposób.
Poniższy przykład składa się z uzyskania wartości przeciętny kolumny w tabeli, zobaczmy przykład na poniższym obrazku:

Jak widzieliśmy z funkcją AVG pozwala nam to uzyskać wartości wszystkich pól bez konieczności wykonywania JOINS i funkcji NAD pozwala nam zamienić to w funkcję Okno. Tak więc, gdy PostgreSQL zobaczy funkcję tego typu, przeskanuje wszystkie wiersze, które są zgodne z klauzulą ​​WHERE, aby uzyskać wynik.
Na tym zakończyliśmy samouczek, dzięki któremu mogliśmy dowiedzieć się trochę więcej, jak to zrobić PostgreSQL obsługuje standardowe funkcje ANSI-SQL, a także sprawdza, jak dodaje własny styl, aby zwiększyć użyteczność tych funkcji.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave