Notes
Notes - notes.io |
- Struktura danych zwiększająca szybkość wykonywania operacji wyszukiwania na tabeli. Są to drzewa lub struktury wykorzystujące funkcje skrótu.
2. Jakie są wady i zalety stosowania indeksów?
- Ponieważ tworzenie i aktualizacja indeksów wymaga dodatkowych operacji na bazie danych, operacje dodawania (INSERT) i aktualizacji (UPDATE) są wolniejsze. Natomiast operacje pobierania danych (SELECT) mogą być szybsze, jeżeli do ich wykonania zostanie wykorzystany indeks.
3. Czy można założyć indeks na kilku kolumnach?
- Można, robi się to analogicznie jak dla jednej kolumny.
4. Jakie znasz funckje agregujące i co to jest?
- SQL udostępnia kilka funkcji agregujących, działających na całej grupie wartości zamiast na pojedynczym polu.
Funkcje tego typu działają na wszystkich wierszach ograniczonych przez klauzulę WHERE lub na każdej z podgrup osobno, jeżeli w zapytaniu jest klauzula GROUP BY.
5. Jakie są rodzaje złączeń?
- Wyróżniamy dwa główne kategorie złączeń: wewnętrzne (inner) oraz zewnętrzne (outer).
INNER JOIN - Jest to domyślny typ złączeń. Wyniki tych zapytań zawierają tylko wiersze, które spełniają warunek złączenia.
OUTER JOIN - W przypadku tego złączenia wiersze niespełniające wszystkich warunków są również dołączone do wyniku, a brakujące dane są uzupełnione wartościami pustymi (null’ami).
6. Co to jest 'bulk insert'?
- Bulk insert jest to alternatywne podejście do dodawania danych do tabeli po jednym wierszu, mające na celu przyspieszenie procesu.
7. Co to jest trigger na bazie danych?
- Trigger, czyli wyzwalacz to procedura wykonywana automatycznie przez bazę danych jako reakcja na pewne zdarzenie, np. dodanie (INSERT), aktualizację (UPDATE) lub usunięcie (DELETE) danych.
8. Jak dodać trigger?
Ogólna postać wyrażenia:
CREATE TRIGGER nazwa [BEFORE | AFTER] [INSERT | UPDATE | DELETE] ON table FOR EACH ROW instruction
Przykład w PostgreSQL:
CREATE FUNCTION UsersUpdateTrigger() RETURNS trigger AS $$
BEGIN
NEW.modification = NOW();
RETURN NEW;
END; $$ LANGUAGE 'plpgsql';
CREATE TRIGGER UsersUpdate BEFORE UPDATE ON Users
FOR EACH ROW
EXECUTE PROCEDURE UsersUpdateTrigger();
Przykładowy trigger wywoływany jest bezpośrednio przed każdą aktualizacją użytkownika i ustawia datę modyfikacji na aktualny czas.
9. Co to jest transakcja?
- Transakcja jest to zbiór operacji wykonywanych na bazie danych, które stanowią jedną spójną całość. Dlatego operacje zawarte w jednej transakcji powinny być wykonane wszystkie lub żadna z nich.
Przykładem operacji wykonywanych w ramach jednej transakcji jest przelew bankowy. Podczas wykonywania jednej transakcji pieniądze są pobierane z jednego konta i przekazywane na drugie. W przypadku niepowodzenia obie operacje muszą zostać wycofane.
10. Co to jest ACID?
- Zbiór właściwości gwarantujących poprawne przetwarzanie transakcji w bazach danych. ACID jest skrótowcem od angielskich słów atomicity, consistency, isolation, durability, czyli niepodzielność, spójność, izolacja, trwałość.
11. Co to jest save point?
- Punkt zapisu jest sposobem implementacji podtransakcji w systemie zarządzania relacyjnymi bazami danych poprzez wskazanie punktu w transakcji, który można „przywrócić do” bez wpływu na pracę wykonaną w transakcji przed utworzeniem punktu zapisu. W jednej transakcji może istnieć wiele punktów zapisu.
12. Co to jest autocommit?
- W kontekście zarządzania danymi autocommit to tryb działania połączenia z bazą danych. Każda indywidualna interakcja z bazą danych przesłana za pośrednictwem połączenia z bazą danych w trybie automatycznego zatwierdzania zostanie wykonana w ramach własnej transakcji, która jest niejawnie zatwierdzona.
13. Jaka jest różnica między TRUNCATE a DELETE?
- Oba usuwają wiersz z tabeli – TRUNCATE wszystkie, DELETE dowolnie wybrane przez użytkownika. Główna i najważniejsza różnica to, że TRUNCATE jest szybszy od DELETE, a zawdzięcza to temu, że nie zapisuje każdej operacji usunięcia w logach. Natomiast DELETE loguje wszystkie zmiany, przez co jest wolniejszy.
14. Co to jest widok bazodanowy i dlaczego warto z niego korzystać?
15. Jaka jest różnica między klauzurą WHERE a HAVING?
- Różnica między klauzulą WHERE a HAVING jest: Klauzula WHERE służy do filtrowania wierszy, działa bez GROUP BY. Klauzula HAVING służy do filtrowania wierszy działa tylko z GROUP BY.
16. Czym różni się operacja UNION od UNION ALL?
- Różnica polega na tym, że w wyniku operacji UNION usunięte zostają duplikaty powstałe po łączeniu zbiorów, a wynikiem operacji UNION ALL będą wszystkie wpisy z obu zbiorów (duplikaty nie zostają usunięte)
17. Na czym polega stronicowanie rekordów?
- Stronicowaniem pamięci nazywamy w komputerowych systemach operacyjnych jeden ze sposobów zarządzania pamięcią, w którym komputer przechowuje i pobiera dane z pamięci dodatkowej do wykorzystania w pamięci podstawowej. Dane pobierane są z pamięci dodatkowej w blokach o jednakowym rozmiarze nazywanych stronami.
18. Co jest szybsze "=" czy "LIKE"?
- Porównanie jest zdecydowanie szybsze od LIKE. Dodanie indeksu może trochę poprawić wydajność wyrażeń wieloznacznych, lecz nadal będą one znacznie wolniejsze od porównania. Dzieje się tak dlatego, że LIKE jest dużo bardziej skomplikowaną operacja i sama złożoność daje narzut czasu wykonania. Często zdarza się, że ktoś użyje ‚%a’ co koszmarnie wpłynie na wydajność.
19. Jak zrobić klucz główny o samoczynnie powiększającym się numerze?
20. Co to jest sekwencja?
- Sekwencja to obiekt istniejący w bazie danych niezależnie od tabeli. Usuwanie rekordów nie wpływa na to jaką wartość zwróci.
21. Wymień Ci znane typy danych w bazie danych:
- Krótki tekst
- Długi tekst
- Liczba
- Duża liczba
- Data i godzina
- Rozszerzona data i godzina
- Waluta
- Autonumerowanie
- Tak/Nie
- Obiekt OLE
- Hiperlink
- Załącznik
- Obliczeniowe
22. Przykładowa zapytania
23. Czym się różnią joiny od siebie?
24. Znajdź wszystkie produkty których nazwa zawiera tekst "Foo", bez niej
25. Czym w bazie danych jest zakleszczenie (LOCK)?
|
Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 12 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team