Co to jest baza danych?
Baza danych to cyfrowy, uporządkowany organizer na informacje.
- Wyjaśnienie: Wyobraź sobie wielki regał z segregatorami w szkolnym sekretariacie. Zamiast szukać kartek w losowych pudłach, wszystko ma tam swoje określone miejsce. Baza danych pozwala błyskawicznie zapisywać, zmieniać i wyszukiwać potrzebne rzeczy (np. konkretnego ucznia po jego numerze PESEL).
Podstawowe elementy (Klocki bazy danych)
- Tabela
- Definicja: Główny element strukturalny bazy danych składający się z kolumn i wierszy.
- Wyjaśnienie: Wygląda dokładnie jak arkusz w Excelu. Każda tabela gromadzi dane o jednym konkretnym typie obiektów (np. osobna tabela dla Uczniowie, osobna dla Klasy, osobna dla Książki).
- Kolumna (Pole)
- Definicja: Pionowy element tabeli określający strukturę oraz cechy przechowywanych danych.
- Wyjaśnienie: Określa, jaką cechę opisujemy. Na przykład w tabeli Uczniowie kolumnami będą: Imię, Nazwisko, Data_urodzenia.
- Wiersz (Rekord)
- Definicja: Poziomy element tabeli zawierający pojedynczy obiekt danych.
- Wyjaśnienie: To zestaw danych o jednym konkretnym przedmiocie lub osobie. Na przykład jeden wiersz to: Jan | Kowalski | 12.05.2010.
- Komórka (Cell)
- Definicja: Punkt przecięcia pojedynczej kolumny i pojedynczego wiersza w tabeli, przechowujący jedną konkretną wartość.
- Wyjaśnienie: To najmniejsze, pojedyncze okienko w tabeli, w którym wpisana jest konkretna informacja. Na przykład, jeśli cała tabela to Uczniowie, a wiersz opisuje Jana Kowalskiego, to pojedynczą komórką będzie samo okienko z tekstem Jan.
Klucze i Relacje (Jak utrzymać porządek)
- Klucz Podstawowy (Primary Key – PK)
- Definicja: Unikalny identyfikator jednoznacznie określający każdy wiersz w tabeli.
- Wyjaśnienie: Działa jak numer PESEL dla obywatela albo numer legitymacji szkolnej. Żaden inny wiersz w tej samej tabeli nie może mieć takiego samego klucza podstawowego. Najczęściej jest to po prostu kolejny numer (ID): 1, 2, 3 itd.
- Klucz Obcy (Foreign Key – FK)
- Definicja: Kolumna łącząca dane z dwóch tabel poprzez wskazanie na klucz podstawowy innej tabeli.
- Wyjaśnienie: Kolumna, którą wklejamy do jednej tabeli, żeby stworzyć połączenie z inną tabelą. W tabeli Uczniowie robisz kolumnę ID_klasy i wpisujesz tam liczbę 3. Baza danych sprawdza wtedy tabelę Klasy, szuka wiersza z ID = 3 i przypisuje ucznia do klasy 1A.
- Relacja
- Definicja: Logiczne powiązanie pomiędzy tabelami realizowane za pomocą kluczy.
- Wyjaśnienie: Połączenie między tabelami za pomocą kluczy podstawowych i obcych. Najpopularniejsza to relacja jeden do wielu (1:N). Jedna klasa posiada wielu uczniów, ale dany uczeń może chodzić tylko do jednej klasy jednocześnie.
Słowniczek Ważnych Pojęć
- Autoincrement (Inkrementacja)
- Definicja: Automatyczne zwiększanie wartości liczbowej pola przy dodawaniu nowego rekordu.
- Wyjaśnienie: Automatyczny licznik w bazie danych. Za każdym razem, gdy dodajesz nową osobę lub produkt, komputer sam nadaje kolejny numer ID (1, 2, 3, 4...). System sam pilnuje ostatniego numeru i zwiększa go o 1.
- Indeks (Index)
- Definicja: Struktura danych przyspieszająca operacje wyszukiwania rekordów w tabeli.
- Wyjaśnienie: Cyfrowy spis treści. Jeśli szukasz słowa w grubej książce, zaglądasz do indeksu haseł na końcu, zamiast czytać ją całą. Indeks w bazie sprawia, że komputer znajduje dane w ułamku sekundy, pomijając przeszukiwanie całej tabeli.
- Typ danych (Data Type)
- Definicja: Format i rodzaj informacji, jakie mogą być przechowywane w danej kolumnie.
- Wyjaśnienie: Określenie, co wolno wpisać do danej kolumny. Jeśli kolumna ma typ liczbowy (INT), komputer nie pozwoli wpisać tam tekstu "jeden". Najpopularniejsze typy to: VARCHAR/TEXT (litery/tekst), INT (liczby całkowite) oraz DATE (data).
- Wartość NULL
- Definicja: Specjalny znacznik wskazujący na brak przypisanej wartości w danym polu rekordu.
- Wyjaśnienie: Informacja, że pole jest puste. To nie jest cyfra zero 0 ani spacja. To komunikat: "w tym miejscu nic nie wpisano". Na przykład, jeśli uczeń nie podał drugiego imienia, w bazie danych to pole otrzyma wartość NULL.
- Więcy integralności (Constraints)
- Definicja: Reguły i ograniczenia nakładane na dane w celu zapewnienia ich poprawności.
- Wyjaśnienie: Zbiór zasad nakładanych na kolumny. Na przykład reguła NOT NULL oznacza, że pole musi być wypełnione (np. Nazwisko). Reguła UNIQUE dba o to, aby wartości w kolumnie się nie powtarzały (np. numer telefonu lub adres e-mail).
- Zapytanie (Query)
- Definicja: Instrukcja służąca do pobierania, filtrowania lub modyfikowania danych w bazie.
- Wyjaśnienie: Pytanie zadane bazie danych w specjalnym języku (najczęściej SQL). Brzmi ono np.: "Pokaż mi wszystkich uczniów z klasy 1A, którzy mają ocenę 5". Komputer natychmiast filtruje tabelę i wyświetla dopasowany wynik.
- SQL (Structured Query Language)
- Definicja: Strukturyzowany język zapytań używany do tworzenia, modyfikowania i zarządzania bazami danych oraz do pobierania z nich informacji.
- Wyjaśnienie: To uniwersalny język, w którym rozmawiasz z bazą danych. Kiedy w programie dbdiagram.io klikasz Export to SQL, program tłumaczy Twój rysunek na tekstowe komendy (np. CREATE TABLE), które po wklejeniu do sqliteonline.com budują prawdziwą bazę.
- SQLite
- Definicja: Lekki, relacyjny system zarządzania bazą danych, który przechowuje całą bazę w jednym pliku i nie wymaga konfiguracji serwera.
- Wyjaśnienie: To konkretny rodzaj (silnik) bazy danych, z którego korzystasz na lekcjach na stronie sqliteonline.com. W przeciwieństwie do potężnych baz firmowych, SQLite jest uproszczony i idealny do nauki, bo działa bezpośrednio w przeglądarce lub w jednym małym pliku na komputerze.
- CRUD (Create, Read, Update, Delete)
- Definicja: Akronim oznaczający cztery podstawowe operacje wykonywane na danych w systemach bazodanowych: tworzenie, odczytywanie, aktualizowanie i usuwanie.
- Wyjaśnienie: To zestaw czterech podstawowych czynności, które możesz zrobić z informacjami w bazie. Na przykładzie ucznia: Create (zapisujesz nowego ucznia), Read (wyświetlasz jego oceny), Update (zmieniasz mu adres), Delete (skreślasz go z listy uczniów).
Narzędzia z Lekcji – Jak się łączą w całość?
Projektowanie i uruchamianie bazy danych zawsze składa się z dwóch kroków: planowania na rysunku oraz wdrożenia do komputera. Twoje ćwiczenia idealnie to odzwierciedlają:
- dbdiagram.io oraz drawdb.app (Krok 1: Projektowanie) – Narzędzia do graficznego rysowania struktury bazy danych. Zamiast pisać kod, tworzysz wizualne prostokąty (tabele), kolumny oraz linie między nimi (relacje PK -> FK). Powstaje schemat blokowy bazy.
- Generowanie kodu SQL – Gdy schemat jest gotowy, narzędzia te pozwalają wyeksportować tekstowy kod SQL, czyli instrukcję budowy tych tabel dla systemu bazodanowego.
- sqliteonline.com (Krok 2: Uruchomienie) – Realna, działająca baza danych w przeglądarce. Wklejasz tam wyeksportowany kod z rysunku, uruchamiasz go i od tego momentu baza fizycznie istnieje. Możesz tam dodawać rekordy i tworzyć zapytania.