Sprawdzian wprowadzenie SQL

Zagadnienia na sprawdzian

Funkcje baz danych

1) F. tesktowe, matematyczne i agregujące

Funkcje tesktowe - zwracają fragment lub zmieniony teskt

  • LEFT( exp, n ) oraz RIGHT( exp, n ) – to jedne z najprostszych funkcji tekstowych. Zwracają n znaków od lewej lub prawej z wyrażenia exp na którym działa.
  • CHARINDEX ( exp1 , exp2 , start_location ) – szuka pierwszego wystąpienia ciągu znaków exp1 w wartości znakowej podanej jako argument exp2. Rozpoczyna poszukiwania od pozycji 1 (jeśli nie jest podana) lub innej określonej przez start_location. Zwraca numer znaku w którym rozpoczyna się pierwsze wystąpienie poszukiwanego stringu.
  • UPPER (string) oraz LOWER(string) zamienia wszystkie litery na duże lub małe.
  • LEN( exp ) – funkcja zwraca wartość typu integer, równej liczbie znaków (długości) wyrażenia będącego jej argumentem.
  • SUBSTRING ( exp , start_location , n ) – zwraca fragment tekstu, liczbę n znaków z wyrażenia podanego w parametrze exp, startując od zadanego miejsca start_location.
  • RTRIM ( exp ) oraz LTRIM ( exp ) – obcięcie z prawej/lewej znaków spacji danego wyrażenia exp. Szczególnie często spotykane przy łączeniu stringów typu CHAR o stałej długości.
  • PATINDEX ( wzorzec, exp ) – wyszukiwanie pierwszego wystąpienia doapsowania maski – określonej wzorcem w danym wyrażeniu exp.
  • REPLACE ( exp , old_substring , new_substring ) – podmienia każde wystąpienie ciągu znaków old_substring na new_substring w przeszukiwanym wyrażeniu exp.
  • REVERSE ( exp ) – odbicie lustrzane stringu czyli ostatni będą pierwszymi.
  • STUFF ( exp1, start, n, exp2 ) –usuwa n znaków wyrażenia exp1 zaczynając od pozycji określonej parametrem start. Następnie wrzuca określony ciąg znakowy exp2 do wyrażenia exp1, również od pozycji określonej w start.

Funkcje matematyczne - zwracają zmodyfikowana wartość liczbową

  • ROUND ( wartość_liczbowa, precyzja ) – zaokrągla wartość liczbową, zmiennoprzecinkową do zadanej precyzji.
  • RAND () – funkcja pseudolosowa, zwraca liczbę typu float z zakresu 0-1.
  • FLOOR( liczba_ułamkowa ) – to zaokrąglenie dowolnej liczby zmiennoprzecinkowej w dół – biorąc pod uwagę jej wartość ułamkową.
  • CEILING( liczba_ułamkowa ) – zaokrągla zawsze do pełnej wartości w górę, niezależnie od wartości części po przecinku.
  • POWER (liczba, potęga) oraz SQRT(liczba) to funkcje potęgowania oraz pierwiastkowania (kwadratowego)

Funkcje agregujące - analizuje całą kolumnę lub wyrażenie bądź jej/jego fragment i zwraca oczekiwaną wartość

  • AVG( wyr ) - Oblicza średnią arytmetyczną zbioru wartości zawartych w określonym polu zapytania.
  • COUNT ( wyr ) - Oblicza liczbę rekordów zwróconych przez zapytanie.
  • FIRST ( wyr ) - Zwraca wartość pola z pierwszego rekordu w zestawie wyników zwracanym przez zapytanie.
  • LAST ( wyr ) - Zwraca wartość pola z ostatniego rekordu w zestawie wyników zwracanym przez zapytanie.
  • MIN ( wyr ) - Zwraca wartość minimalną zestawu wartości zawartych w określonym polu w zapytaniu.
  • MAX ( wyr ) - Zwraca wartość maksymalną zestawu wartości zawartych w określonym polu w zapytaniu.

2) F. tekstu - Te funkcje tworzą wartości tekstowe i manipulują nimi.

3) F. daty i czasu - przetwarzanie typów danych daty i czasu.

  • YEAR ( data ), MONTH ( data ), DAY ( data ) – dokonują ekstraktu z daty, odpowiednio roku, miesiąca oraz dnia.
  • DATEADD ( datepart, liczba, data ) – dodaje (lub odejmuje) liczbę jednostek daty/czasu.
  • DATEDIFF ( datepart, startdate, enddate ) – różnica pomiędzy dwiema datami, wyrażoną w jednostkach określonych przez datepart
  • DATEPART( datepart, data ) – wyciąga określoną parametrem datepart, jednostkę podanej daty.

4) F. sterowania przepływem danych i dostepem do nich. - zwracają wartości spełniący jakiś warunek:

  • IF(warunek, wartość zastepcza, wyr) - jeżeli warunek nie jest spełniony, zastępuje daną wartość wartością zastępczą
  • IFNULL(wyr , wartość zastepcza) - jeżeli wartość jest NULL’em, zastępuje daną wartość wartością zastępczą
  • NULLIF(wyr, wyr) – zwraca wartość „NULL”, gdy obydwa parametry mają tą samą wartość.
  • CASE – działa, jak wielokrotnie użyta instrukcja IF. Składnia:
CASE [wartosc_lub_wyrazenie]
 WHEN wartosc_1 THEN wynik_1
 [WHEN wartosc_2 THEN wynik_2]
 …
 [ELSE wynik_N]
END

Popularne serwery baz danych

  • SQL Server firmy Microsoft
  • Oracle Database firmy Oracle
  • MySQL — produkt powstały jako open source (MariaDB)
  • PostgreSQL — darmowy serwer baz danych powstały na Uniwersytecie Kalifornijskim
  • DB2 firmy IBM
  • InterBase firmy Borland
  • SQLite opensource

Zasady tworzenia nazw, identyfikatory baz danych

  • Unikalność: Każdy identyfikator powinien być unikalny w ramach tabeli, aby zapewnić jednoznaczne identyfikowanie każdego rekordu.
  • Niezmienność: Identyfikatory nie powinny się zmieniać przez cały cykl życia rekordu. Zapewnia to spójność danych w bazie.
  • Minimalizm: Identyfikatory powinny być jak najkrótsze, aby oszczędzać miejsce w bazie danych i przyspieszyć operacje wyszukiwania.
  • Autonumeracja: W przypadku stosowania identyfikatorów liczbowych, najlepiej jest korzystać z mechanizmów autonumeracji (AUTO_INCREMENT, SERIAL), które automatycznie przypisują unikalne wartości do nowych rekordów.
  • Bezprzyrostowość: Identyfikatory nie powinny zawierać informacji, które mogą się zmieniać w czasie (np. data, kolejny numer dnia itp.), ponieważ wprowadza to ryzyko duplikacji i złożoności.
  • Czytelność: Jeśli to możliwe, identyfikatory powinny być łatwe do odczytania i zrozumienia przez ludzi, zwłaszcza w przypadku systemów, gdzie ręczne wprowadzanie danych jest powszechne.
  • Standardowe prefiksy i sufiksy: W dużych bazach danych warto stosować standardowe prefiksy lub sufiksy, które ułatwiają identyfikację kontekstu danych. Na przykład, cust_ dla klientów (cust_12345).
  • Brak specjalnych znaków: Unikaj używania specjalnych znaków w identyfikatorach, takich jak @, #, ! itp. Najlepiej używać liter, cyfr i podkreśleń.
  • Przestrzeganie konwencji nazewnictwa: Identyfikatory powinny przestrzegać ustalonych konwencji nazewnictwa w organizacji, co ułatwia zrozumienie struktury bazy danych.

Podstawowe cechy języka sql

  • Deklaratywność SQL pozwala użytkownikom określić, co chcą osiągnąć (np. jakie dane pobrać), a nie jak to zrobić.
  • Standardowość SQL jest standardem w zarządzaniu relacyjnymi bazami danych, co oznacza, że wiele systemów baz danych obsługuje jego podstawowe składnie.
  • Obsługa danych SQL umożliwia tworzenie, modyfikowanie, usuwanie i pobieranie danych z baz danych.
  • Zarządzanie strukturą bazy danych umożliwia tworzenie i modyfikację struktur bazy danych, takich jak tabele i indeksy.
  • Bezpieczeństwo SQL pozwala na definiowanie uprawnień dostępu do danych.

Jakie zasady są realizowane przez odmiany sql / Karta pracy (ostatnio)

Główne kategorie składniowe SQL

1. Literały (Stałe)

2. Operatory

  • arymetnyczne
  • znakowe
  • logiczne
  • porównania
  • relacji

3. Słowa kluczowe

  • SELECT
  • DISTINCT
  • ORDER BY itp.

4. Komentarze (ignoruje)

5. Operator kontatencji/konkatynacja (łączenie znaków)

Części składnii SQL

  • SQL DDL (Data Definition Language - język definicji danych),
  • SQL DCL ( Data Control Language – język kontroli nad danymi),
  • SQL DML (Data Manipulation Language – język manipulacji danymi),
  • SQL DQL (Data Query Language – język definiowania zapytań).
  • SQL TCL.

zad 1.

Reprezentacja liczb:

  • stałoprzecinkowa: a) bez znaku b) ze znakiem
  • zmiennoprzecinkowa: a) pojedynczej precyzji b) podwójnej precyzji c) rozszerzonej precyzji

zad 2.

  • SELECT służy do wybierania wierszy i kolumn z jednej lub kilku tabel.
  • GRANT służy do nadawania uprawnień.
  • CREATE służy do tworzenia obiektów m.in tabel.
  • INSERT służy do dodawania nowych rekordów.

zad 3.

  • Język definiowania danych: CREATE, DROP
  • Język manipulowania danymi: DELETE, INSERT, UPDATE
  • Język kontrolowania danych: GRANT, REVOKE
  • Język zapytań: SELECT
  • Język sterowania przepływem danych: ROLLBACK, COMMIT

zad.4

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY

zad.5

  1. Język zapytań
  2. Język definiowania danych
  3. Język manipulowania danymi
  4. Język kontrolowania danych

Test 31

zad 1.

Który operator wykonuje wybór kolumn - na wejściu przyjmuje nazwy kolumn, a na wyjściu zwraca ich wartości?

  • a) Selekcji
  • b) Projekcji
  • c) Złączania
  • d) Sumy

zad 2.

Polecenie SELECT należy do podgrupy

  • a) języka zapytań
  • b) języka manipulowania danymi
  • c) języka definiowanaia danych
  • d) języka kontrolowania danych

zad 3.

Zbiór dopuszczlanych wartości dla atrybutu jest nazywany:

  • a) bazą
  • b) tabelą
  • c) domeną
  • d) kluczem

zad 4.

Do przechowywania danych tekstowycg może byc wykorzystany typ danych

  • a) BOOL
  • b) INT
  • c) DATA
  • d) BLOB

zad 5.

Do reprezentowania wartości nieznanej wykorzystuje się

  • a) 0
  • b) NULL
  • c) NaN
  • d) false