Bazy w dresie #2.23 | Kwerendy (teoria)
📂 MySQL
Podział danych pomiędzy wiele powiązanych tabel pozwala wyeliminować nadmiarowość, ale jednocześnie utrudnia szybkie pobieranie informacji. Aby np. uzyskać nazwisko reżysera oraz listę filmów, które wyreżyserował, konieczne jest odczytanie danych z co najmniej dwóch powiązanych tabel. Podobne trudności dotyczą modyfikacji danych — niektórych operacji nie da się wykonać bezpośrednio z poziomu tabeli, np. nie można usunąć rekordu z tabeli podrzędnej, jeśli jest on używany w tabeli nadrzędnej.
Rozwiązaniem tego problemu są kwerendy, czyli obiekty bazy danych, które automatyzują pobieranie i modyfikowanie danych przechowywanych w tabelach. W Access kwerendy zapisują instrukcje języka SQL, który jest podstawowym narzędziem pracy w systemach zarządzania relacyjnymi bazami danych.
Rodzaje kwerend
W zależności od operacji wykonywanej przez kwerendę język SQL udostępnia różne typy instrukcji, a Access odpowiednio różne typy kwerend:
- Kwerendy wybierające – bazują na instrukcji
SELECTi umożliwiają pobieranie oraz przekształcanie danych. - Kwerendy krzyżowe – wykorzystują instrukcję
SELECT … PIVOToraz funkcjęTRANSFORMcharakterystyczną dla Access. - Kwerendy tworzące tabele – tworzone za pomocą instrukcji
SELECT INTO, służą do generowania nowych tabel z danych pobranych z innych tabel. - Kwerendy aktualizujące – odpowiadają instrukcji
UPDATEi umożliwiają modyfikowanie istniejących danych. - Kwerendy dołączające – wykorzystują instrukcję
INSERT INTO, dodają nowe rekordy do wybranej tabeli. - Kwerendy usuwające – bazują na instrukcji
DELETEi usuwają określone dane z tabel.
Kwerendy wybierające dane
Najczęściej stosowanym typem kwerend są kwerendy wybierające, bazujące na instrukcji SQL SELECT. Służą do pobierania danych z tabel, prezentowania ich użytkownikowi, filtrowania, sortowania oraz wyliczania wartości pochodnych (np. wyznaczania podatku na podstawie ceny).
Kwerenda wybierająca może pobierać tylko te kolumny, które użytkownika interesują w danym momencie. Przykładowo, jeśli chcemy znaleźć informację o tym, kto wypożyczył film o określonym tytule, nie potrzebujemy całej tabeli filmów – wystarczą jedynie tytuł filmu oraz nazwisko osoby, która go wypożyczyła.