question |
réponse |
Czym jest relacyjna baza danych? commencer à apprendre
|
|
Rodzaj bazy który pozwala przechowywać powiązane ze sobą elementy danych
|
|
|
commencer à apprendre
|
|
relacyjne, obiektowe, rozproszone
|
|
|
Na jakim porcie nasłuchuje Mysql/Mariadb, a na jakim oracle commencer à apprendre
|
|
|
|
|
commencer à apprendre
|
|
1: Atomowość, tabela przechowuje w sposób atomowy, każde pole jedna informacje
|
|
|
commencer à apprendre
|
|
Dobre projektowanie, każda tabela przechowuje dane konretnej klasy obiektów
|
|
|
commencer à apprendre
|
|
Kolumna informacyjna nie należąca do klucza nie zależy od innej kolumny informacyjnej
|
|
|
commencer à apprendre
|
|
nadmiarowość, występowanie bezużytecznych danych
|
|
|
commencer à apprendre
|
|
Informacja zmieniona w pewnych krotkach a w innych nie. Powodem często literówka
|
|
|
commencer à apprendre
|
|
usuwanie części informacji powoduje usunięcie innej informacji, której nie chcieliśmy tracić
|
|
|
Akcje na referencjach PK-FK commencer à apprendre
|
|
on update (delete) cascade: zmiana klucza głównego zmienia klucze obce, restrict: odmowa, set null: klucze obce na null, jeśli PK na null, no action: nic
|
|
|
commencer à apprendre
|
|
Unikalna wartość identyfikująca każdy rekrod tabeli
|
|
|
commencer à apprendre
|
|
do definiowania relacji między tabelami. musi być połączony z kluczem głównym
|
|
|
commencer à apprendre
|
|
char, varchar, blob, int, double, float, date, time, timestamp, enum
|
|
|
commencer à apprendre
|
|
ustala które kolumny muszą być unikalne (nie mogą się powtarzać)
|
|
|
commencer à apprendre
|
|
zezwala tylko na określone wartości w kolumnie
|
|
|
Do czego służy kolumna generated virtual commencer à apprendre
|
|
sposób przechowywania danych bez wysyłania ich przez insert lub update, kolumna której wartość jest automatycznie obliczana z innych tabel
|
|
|
Czym jest auto inkremetacja commencer à apprendre
|
|
powoduje zwiększanie się wartości w tabeli, najczęściej klucza głównego o1
|
|
|
commencer à apprendre
|
|
metoda generująca wartości według zadanego algorytmu
|
|
|
commencer à apprendre
|
|
Structured Query Language, DML - > data manipulation language
|
|
|
commencer à apprendre
|
|
Data definition language (create, drop, alter)
|
|
|
commencer à apprendre
|
|
data manipulation language (insert, update, delete)
|
|
|
commencer à apprendre
|
|
Data control language (grant, revoke, deny)
|
|
|
commencer à apprendre
|
|
Transaction Control Language (savepoint, rollback, commit)
|
|
|
commencer à apprendre
|
|
data query language (select)
|
|
|
commencer à apprendre
|
|
innoDB (obsługa transakcji, blokady na poziomie wiersza), MyISAM (szybkie wyszukiwanie danych), CSV (w plikach CSV), Federated (zdalne łączenie z bazą, rozproszone bazy)
|
|
|
commencer à apprendre
|
|
obie kolumny w warunku łączącym są tej samej nazwy
|
|
|
commencer à apprendre
|
|
zwraca wiersze po lewej/prawej plus uzupełnienie z drugiej tabeli
|
|
|
commencer à apprendre
|
|
zwraca wiersze z obu tabel
|
|
|
commencer à apprendre
|
|
powiązanie każdy z każdym
|
|
|
commencer à apprendre
|
|
wartość binarna, umożliwia dodanie zdjęcia/pliku
|
|
|
Czym jest podzapytanie i gdzie można go umieszczać? commencer à apprendre
|
|
zapytania umieszczone w innych zapytaniach. można umieszczać w innych podzapytaniach
|
|
|
commencer à apprendre
|
|
|
|
|
5 funkcji na ciągach tekstowych commencer à apprendre
|
|
concat (łączy), hex(wartość 16), instr(szuka ciągu w ciągu txt), lower(duże na małe), left(wycina z lewej) trim(usuwa spacje z obu stron)
|
|
|
5 funkcji na danych liczbowych commencer à apprendre
|
|
abs(wartość bezwzględna), sin, cos, tan, cot(funkcje trygonometryczne), sqrt(pierwiastek), pow(potęga)
|
|
|
commencer à apprendre
|
|
curdate, curtime(aktualna data, czas), date(z podanego ciągu zwraca datę), datediff (różnica dat), now(teraz data i czas)
|
|
|
commencer à apprendre
|
|
count, max, min, sum, avg
|
|
|
Do czego służy group by i czym jest having? commencer à apprendre
|
|
having - filtruje to co otrzymaliśmy, group by - grupowanie po wspólnych wartościach
|
|
|
commencer à apprendre
|
|
używany w klauzuli WHERE do znalezienia określonego wzorca w kolumnie
|
|
|
Znaki _ i %, jak maskujemy znaki specjalne? commencer à apprendre
|
|
_: reprezentuje jeden znak, %: oznacza 0 lub więcej znaków, maskujemy backshlashem (\)
|
|
|
Operatory union, intersect except commencer à apprendre
|
|
union: wynik wielu zapytań w jedną, intersect: wspólne rekordy, except: wszystkie z wyjątkiem tego umieszczonego po tym operatorze. taka sama ilość kolumn w wybiakch,
|
|
|
commencer à apprendre
|
|
zbiór operacji na danych która musi wykonać się w całości albo wcale
|
|
|
commencer à apprendre
|
|
A- Atomicity (wykonuje się cała albo wcale), C- Consistency (nie traci spójności (wyniki się nie powtarzają np)), I- isolation (określa widoczność zmian w innych transakcjach), D- durability (po zatwierdzeniu nie znikają)
|
|
|
commencer à apprendre
|
|
read uncommitted, read committed, repeatable read, serializable
|
|
|
commencer à apprendre
|
|
zmiany innych transakcji są widoczne na bieżąco w tej transakcji, nawet bez ich zatwierdzenia commitem
|
|
|
commencer à apprendre
|
|
zmiany z innych transakcji są widoczne dopiero po ich zatwierdzeniu commitem
|
|
|
commencer à apprendre
|
|
zmiany z innych transakcji nie są widoczne nawet po ich zatwierdzeniu commitem (default InnoDB)
|
|
|
commencer à apprendre
|
|
jak repeatable read, ale blokuje wiersze odczytywane przez pierwsza transakcje
|
|
|
commencer à apprendre
|
|
wywoływana na końcu Selecta, blokuje. rekordy wywołane selectem do zakończenia transakcji
|
|
|
klauzula lock in share mode commencer à apprendre
|
|
na końcu select, działa jak for update ale pozwala innym na odczyt zablokowanej informacji
|
|
|
commencer à apprendre
|
|
commit, rollback, savepoint, set transaction
|
|
|
commencer à apprendre
|
|
pozwala przywrócić dane poleceniem rollback do utworzonego wcześniej savepointa
|
|
|
commencer à apprendre
|
|
rodzaj zrzutu, zapisu danych aby móc je później przywrócić po awarii
|
|
|
commencer à apprendre
|
|
automatyczne zatwierdzanie transakcji po każdym zapytaniu. domyślnie 1- włączone
|
|
|
commencer à apprendre
|
|
zestaw sekwencji do wykonania, może zwracać wartości wprowadzone przez zmienne, mogą w niej występować polecenia SQL DML, TCL, DDL, DQL
|
|
|
Czym jest funkcja i czym różni się od procedury commencer à apprendre
|
|
sekwencja poleceń, funkcja zwraca wartość danego typu, nie umożliwia wyświetlenia wyników zapytań SQL
|
|
|
commencer à apprendre
|
|
służą np do zliczania długości znaków w kolumnie, CREATE FUNCTION AGGREGATE
|
|
|
czym jest partycjonowanie danych? commencer à apprendre
|
|
fizyczne podzielenie tabeli na części (w inne miejsca na dysku np)
|
|
|
cel partycjonowania danych commencer à apprendre
|
|
przyspieszenie zapytań, trzymanie danych historycznych na innych dyskach
|
|
|
commencer à apprendre
|
|
range(uwzględnienie przedziałów), list(z uwzglednieniem liczb na liście), hash (równomierne rozmieszczenie po wartościach liczbowych)
|
|
|
czym jest wersjonowanie tabel jak uzyskujemy dostęp? commencer à apprendre
|
|
tworzenie historii zmian, FOR SYSTEM_TIME
|
|
|
commencer à apprendre
|
|
aby mieć dostęp do usuniętych danych
|
|
|
commencer à apprendre
|
|
rozszerzenie języka SQL, używany do pętli, if, funkcji, procedur ito
|
|
|
commencer à apprendre
|
|
rozszerzenie języka o język proceduralny do wykorzystania w procedurach składowych
|
|
|
commencer à apprendre
|
|
służy do automatycznego wykonania poleceń po zajściu danego zdarzenia. CREATE TRIGGER nazwa ON nazwatabeli FOR EACH ROW korzysta z NEW i OLD
|
|
|
commencer à apprendre
|
|
przechowują kod SQL, użytkownik ustala kiedy mają się wykonać. nie można blokować tabel, max 2038-01-01, nie można utworzyć przez trigger
|
|
|
commencer à apprendre
|
|
Common Table Expression, upraszcza i poprawia czytelność kodu. tworzenie zapytań rekurencyjnych, wykrywa zapętlenia i można ustawić ilość cykli
|
|
|
commencer à apprendre
|
|
zwraca z ostatniego zapytania liczbę znalezionych rekordów
|
|
|
commencer à apprendre
|
|
liczba rekordów zmienionych lub dodanych
|
|
|
commencer à apprendre
|
|
zwraca unikany identyfikator użytkownika jako string
|
|
|
commencer à apprendre
|
|
Id aktualnie zalogowanego użytkownika
|
|
|
commencer à apprendre
|
|
zwraca id ostatniego inserta (są one autonumerowane)
|
|
|
commencer à apprendre
|
|
używany przy przeglądaniu baz tekstowych
|
|
|
commencer à apprendre
|
|
in natural language mode, in boolean mode, with query expansion
|
|
|
commencer à apprendre
|
|
Brak operatorów specjalnych, słowa kluczowe oddzielone przecinkami
|
|
|
commencer à apprendre
|
|
możliwość użycia operatorów
|
|
|
commencer à apprendre
|
|
rozszerzenie in natural language mode, przeszukuje normalnie, potem z najlepszych jeszcze raz
|
|
|