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
- Język zapytań
- Język definiowania danych
- Język manipulowania danymi
- 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