Bazy danych

 0    67 flashcards    pablojakub
download mp3 print play test yourself
 
Question Answer
Jaki operator służy do przepisywania zmiennej w PLPG SQL?
start learning
:=
Jaką klauzulą kończy się tworzenie funkcji w PLPG SQL?
start learning
$$ LANGUAGE PLPGSQL;
Jak wywołać zadeklarowaną funkcję "dodaj" z parametrem cena z tabeli filmu?
start learning
SELECT DODAJ(CENA, 10) FROM FILMY;
Jak usunąć perspektywę?
start learning
DROP VIEW nazwa_perspektywy
Jak dobrać kolejność kolumn w indeksie?
start learning
Najpierw kolumny z WHERE, potem z ORDER BY
Co daje dodanie DESC w indeksie
start learning
Pozwala uniknąć sortowania przy ORDER BY ... DESC.
Czym jest partial index?
start learning
Indeks z warunkiem WHERE, obejmuje tylko część danych.
Kiedy używać partial index?
start learning
Gdy filtr w zapytaniu jest stały (np. status = 'active').
Kiedy używać expression index?
start learning
Gdy w WHERE lub ORDER BY używasz funkcji (np. lower(email)).
Czym jest indeks haszowany?
start learning
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?
start learning
now()
Jak pobrać aktualną datę bez czasu w PostgresQL?
start learning
current_date
Jak wyciągnąć konkretną część daty w postgrę SQL?
start learning
EXTRACT(YEAR from now());
Kiedy indeks ma sens?
start learning
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?
start learning
DROP INDEX nazwa_indeksu
Jak stworzyć perspektywę?
start learning
CREATE VIEW nazwa_perspektywy AS SELECT...
Czy zmiana danych w tabeli będzie odwzorowana w perspektywie niezmaterializowanej?
start learning
Так
Jaką komendę trzeba wywołać, żeby uwzględnić zmiany z tabeli w zmaterializowanej perspektywie.
start learning
REFRESH MATERIALIZED VIEW
Jaka jest reguła przy GROUP BY?
start learning
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?
start learning
where created_at > now() - interval '30 days'
Jak zablokować możliwość insert lub update w perspektywie?
start learning
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.
start learning
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?
start learning
nazwa zmiennej TYP
Co daje polecenie SavePoint?
Pótaí syntáx
start learning
It gives you point in time to which you can roll back transaction.
SAVEPOINT nazwa
Jakie mamy dwa rodzaje rollbacków?
start learning
ROLLBACK; ROLLBACK TO;
Jakie są dwa rodzaje poziomów izolacji w postgreSQL?
start learning
READ COMMITED, SERIALIZABLE
Jak ustawić poziom izolacji w postgreSQL?
start learning
SET TRANSACTION ISOLATION LEVEL
Z jakim problemem wiąże się read committed?
start learning
Non-repeatable read
Kiedy dobrym rozwiązaniem jest zastosowanie poziomu izolacji serializable?
start learning
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?
start learning
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ę?
start learning
Przerywa również transakcje
Jaka jest najważniejsza zasada współbieżności?
start learning
nie polegaj na SELECT do walidacji warunków współbieżnych
Jak w PLPG SQL określić zmienną rekordową?
start learning
pracownik_wiersz pracownicy%ROWTYPE
Wstaw tytuł do zmiennej T z relacji filmy, gdzie ID filmu równa się ID.
Zapytanie jednokrotkowe
start learning
SELECT tytul INTO t FROM filmy WHERE id_filmu=id
Jak przypisać do zmiennej instrukcji Insert, Update lub Delete?
start learning
returning kolumna into zmienna;
Jak rzucić wyjątkiem w PLPG SQL?
start learning
raise exception 'bla bla'
Jaka jest składnia pętli w PLPG SQL?
start learning
FOR i IN 1... ilosc_iteracji LOOP ... END LOOP;
Jaka jest składnia iteracji po kursorze?
Dla cursora implicit
start learning
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
start learning
OPEN c; LOOP FETCH c INTO rec; END LOOP; CLOSE c;
Jak się nazywa wyjątek naruszenia ograniczenia unikalności
start learning
UNIQUE_VIOLATION
Jak się nazywa wyjątek naruszenia ograniczenia Check.
start learning
CHECK_VIOLATION
Wymień cztery rodzaje integralności w bazach danych.
start learning
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?
start learning
c CURSOR FOR SELECT * FROM pracownicy;
Jak wygląda konkatenacja w postgreSQL?
Podaj przykład z błędem
start learning
Operator ||
Na przykład: 'Blad: ' || SQLERRM;
Jak wygląda update w postgres
start learning
update tabela set kolumna = nowa_wartość where...
Co zastosować, aby przerwać pętlę po przetworzeniu wszystkich wierszy kursora?
start learning
EXIT WHEN NOT FOUND;
Jak pobrać dane z kursora c do rekordu p_record
start learning
FETCH c INTO p_record;
Dane znormalizowane to takie które zostały _ na _ i są ___
start learning
podzielone na tabele i połączone przez klucze
Co dodać w insert jeśli kolumna ma typ SERIAL?
start learning
DEFAULT lub jawnie pominąć kolumnę
jaka jest składnia dla substring?
start learning
substring(string FROM start FOR count);
Jaka jest składnia id jako primary key?
start learning
id SERIAL PRIMARY KEY
Na czym polega komenda OUTER w kwerendzie JOINów?
start learning
OUTER zwraca również wartości, gdy nie ma dopasowania w drugiej tabeli
Co robi CROSS JOIN?
start learning
Zwraca iloczyn kartezjański
T/F: Procedura wyzwalacza (funkcja) może mieć argumenty
start learning
False, it cannot have arguments
Co musi zwracać procedura wyzwalacza?
start learning
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
start learning
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
start learning
Prawda, dla pozostałych null
Jak się nazywa zmienna która przechowuje nazwę operacji uruchamiającej wyzwalacz
start learning
TG_OP
Co przechowuje zmienna NEW w wyzwalaczach?
start learning
Krotkę wynikową dla poleceń INSERT/UPDATE dla FOR EACH ROW. W pozostałych NULL
Co przechowuje zmienna OLD w wyzwalaczach?
start learning
krotkę źródłową dla poleceń UPDATE/DELETE dla FOR EACH ROW. W pozostałych NULL
Jak usunąć trigger wyzw na relacji filmy?
start learning
DROP TRIGGER wyzw ON filmy;
Które rekordy (NEW czy OLD) są dostępne w triggerze FOR EACH ROW dla operacji INSERT?
start learning
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
start learning
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
start learning
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?
start learning
RETURN NEW;
Co musisz zwrócić (RETURN), aby trigger BEFORE dla DELETE pozwolił na usunięcie wiersza?
start learning
RETURN OLD;
Co zwraca się na końcu funkcji wyzwalacza typu AFTER i jaki to ma wpływ na dane?
start learning
Zwraca się zazwyczaj NULL (lub NEW/OLD). Nie ma to żadnego wpływu na dane, ponieważ operacja zapisu już się zakończyła.

You must sign in to write a comment