Bazy danych

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

Trebuie să te autentifici pentru a posta un comentariu.