Bazy danych

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

Vous devez vous connecter pour poster un commentaire.