Wprowadzenie SQL

1. W Jakim celu stosujemy argument NULL? (Wartość pustą)

Wartość null w relacyjnej bazie danych jest używana, gdy wartość w kolumnie jest nieznana lub brakuje jej.

2. Wymień zasady tworzenia identyfikatorów w bazie 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.

3. Czym są konwencję w nazewnictwie obiektów bazy danych?

Konwencje w nazewnictwie obiektów bazy danych to zasady i wytyczne, które pomagają utrzymać spójność i czytelność kodu oraz struktur baz danych. Stosowanie konwencji ułatwia pracę zespołową, zrozumienie kodu oraz minimalizuje ryzyko błędów.

Nazewnictwo tabel:

Tabele często są nazwane rzeczownikami w liczbie mnogiej (np. customers, orders).

Unikaj używania spacji i znaków specjalnych. Zamiast tego używaj podkreśleń (_) lub wielkich liter (CamelCase).

Nazewnictwo kolumn:

Kolumny zazwyczaj są nazwane rzeczownikami w liczbie pojedynczej (np. first_name, email).

Staraj się unikać skrótów i używaj pełnych nazw dla jasności.

Nazewnictwo indeksów:

Indeksy często zawierają nazwę tabeli i kolumny, których dotyczą (np. idx_customers_last_name).

Nazewnictwo kluczy głównych (Primary Keys):

Klucze główne są często nazwane jako id lub tablename_id (np. customer_id).

Nazewnictwo kluczy obcych (Foreign Keys):

Klucze obce zazwyczaj odnoszą się do kolumny klucza głównego innej tabeli (np. customer_id w tabeli orders).

Nazewnictwo widoków (Views):

Widoki często zawierają przedrostek view_ lub vw_ (np. view_customer_orders).

Nazewnictwo procedur składowanych (Stored Procedures):

Procedury składowane często mają przedrostki opisujące ich funkcję, takie jak sp_ dla procedur, fn_ dla funkcji (np. sp_update_customer).

Nazewnictwo kolumn logicznych:

Kolumny logiczne (boolean) zazwyczaj mają nazwy sugerujące pytania, np. is_active, has_access.

4. Co to jest domena?

W kontekście baz danych, pojęcie domeny odnosi się do zestawu możliwych wartości, które mogą być przechowywane w określonym atrybucie (kolumnie) tabeli bazy danych. Domena definiuje typ danych i wszelkie ograniczenia, które są stosowane do danych w tej kolumnie. np. Typ danych, zakres wartości itp.

5. Opisz typy danych geometrycznych.

  • GEOMETRY: Jest to ogólny typ danych geometrycznych, który może przechowywać dowolny rodzaj geometrii, taki jak punkt, linia, wielokąt itp.
  • POINT: Reprezentuje pojedynczy punkt w przestrzeni, definiowany przez współrzędne (X, Y). W niektórych przypadkach może również zawierać wartość Z dla wysokości.
  • LINESTRING: Reprezentuje linię składającą się z jednej lub więcej sekwencji punktów.
  • POLYGON: Reprezentuje powierzchnię zewnętrzną, określoną przez zamknięty obwód. Może zawierać dziury wewnętrzne (wewnętrzne obwody).
  • MULTIPOINT: Jest to zbiór wielu punktów.
  • MULTILINESTRING: Jest to zbiór wielu linii (LINESTRING).
  • MULTIPOLYGON: Jest to zbiór wielu wielokątów (POLYGON).
  • GEOMETRYCOLLECTION: Reprezentuje kolekcję różnych typów geometrii (POINT, LINESTRING, POLYGON itp.).
  • GEOGRAPHY: Uzwględnienie przechyleń ziemi.

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

Zagadnienia na sprawdzian

  • Funkcje baz danych
  • Popularne serwery baz danych
  • Zasady tworzenia nazw, identyfikatory baz danych
  • Podstawowe cechy języka sql
  • Karta pracy (ostatnio)
  • Jakie zasady są realizowane przez odmiany sql

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