Bazy danych

 0    67 schede    pablojakub
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda Risposta
Jaki operator służy do przepisywania zmiennej w PLPG SQL?
inizia ad imparare
:=
Jaką klauzulą kończy się tworzenie funkcji w PLPG SQL?
inizia ad imparare
$$ LANGUAGE PLPGSQL;
Jak wywołać zadeklarowaną funkcję "dodaj" z parametrem cena z tabeli filmu?
inizia ad imparare
SELECT DODAJ(CENA, 10) FROM FILMY;
Jak usunąć perspektywę?
inizia ad imparare
DROP VIEW nazwa_perspektywy
Jak dobrać kolejność kolumn w indeksie?
inizia ad imparare
Najpierw kolumny z WHERE, potem z ORDER BY
Co daje dodanie DESC w indeksie
inizia ad imparare
Pozwala uniknąć sortowania przy ORDER BY ... DESC.
Czym jest partial index?
inizia ad imparare
Indeks z warunkiem WHERE, obejmuje tylko część danych.
Kiedy używać partial index?
inizia ad imparare
Gdy filtr w zapytaniu jest stały (np. status = 'active').
Kiedy używać expression index?
inizia ad imparare
Gdy w WHERE lub ORDER BY używasz funkcji (np. lower(email)).
Czym jest indeks haszowany?
inizia ad imparare
CREATE INDEX idx_users_email_hash ON users USING HASH(email);
Korzysta się z niego tylko dla porównań równości.
Jak pobrać aktualną datę i czas w postgreSQL?
inizia ad imparare
now()
Jak pobrać aktualną datę bez czasu w PostgresQL?
inizia ad imparare
current_date
Jak wyciągnąć konkretną część daty w postgrę SQL?
inizia ad imparare
EXTRACT(YEAR from now());
Kiedy indeks ma sens?
inizia ad imparare
Only with high selectivity. For example, if the query you are asking for has 1 to 10 percent of data.
Otherwise you can do sequential scan.
Jak usunąć indeks?
inizia ad imparare
DROP INDEX nazwa_indeksu
Jak stworzyć perspektywę?
inizia ad imparare
CREATE VIEW nazwa_perspektywy AS SELECT...
Czy zmiana danych w tabeli będzie odwzorowana w perspektywie niezmaterializowanej?
inizia ad imparare
Так
Jaką komendę trzeba wywołać, żeby uwzględnić zmiany z tabeli w zmaterializowanej perspektywie.
inizia ad imparare
REFRESH MATERIALIZED VIEW
Jaka jest reguła przy GROUP BY?
inizia ad imparare
Jeśli masz w SELECT coś agregującego (SUM, COUNT, itd.) + zwykłe kolumny → wszystkie zwykłe kolumny MUSZĄ być w GROUP BY.
Jak będzie brzmiał warunek stworzonych użytkowników, czyli kolumna created at, stworzonych w ostatnich 30 dniach?
inizia ad imparare
where created_at > now() - interval '30 days'
Jak zablokować możliwość insert lub update w perspektywie?
inizia ad imparare
Dodać na końcu WITH CHECK OPTION.
Warto dodać, że perspektywy, które mają group by lub join są zablokowane do edycji domyślnie.
Wymień 4 miejsca, w których w funkcji PLPG SQL stawia się średnik.
inizia ad imparare
1. Po każdej instrukcji wewnątrz bloku BEGIN ... END, 2. Po END, 3. Na samym końcu. 4. Po każdej deklaracji zmiennej
Jak zadeklarować zmienną w PLPG SQL?
inizia ad imparare
nazwa zmiennej TYP
Co daje polecenie SavePoint?
Pótaí syntáx
inizia ad imparare
It gives you point in time to which you can roll back transaction.
SAVEPOINT nazwa
Jakie mamy dwa rodzaje rollbacków?
inizia ad imparare
ROLLBACK; ROLLBACK TO;
Jakie są dwa rodzaje poziomów izolacji w postgreSQL?
inizia ad imparare
READ COMMITED, SERIALIZABLE
Jak ustawić poziom izolacji w postgreSQL?
inizia ad imparare
SET TRANSACTION ISOLATION LEVEL
Z jakim problemem wiąże się read committed?
inizia ad imparare
Non-repeatable read
Kiedy dobrym rozwiązaniem jest zastosowanie poziomu izolacji serializable?
inizia ad imparare
Kiedy nie mamy update po ID, ale decyzje na podstawie sum, count lub exists i jest to jakaś krytyczna finansowa transakcja,
Phantom read oznacza że w jednej _ między dwoma _ mamy _ lub _ wierszy
Czy w Read Committed ten problem występuje?
inizia ad imparare
transakcji, selectami, mniej, więcej
Tak ale w postgres jest wyeliminowany
Czy rollback cofa wszystko co było dotychczas i kontynuuje dalej transakcję, czy również przerywa transakcję?
inizia ad imparare
Przerywa również transakcje
Jaka jest najważniejsza zasada współbieżności?
inizia ad imparare
nie polegaj na SELECT do walidacji warunków współbieżnych
Jak w PLPG SQL określić zmienną rekordową?
inizia ad imparare
pracownik_wiersz pracownicy%ROWTYPE
Wstaw tytuł do zmiennej T z relacji filmy, gdzie ID filmu równa się ID.
Zapytanie jednokrotkowe
inizia ad imparare
SELECT tytul INTO t FROM filmy WHERE id_filmu=id
Jak przypisać do zmiennej instrukcji Insert, Update lub Delete?
inizia ad imparare
returning kolumna into zmienna;
Jak rzucić wyjątkiem w PLPG SQL?
inizia ad imparare
raise exception 'bla bla'
Jaka jest składnia pętli w PLPG SQL?
inizia ad imparare
FOR i IN 1... ilosc_iteracji LOOP ... END LOOP;
Jaka jest składnia iteracji po kursorze?
Dla cursora implicit
inizia ad imparare
FOR zmienna IN SELECT val FROM NUMBERS LOOP ... END LOOP;
tylko dla implicit cursora
Jaka jest składnia iteracji po kursorze c?
Dla explicit cursora
inizia ad imparare
OPEN c; LOOP FETCH c INTO rec; END LOOP; CLOSE c;
Jak się nazywa wyjątek naruszenia ograniczenia unikalności
inizia ad imparare
UNIQUE_VIOLATION
Jak się nazywa wyjątek naruszenia ograniczenia Check.
inizia ad imparare
CHECK_VIOLATION
Wymień cztery rodzaje integralności w bazach danych.
inizia ad imparare
encji (PK NULL albo duplikat), referencji, domeny (CHECK, typy), biznesowa
Jaka będzie składnia dla explicit kursora o nazwie C, który pobiera wszystko z tabeli pracownicy?
inizia ad imparare
c CURSOR FOR SELECT * FROM pracownicy;
Jak wygląda konkatenacja w postgreSQL?
Podaj przykład z błędem
inizia ad imparare
Operator ||
Na przykład: 'Blad: ' || SQLERRM;
Jak wygląda update w postgres
inizia ad imparare
update tabela set kolumna = nowa_wartość where...
Co zastosować, aby przerwać pętlę po przetworzeniu wszystkich wierszy kursora?
inizia ad imparare
EXIT WHEN NOT FOUND;
Jak pobrać dane z kursora c do rekordu p_record
inizia ad imparare
FETCH c INTO p_record;
Dane znormalizowane to takie które zostały _ na _ i są ___
inizia ad imparare
podzielone na tabele i połączone przez klucze
Co dodać w insert jeśli kolumna ma typ SERIAL?
inizia ad imparare
DEFAULT lub jawnie pominąć kolumnę
jaka jest składnia dla substring?
inizia ad imparare
substring(string FROM start FOR count);
Jaka jest składnia id jako primary key?
inizia ad imparare
id SERIAL PRIMARY KEY
Na czym polega komenda OUTER w kwerendzie JOINów?
inizia ad imparare
OUTER zwraca również wartości, gdy nie ma dopasowania w drugiej tabeli
Co robi CROSS JOIN?
inizia ad imparare
Zwraca iloczyn kartezjański
T/F: Procedura wyzwalacza (funkcja) może mieć argumenty
inizia ad imparare
False, it cannot have arguments
Co musi zwracać procedura wyzwalacza?
inizia ad imparare
returns TRIGGER as $$
Jak będzie wyglądać składnia wyzwalacza o nazwie "wyzw" procedury proc() wykonywanej na każdym wierszu przed insertem/updatem na relacji filmy
inizia ad imparare
CREATE TRIGGER wyzw BEFORE INSERT OR UPDATE ON filmy FOR EACH ROW EXECUTE proc()
T/F Dla wyzwalaczy FOR EACH ROW funkcja powinna zwrócić krotkę wynikową INSERT/UPDATE
inizia ad imparare
Prawda, dla pozostałych null
Jak się nazywa zmienna która przechowuje nazwę operacji uruchamiającej wyzwalacz
inizia ad imparare
TG_OP
Co przechowuje zmienna NEW w wyzwalaczach?
inizia ad imparare
Krotkę wynikową dla poleceń INSERT/UPDATE dla FOR EACH ROW. W pozostałych NULL
Co przechowuje zmienna OLD w wyzwalaczach?
inizia ad imparare
krotkę źródłową dla poleceń UPDATE/DELETE dla FOR EACH ROW. W pozostałych NULL
Jak usunąć trigger wyzw na relacji filmy?
inizia ad imparare
DROP TRIGGER wyzw ON filmy;
Które rekordy (NEW czy OLD) są dostępne w triggerze FOR EACH ROW dla operacji INSERT?
inizia ad imparare
Dostępny jest tylko NEW. Rekord OLD przyjmuje wartość NULL
Które rekordy (NEW czy OLD) są dostępne w triggerze FOR EACH ROW dla operacji UPDATE
inizia ad imparare
Dostępne są oba rekordy: NEW (stan po zmianie) oraz OLD (stan przed zmianą).
Które rekordy (NEW czy OLD) są dostępne w triggerze FOR EACH ROW dla operacji DELETE
inizia ad imparare
Dostępny jest tylko OLD. Rekord NEW przyjmuje wartość NULL
Co musisz zwrócić (RETURN), aby trigger BEFORE dla INSERT lub UPDATE pozwolił na fizyczny zapis wiersza w tabeli?
inizia ad imparare
RETURN NEW;
Co musisz zwrócić (RETURN), aby trigger BEFORE dla DELETE pozwolił na usunięcie wiersza?
inizia ad imparare
RETURN OLD;
Co zwraca się na końcu funkcji wyzwalacza typu AFTER i jaki to ma wpływ na dane?
inizia ad imparare
Zwraca się zazwyczaj NULL (lub NEW/OLD). Nie ma to żadnego wpływu na dane, ponieważ operacja zapisu już się zakończyła.

Devi essere accedere per pubblicare un commento.