Bazy danych

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

Você deve entrar para postar um comentário.