Ilustracja do zestawu: Bazy danych i SQL - tabele, relacje i zapytania

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.

Szkoła średnia31 fiszek37 pytań w 4 etapach

Podcast

Ładuję…

Quizy w tym zestawie

37 pytań w 4 etapach

Odblokujesz je po dodaniu zestawu.

  1. Etap 1: Tabele, klucze i relacje

    Etap 1 · 12 fiszek · 10 pytań

  2. Etap 2: SELECT i warunki WHERE

    Etap 2 · 10 fiszek · 10 pytań

  3. Etap 3: Agregacja i grupowanie

    Etap 3 · 5 fiszek · 9 pytań

  4. Etap 4: JOIN i zmiana danych

    Etap 4 · 4 fiszki · 8 pytań

  5. 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.

uczniowiezapisykoła1 : wiele1 : wiele

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.

1FROM i JOIN - tabele2WHERE - filtr wierszy3GROUP BY - grupy4HAVING - filtr grup5SELECT i ORDER BY - wynik

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

WhatsApp

Podobne zestawy

Zobacz wszystkie fiszki z informatyki