20 najczęściej zadawanych pytań i odpowiedzi dotyczących wywiadu SQL [2022]

Photo of author

By maciekx

Structured Query Language, czyli SQL, to powszechnie stosowany język programowania, który umożliwia administratorom baz danych i analitykom danych formułowanie zapytań do baz danych. Jego wszechstronność sprawia, że jest on kluczowy w rozwoju aplikacji internetowych, oprogramowania i innych platform.

SQL umożliwia zarówno dostęp do danych, jak i ich modyfikację. Pozwala na tworzenie oraz edytowanie struktur tabel i kolumn, a także na zadawanie zapytań o konkretne informacje za pomocą odpowiednich poleceń.

Ten artykuł stanowi kompendium wiedzy, które może okazać się pomocne w przygotowaniu do rozmowy kwalifikacyjnej z zakresu SQL. Niezależnie od tego, czy aspirujesz na stanowisko inżyniera danych, analityka danych, czy administratora baz danych, przedstawione tutaj pytania są typowe dla tego typu rekrutacji.

Jakie są podstawowe polecenia SQL?

Do kluczowych poleceń SQL należą:

  • SELECT – służy do pobierania danych z bazy danych.
  • CREATE TABLE – umożliwia tworzenie nowych tabel.
  • DELETE – pozwala na usuwanie danych z bazy danych.
  • INSERT INTO – służy do wprowadzania nowych rekordów do bazy danych.
  • ALTER DATABASE – umożliwia modyfikację istniejącej bazy danych.
  • CREATE DATABASE – pozwala na stworzenie nowej bazy danych.
  • UPDATE – wykorzystywane jest do aktualizacji danych w bazie.

Jakie są cztery główne instrukcje SQL?

Instrukcje SQL można podzielić na następujące kategorie:

  • Instrukcje języka definicji danych (DDL)
  • Instrukcje języka manipulacji danymi (DML)
  • Instrukcje języka kontroli danych (DCL)
  • Instrukcje języka kontroli transakcji (TCL)

Jakie jest znaczenie klucza podstawowego w SQL?

Klucz podstawowy, składający się z jednej lub więcej kolumn, pełni funkcję unikatowego identyfikatora każdego wiersza w tabeli. Jest fundamentalnym elementem baz danych SQL, zapewniając niepowtarzalność rekordów. W obrębie jednej tabeli może istnieć tylko jeden klucz podstawowy.

Jakie są typy danych w SQL?

Typ danych definiuje charakter przechowywanych informacji, określając, czy są to dane numeryczne, tekstowe, binarne, finansowe, czy też data i czas.

W SQL typy danych klasyfikuje się na:

  • Dokładne dane liczbowe
  • Przybliżone dane liczbowe
  • Dane typu data i godzina
  • Ciągi znaków
  • Ciągi znaków Unicode
  • Ciągi binarne

Gdzie są przechowywane nazwy użytkowników i hasła w SQL Server?

W SQL Server, nazwy użytkowników i hasła są przechowywane w tabelach systemowych: odpowiednio w `sys.server_principals` oraz `sys.sql_logins`. Hasła nie są zapisywane w postaci jawnego tekstu, co zapewnia bezpieczeństwo danych.

Co to jest wstrzykiwanie SQL?

Wstrzykiwanie SQL to popularna technika cyberataków, polegająca na manipulacji bazą danych aplikacji w celu uzyskania nieautoryzowanego dostępu do danych. Może to prowadzić do poważnych konsekwencji, takich jak straty finansowe lub wyciek poufnych informacji. Kluczowym elementem ochrony przed tego typu atakami jest zapobieganie im.

Co to jest wyzwalacz w SQL i jakie są jego rodzaje?

Wyzwalacz to specjalny rodzaj procedury składowanej, która jest automatycznie aktywowana w odpowiedzi na określone zdarzenie w bazie danych. Wyzwalacze służą do weryfikacji danych przed lub po ich modyfikacji za pomocą instrukcji DDL i DML.

Wyróżniamy trzy główne typy wyzwalaczy: LOGON, DDL i DML.

  • Wyzwalacze LOGON aktywują się, gdy użytkownik próbuje się zalogować.
  • Wyzwalacze DDL są uruchamiane przy każdym wykonaniu polecenia DDL, takiego jak CREATE, ALTER lub DROP.
  • Wyzwalacze DML reagują na operacje modyfikacji danych, takie jak INSERT, UPDATE i DELETE.

Jak rozróżnić funkcje jedno- i wielowierszowe w SQL?

Funkcje jednowierszowe działają na pojedynczych wierszach tabeli, zwracając jeden wynik dla każdego wiersza. Do tego typu funkcji zalicza się np. operacje na długości i wielkości liter.

Funkcje wielowierszowe, zwane też grupowymi, przetwarzają wiele wierszy naraz, zwracając pojedynczy wynik.

Co to jest normalizacja bazy danych i jakie są jej cztery podstawowe formy?

Normalizacja bazy danych to proces organizowania danych w taki sposób, aby zminimalizować redundancję i przyspieszyć dostęp do informacji. Polega ona na odpowiednim projektowaniu struktury tabel i kolumn w celu zapewnienia spójności danych i przestrzegania zasad integralności.

Cztery podstawowe formy normalizacji to:

  • Pierwsza forma normalna (1NF)
  • Druga forma normalna (2NF)
  • Trzecia forma normalna (3NF)
  • Postać normalna Boyce’a-Codda (BCNF), znana też jako czwarta forma normalna (4NF)

Czym są indeksy i ograniczenia w SQL?

Indeksy są kluczowym elementem w SQL, umożliwiającym szybkie wyszukiwanie danych w rozległych bazach. Ułatwiają one również egzekwowanie ograniczeń, czyli reguł definiujących sposób, w jaki baza danych ma się zachowywać w określonych sytuacjach.

Indeksy zwiększają wydajność zapytań, przyspieszając wyszukiwanie informacji w tabelach. Ponadto wpływają na czytelność struktury danych.

Ograniczenia służą do określania typów danych, które mogą być przechowywane w tabeli, gwarantując tym samym ich dokładność i wiarygodność. W przypadku naruszenia ograniczenia, operacja na danych zostanie zablokowana.

Jakie są najczęściej używane ograniczenia SQL?

Najczęściej stosowane ograniczenia SQL to:

  • CREATE INDEX: umożliwia tworzenie indeksów dla tabel, co przyspiesza pobieranie danych.
  • KLUCZ OBCY: umożliwia powiązanie tabel o wspólnych atrybutach.
  • DOMYŚLNE: określa domyślną wartość dla kolumny, gdy wartość nie jest podana.
  • UNIQUE: zapewnia, że każda wartość w kolumnie jest unikalna.
  • KLUCZ PODSTAWOWY: identyfikuje unikalny wiersz w tabeli.
  • NOT NULL: gwarantuje, że kolumna nie może przyjmować wartości NULL.
  • SPRAWDŹ: zapewnia, że wartości w kolumnie spełniają określone kryteria.

Czy NULL jest równe 0 w SQL?

W SQL wartość NULL oznacza brak wartości lub wartość nieznaną. Nie jest ona równoznaczna ani z wartością zero (0), ani ze spacją (’ ’). Nie można porównywać wartości NULL z żadną inną wartością za pomocą standardowych operatorów porównania, ponieważ nie można stwierdzić, czy jest równa lub nierówna innej wartości.

Jak zapobiegać atakom typu SQL injection?

Skuteczna ochrona przed atakami SQL injection wymaga ciągłego monitoringu i testów penetracyjnych, a także stosowania takich metod jak walidacja i sanityzacja danych wejściowych, użycie przygotowanych instrukcji i sparametryzowanych zapytań SQL. Dodatkowo, wykorzystanie zapory ogniowej może pomóc w ochronie bazy danych SQL.

Co to jest dynamiczny SQL i kiedy można go używać?

Dynamiczny SQL to funkcjonalność pozwalająca na modyfikowanie zapytań w czasie rzeczywistym w zależności od różnych kryteriów, takich jak aktualna data, godzina, lub inne zmienne.

Dynamiczny SQL umożliwia elastyczne dostosowanie zapytań do bieżących potrzeb i może być stosowany podczas tworzenia nowych aplikacji, ulepszania istniejących baz danych, czy implementacji hurtowni danych.

Jakie są różne typy kluczy w SQL?

Klucz podstawowy: Jest to pole, lub zbiór pól, które w unikalny sposób identyfikują każdy wiersz w tabeli. Klucz podstawowy nie może zawierać wartości NULL. W jednej tabeli może istnieć tylko jeden klucz podstawowy, składający się z jednej lub więcej kolumn.

Klucz obcy: To pole lub zbiór pól w tabeli, które odwołują się do klucza podstawowego w innej tabeli. Tabele zawierające klucze podstawowe są określane jako nadrzędne, natomiast te z kluczami obcymi jako podrzędne.

Superklucz: To klucz lub zbiór kluczy, które umożliwiają identyfikację rekordów w tabeli. Superklucz może zawierać jeden lub więcej atrybutów, nie wszystkie z nich muszą być potrzebne do zidentyfikowania rekordu.

Klucz kandydujący: To podzbiór superkluczy, które mogą być użyte do identyfikacji rekordów w bazie danych na podstawie jednego lub większej liczby atrybutów. Wszystkie atrybuty klucza kandydującego są niezbędne do identyfikacji rekordu.

Klucz złożony: To kombinacja co najmniej dwóch kolumn, które są wykorzystywane do identyfikacji wierszy w tabeli. Klucz złożony jest kluczem podstawowym wzbogaconym o dodatkowy atrybut lub kolumnę.

Jakie są typy indeksów w SQL?

Typy indeksów w SQL obejmują:

  • Indeks skrótu
  • Indeks nieklastrowany, zoptymalizowany pod kątem pamięci
  • Indeks klastrowy
  • Indeks nieklastrowany
  • Indeks unikalny
  • Indeks magazynu kolumn
  • Indeks z dołączonymi kolumnami
  • Indeks na wyliczonych kolumnach
  • Indeks filtrowany
  • Indeks przestrzenny
  • Indeks XML
  • Indeks pełnotekstowy

Co to jest pula buforów i jakie są jej zalety?

W SQL pula buforów, zwana też buforem pamięci podręcznej, to obszar pamięci wykorzystywany do przechowywania stron danych. Rozmiar puli buforów, który można zdefiniować podczas konfiguracji instancji SQL Server, determinuje liczbę stron, które mogą być przechowywane.

Zalety puli buforów to:

  • Usprawnienia operacji wejścia/wyjścia (I/O)
  • Zwiększenie przepustowości transakcji
  • Redukcja opóźnień w operacjach I/O
  • Poprawa wydajności odczytu

Co to jest zależność w SQL i jakie są jej rodzaje?

Zależność w SQL powstaje, gdy jeden obiekt odwołuje się do innego obiektu w instrukcji SQL. Obiekt zawierający odwołanie jest nazywany „odnośnikiem”, a obiekt, do którego się odwołuje – „odnośnym”.

Rodzaje zależności w SQL to:

  • Zależność funkcyjna
  • Pełna zależność funkcyjna
  • Zależność wielowartościowa
  • Zależność przechodnia
  • Zależność częściowa

Co to są sprzężenia SQL i jakie są najpopularniejsze?

Sprzężenia (JOIN) są podstawą manipulacji danymi w SQL. Umożliwiają łączenie dwóch lub więcej tabel w jedną w celu analizy danych. Sprzężenia pozwalają również na filtrowanie wyników na podstawie kryteriów w jednej z tabel, co ułatwia wyszukiwanie konkretnych informacji.

Cztery główne rodzaje sprzężeń SQL to: INNER JOIN, OUTER JOIN, CROSS JOIN i SELF JOIN.

Jakie są operatory mnogościowe w SQL?

Operatory mnogościowe pozwalają łączyć dane z jednej lub kilku tabel o tym samym typie. Chociaż podobne do sprzężeń, operatory mnogościowe różnią się od nich. Sprzężenia łączą kolumny z różnych tabel, podczas gdy operatory mnogościowe agregują rekordy z różnych zapytań. Złożone zapytania SQL często wykorzystują operacje na zbiorach.

Podsumowanie

Mam nadzieję, że przedstawione pytania pomogą w przygotowaniu się do rozmowy kwalifikacyjnej z zakresu SQL. Zdobycie praktycznej wiedzy na temat SQL jest kluczowe, aby odnieść sukces w rekrutacji. Zaleca się studiowanie materiałów dotyczących SQL, ćwiczenie pytań rekrutacyjnych oraz nieustanne poszerzanie swojej wiedzy.

Jeśli potrzebujesz wyjaśnień dotyczących zapytań SQL, zachęcam do skorzystania z „ściągawki SQL”, która oferuje dodatkowe informacje na temat instrukcji SQL.

Aby zdobyć praktyczne doświadczenie w tworzeniu zapytań SQL, warto skorzystać z platform treningowych dedykowanych do nauki SQL.


newsblog.pl