Informatyka
Bazy danych i SQL - tabele, relacje i zapytania
Zestaw wyjaśnia budowę relacyjnej bazy danych: tabele, rekordy, pola, klucze główne i obce, relacje oraz redundancję i normalizację. Nauczysz się pisać zapytania SQL z SELECT, WHERE, ORDER BY, DISTINCT, funkcjami agregującymi, GROUP BY, HAVING i INNER JOIN, a także poznasz instrukcje INSERT, UPDATE i DELETE.
Podcast
Ładuję…
Quizy w tym zestawie
37 pytań w 4 etapach
Odblokujesz je po dodaniu zestawu.
Etap 1: Tabele, klucze i relacje
Etap 1 · 12 fiszek · 10 pytań
Etap 2: SELECT i warunki WHERE
Etap 2 · 10 fiszek · 10 pytań
Etap 3: Agregacja i grupowanie
Etap 3 · 5 fiszek · 9 pytań
Etap 4: JOIN i zmiana danych
Etap 4 · 4 fiszki · 8 pytań
Powtórka z całości
15 pytań ze wszystkich etapów, po ukończeniu etapów
1.Baza danych
Uporządkowany zbiór danych zapisanych według określonych zasad, który można przeszukiwać i modyfikować za pomocą systemu zarządzania bazą danych (np. MySQL, Access, SQLite).
2.Relacyjna baza danych
Baza danych, w której dane są zapisane w tabelach połączonych relacjami. Każda tabela opisuje jeden rodzaj obiektów, np. uczniów albo klasy.
3.Rekord
Jeden wiersz tabeli - komplet danych o jednym obiekcie, np. o jednym uczniu.
4.Pole
Jedna kolumna tabeli - cecha opisywanego obiektu, np. nazwisko albo data urodzenia. Każde pole ma nazwę i typ danych.
5.Typ danych pola
Określa, jakie wartości można zapisać w polu, np. liczba całkowita (INTEGER), tekst (VARCHAR), data (DATE), liczba dziesiętna (DECIMAL) albo wartość logiczna. Typ chroni przed błędnymi danymi, np. tekstem w polu na liczbę.
6.Klucz główny
Pole (albo zestaw pól), którego wartość jednoznacznie identyfikuje każdy rekord tabeli. Wartości klucza głównego nie mogą się powtarzać ani być puste, np. id_ucznia.
7.Klucz obcy
Pole w jednej tabeli, które zawiera wartości klucza głównego innej tabeli i w ten sposób tworzy relację, np. id_klasy w tabeli uczniowie wskazuje rekord w tabeli klasy.
8.Relacja jeden do jednego
Jednemu rekordowi pierwszej tabeli odpowiada najwyżej jeden rekord drugiej tabeli i odwrotnie, np. państwo i jego stolica.
9.Relacja jeden do wielu
Jednemu rekordowi pierwszej tabeli może odpowiadać wiele rekordów drugiej, ale każdy z nich ma tylko jeden odpowiednik w pierwszej, np. klasa i jej uczniowie. Klucz obcy umieszcza się po stronie „wielu” (id_klasy w tabeli uczniowie).
10.Relacja wiele do wielu
Rekordowi pierwszej tabeli może odpowiadać wiele rekordów drugiej i odwrotnie, np. uczniowie i koła zainteresowań. Zapisuje się ją za pomocą tabeli pośredniej z dwoma kluczami obcymi (np. zapisy: id_ucznia, id_kola), która zamienia ją na dwie relacje jeden do wielu.
11.Redundancja danych
Niepotrzebne powtarzanie tych samych danych w wielu rekordach, np. nazwiska wychowawcy przy każdym uczniu klasy. Zajmuje miejsce i grozi niespójnością: po zmianie danych w jednym miejscu w innych zostaje stara wartość.
12.Normalizacja bazy danych
Podział danych na mniejsze, powiązane relacjami tabele tak, aby każda informacja była zapisana tylko raz. Usuwa redundancję, np. dane klas przenosi się do osobnej tabeli klasy, a uczniowie mają tylko klucz obcy id_klasy.
13.Kwerenda (zapytanie)
Polecenie dla bazy danych, które wyszukuje, filtruje i porządkuje dane albo je zmienia. Kwerenda wybierająca zwraca wynik w postaci tabeli i nie zmienia danych w bazie.
14.SQL
Strukturalny język zapytań (Structured Query Language) do pobierania i modyfikowania danych w relacyjnych bazach danych. Polecenie kończy się zwykle średnikiem, a tekst zapisuje się w apostrofach, np. 'mat'.
15.SELECT ... FROM
Podstawa zapytania wybierającego: po SELECT podaje się kolumny, a po FROM tabelę, np. SELECT nazwisko, imie FROM uczniowie; Gwiazdka (SELECT *) oznacza wszystkie kolumny.
16.WHERE i operatory porównania
WHERE zostawia w wyniku tylko wiersze spełniające warunek. Operatory: = równe, <> różne, >, <, >=, <=, np. SELECT * FROM oceny WHERE ocena >= 4;
17.AND i OR w warunku
AND łączy warunki, które muszą być spełnione jednocześnie, a OR - warunki, z których wystarczy jeden, np. WHERE przedmiot = 'mat' AND ocena > 3.
18.BETWEEN
Warunek „wartość z przedziału”, razem z jego końcami: WHERE ocena BETWEEN 3 AND 4 znaczy to samo co WHERE ocena >= 3 AND ocena <= 4.
19.Warunek IN
Warunek „wartość jest jedną z wymienionych”: WHERE ocena IN (2, 5) znaczy to samo co WHERE ocena = 2 OR ocena = 5.
20.LIKE i znak %
LIKE porównuje tekst ze wzorcem, w którym % zastępuje dowolny ciąg znaków (także pusty): LIKE 'Kow%' - tekst zaczyna się od Kow, LIKE '%ski' - kończy się na ski, LIKE '%an%' - zawiera an.
21.ORDER BY, ASC i DESC
ORDER BY sortuje wynik według podanej kolumny: ASC rosnąco (domyślnie, gdy nic nie dopiszemy), DESC malejąco. Można podać kilka kolumn, np. ORDER BY klasa, nazwisko.
22.DISTINCT
Słowo po SELECT, które usuwa z wyniku powtarzające się wiersze, np. SELECT DISTINCT przedmiot FROM oceny; podaje każdy przedmiot tylko raz.
23.Funkcje agregujące
Funkcje liczące jedną wartość z wielu wierszy: COUNT - liczba wierszy, SUM - suma, AVG - średnia, MIN - najmniejsza, MAX - największa wartość, np. SELECT AVG(ocena) FROM oceny; COUNT(*) liczy wszystkie wiersze.
24.GROUP BY
Dzieli wiersze na grupy o tej samej wartości wskazanej kolumny, a funkcja agregująca liczy wynik osobno dla każdej grupy, np. SELECT przedmiot, AVG(ocena) FROM oceny GROUP BY przedmiot; daje średnią każdego przedmiotu.
25.HAVING
Warunek nakładany na grupy po GROUP BY, zwykle z funkcją agregującą, np. GROUP BY uczen HAVING AVG(ocena) >= 4 zostawia tylko uczniów ze średnią co najmniej 4.
26.WHERE a HAVING
WHERE filtruje pojedyncze wiersze przed grupowaniem i nie może zawierać funkcji agregujących. HAVING filtruje całe grupy po grupowaniu, więc może używać np. COUNT(*) albo AVG.
27.Kolejność klauzul w zapytaniu SELECT
Klauzule zapisuje się w stałej kolejności: SELECT, FROM, JOIN ... ON, WHERE, GROUP BY, HAVING, ORDER BY. Każdą z nich poza SELECT i FROM można pominąć.
28.INNER JOIN ... ON
Złączenie dwóch tabel: po ON podaje się warunek łączący, zwykle klucz obcy równy kluczowi głównemu, np. FROM uczniowie INNER JOIN klasy ON uczniowie.id_klasy = klasy.id_klasy. Wynik zawiera tylko wiersze, które mają odpowiednik w obu tabelach.
29.INSERT INTO
Instrukcja dodająca nowy rekord: INSERT INTO klasy (id_klasy, nazwa) VALUES (4, '1c'); Wartości podaje się w tej samej kolejności co nazwy pól.
30.UPDATE ... SET
Instrukcja zmieniająca wartości w istniejących rekordach: UPDATE uczniowie SET id_klasy = 2 WHERE id_ucznia = 5; Bez WHERE zmiana obejmie wszystkie wiersze tabeli.
31.DELETE FROM
Instrukcja usuwająca rekordy spełniające warunek: DELETE FROM oceny WHERE ocena < 2; Bez WHERE usuwa wszystkie wiersze, ale sama tabela zostaje w bazie.
Sprawdzian do druku
Arkusz PDF z kluczem, punktacją i oceną
Sprawdzam sprawdzian…
Znasz kogoś z klasy, komu się przyda? Podziel się zestawem
Podobne zestawy
30 fiszek
40 fiszek
38 fiszek
24 fiszki uczy się 4
12 fiszek uczy się 8
40 fiszek uczy się 20
