Wyobraź sobie, że chcesz uporządkować informacje o uczniach w szkole. Model relacyjny pozwala na to, by przedstawić te dane w formie tabel. Każda tabela będzie zawierać informacje o konkretnym aspekcie dotyczącym uczniów.
Nazwa relacji: Określa temat(nazwę) tabeli, np. "Uczniowie", "Przedmioty", "Oceny".
Atrybuty: Są to kolumny tabeli, które opisują właściwości obiektów. Dla przykładu, w relacji "Uczniowie" atrybuty to:
id_ucznia: unikalny numer ucznia
imie: imię ucznia
nazwisko: nazwisko ucznia
klasa: klasa, do której uczeń chodzi
Przykład schematu relacji:
Uczniowie (id_ucznia, imie, nazwisko, klasa)
Krotka: To pojedynczy wiersz w tabeli, czyli informacja o jednym uczniu.
Składowa krotki: Wartość atrybutu dla konkretnego ucznia.
Przykład krotki: (12345, Jan, Kowalski, 2A)
Tutaj mamy informację o konkretnym uczniu: jego numerze identyfikacyjnym, imieniu, nazwisku
i klasie.
Klucz podstawowy: To atrybut lub grupa atrybutów, które jednoznacznie identyfikują każdy wiersz w tabeli.
Dlaczego jest ważny? Dzięki kluczowi podstawowemu możemy szybko znaleźć informacje o konkretnym uczniu i uniknąć powtórzeń danych.
Przykład: W relacji "Uczniowie" kluczem podstawowym będzie "id_ucznia", ponieważ każdy uczeń ma unikalny numer.
Spójność danych: Wszystkie informacje o uczniach są przechowywane w jednym miejscu.
Łatwy dostęp: Możemy szybko znaleźć informacje o dowolnym uczniu.
Analiza danych: Możemy łatwo przeprowadzać różne analizy, np. średnią ocen, liczbę uczniów w klasie.
Automatyzacja: Możemy zautomatyzować wiele procesów, np. wystawianie świadectw, tworzenie list obecności.
Tabela: Pracownik
Klucze w bazach danych to specjalne atrybuty (kolumny), które służą do jednoznacznej identyfikacji rekordów (wierszy) w tabeli. Dzięki nim możemy sprawnie wyszukiwać, aktualizować i łączyć dane.
Klucz podstawowy (primary key):
Jest to najważniejszy klucz w tabeli.
Zawsze jest unikalny, co oznacza, że żadne dwa rekordy nie mogą mieć tego samego klucza podstawowego.
Zwykle jest to liczba całkowita, automatycznie generowana przez system (np. identyfikator).
Gwarantuje integralność danych, czyli zapobiega powstawaniu duplikatów.
Klucz obcy (foreign key):
Jest to klucz, który odnosi się do klucza podstawowego innej tabeli.
Umożliwia tworzenie relacji między tabelami.
Dzięki kluczom obcym możemy łączyć dane z różnych tabel.
Przykład: w tabeli "Zamówienia" może być klucz obcy "id_klienta", który odnosi się do klucza podstawowego "id_klienta" w tabeli "Klienci".
Klucz kandydata:
Jest to atrybut lub grupa atrybutów, które mogłyby być kluczem podstawowym, ale nie zostały wybrane.
Często służą jako dodatkowe indeksy, przyspieszające wyszukiwanie danych.
Klucz złożony:
Składa się z kilku atrybutów, które razem jednoznacznie identyfikują rekord.
Jest używany, gdy żaden pojedynczy atrybut nie jest wystarczający.
Unikalna identyfikacja: Dzięki kluczom możemy jednoznacznie zidentyfikować każdy rekord.
Integralność danych: Klucze pomagają zapobiegać powstawaniu duplikatów i błędnych danych.
Relacje między tabelami: Klucze obce umożliwiają tworzenie złożonych struktur danych i łączenie informacji z różnych tabel.
Efektywne wyszukiwanie: Indeksy oparte na kluczach przyspieszają wyszukiwanie danych.
Normalizacja: Klucze odgrywają kluczową rolę w procesie normalizacji baz danych, który polega na usunięciu redundancji danych i poprawie struktury bazy.
Wyobraźmy sobie bazę danych sklepu internetowego. Możemy mieć następujące tabele:
Produkty: (id_produktu, nazwa, cena)
Klienci: (id_klienta, imie, nazwisko, adres)
Zamówienia: (id_zamowienia, id_klienta, id_produktu, ilosc)
W tabeli "Zamówienia" mamy dwa klucze obce: "id_klienta" (odnosi się do tabeli "Klienci") i "id_produktu" (odnosi się do tabeli "Produkty"). Dzięki tym kluczom możemy łatwo sprawdzić, który klient złożył dane zamówienie i jakie produkty zostały zamówione.