1. Wstęp do baz danych

Baza danych to uporządkowany zbiór informacji przechowywanych w systemie informatycznym. Dzięki bazom możliwe jest szybkie wyszukiwanie, filtrowanie i modyfikowanie danych.

Ćwiczenie:
Wymyśl 3 przykłady baz danych używanych w codziennym życiu i wypisz, jakie dane zawiera każda z nich.

2. Relacyjne bazy danych

Relacyjna baza danych przechowuje dane w tabelach połączonych relacjami. Każda tabela składa się z wierszy (rekordów) i kolumn (atrybutów).

Ćwiczenie:
Wymyśl prostą tabelę dla uczniów i określ jej kolumny (np. id, imię, nazwisko, klasa).

3. Normalizacja

Normalizacja to proces organizowania danych w taki sposób, aby uniknąć powtarzania informacji i zapewnić spójność bazy.

Ćwiczenie:
Znormalizuj prostą tabelę „Uczniowie” z ocenami do 1NF, 2NF i 3NF.

4. Diagramy ER

Diagramy ER (Entity-Relationship) służą do wizualnego przedstawienia struktur bazy danych i powiązań między tabelami.

Ćwiczenie:
Narysuj diagram ER dla bazy szkoły z tabelami Uczniowie, Klasy, Nauczyciele.

5. SZBD – systemy zarządzania bazami danych

SZBD to oprogramowanie służące do tworzenia, modyfikowania i zarządzania bazami danych.

Ćwiczenie:
Zainstaluj XAMPP i uruchom phpMyAdmin, utwórz bazę testową.

6. Tworzenie tabel i relacji

Tworzenie tabel i definiowanie relacji jest kluczowe dla prawidłowego działania bazy danych.

CREATE TABLE Uczniowie ( id_ucznia INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50), klasa VARCHAR(10) );
Ćwiczenie:
Stwórz tabelę Uczniowie i dodaj kilka rekordów przykładowych uczniów.

7. Wprowadzanie danych i operacje

-- Dodawanie ucznia INSERT INTO Uczniowie (id_ucznia, imie, nazwisko) VALUES (1, 'Jan', 'Kowalski'); -- Aktualizacja nazwiska UPDATE Uczniowie SET nazwisko='Nowak' WHERE id_ucznia=1; -- Usunięcie ucznia DELETE FROM Uczniowie WHERE id_ucznia=1;
Ćwiczenie:
1. Dodaj 5 uczniów do tabeli Uczniowie.
2. Zmień nazwisko jednego z nich.
3. Usuń jednego ucznia.

8. Formularze i kwerendy

Ćwiczenie:
1. Utwórz formularz w MS Access do wprowadzania uczniów.
2. Stwórz kwerendę wybierającą uczniów z oceną powyżej 4.
3. Wyświetl wynik kwerendy w raporcie.

9. Raporty

Ćwiczenie:
1. Wygeneruj raport „Średnia ocen uczniów w klasach”.
2. Pokaż tylko uczniów z klas 1A i 2B.
3. Dodaj nagłówki i stopki raportu.

10. SQL – język zapytań

-- Wyświetl wszystkich uczniów SELECT * FROM Uczniowie; -- Wybierz uczniów, których imię zaczyna się na 'A' SELECT * FROM Uczniowie WHERE imie LIKE 'A%'; -- Posortuj uczniów według nazwiska SELECT * FROM Uczniowie ORDER BY nazwisko ASC;
Ćwiczenie:
1. Wykonaj powyższe zapytania w phpMyAdmin.
2. Zmodyfikuj zapytanie, aby wybrać uczniów tylko z klasy 1A.
3. Posortuj wynik według imienia malejąco.

11. Funkcje agregujące i grupowanie

-- Liczba uczniów w każdej klasie SELECT klasa, COUNT(*) AS liczba_uczniow FROM Uczniowie GROUP BY klasa; -- Średnia ocen w klasach SELECT klasa, AVG(ocena) AS srednia_ocen FROM Uczniowie GROUP BY klasa;
Ćwiczenie:
1. Policz ilu uczniów jest w każdej klasie.
2. Oblicz średnią ocen w każdej klasie.
3. Spróbuj znaleźć klasę z największą średnią.

12. Łączenie tabel

-- Wyświetl uczniów z ocenami SELECT U.imie, U.nazwisko, O.ocena FROM Uczniowie U INNER JOIN Oceny O ON U.id_ucznia = O.id_ucznia; -- Wszystkie uczniowie z ocenami lub bez ocen SELECT U.imie, U.nazwisko, O.ocena FROM Uczniowie U LEFT JOIN Oceny O ON U.id_ucznia = O.id_ucznia;
Ćwiczenie:
1. Połącz tabelę Uczniowie z tabelą Oceny.
2. Wyświetl tylko uczniów z ocenami powyżej 4.
3. Spróbuj użyć LEFT JOIN, aby pokazać wszystkich uczniów.

13. Więzy integralności

Więzy integralności zapewniają spójność danych w bazie. Przykłady:

Ćwiczenie:
1. Zdefiniuj klucz główny w tabeli Uczniowie.
2. Dodaj tabelę Oceny z kluczem obcym wskazującym na ucznia.
3. Spróbuj dodać ocenę dla nieistniejącego ucznia i zobacz co się stanie.

14. Uprawnienia użytkowników

Bazy danych umożliwiają nadawanie uprawnień użytkownikom:

Ćwiczenie:
1. Stwórz użytkownika „uczen” w MySQL.
2. Nadaj mu prawo SELECT i INSERT do tabeli Uczniowie.
3. Sprawdź, czy może usuwać rekordy.

15. Algorytmika w bazach danych

Algorytmy w bazach danych pomagają w sortowaniu, filtrowaniu i przetwarzaniu danych. Przykłady:

Ćwiczenie:
1. Napisz zapytanie SQL, które posortuje uczniów po nazwisku.
2. Policz średnią ocenę dla każdej klasy.
3. Wyświetl 3 najlepszych uczniów według średniej.