By zrozumieć podstawy baz danych należy przyswoić podstawowe pojęcia stosowane w nazewnictwie i działaniach związanych z właśnie bazami danych. Przejdźmy więc od razu do konkretów
Podstawowe pojęcia – bazy danych
- Baza danych (ang data base) – jest to zbiór powiązanych z sobą informacji, zorganizowanych w określoną strukturę, powiązanych ze sobą tematycznie.
- Rodzaje baz danych:
- Kartotekowe bazy danych– bazy danych, w których dane przechowywane są w postaci tak zwanych kart, będącymi w rzeczywistości pojedynczymi tabelami, np. karta psa lub kota w przychodni weterynaryjnej,
- Relacyjne bazy danych – różnicą jest to, że w przeciwieństwie do kartotekowych baz danych, te relacyjne przetwarzane, gromadzone i przechowywane są za pomocą komputera. Dane są zamieszczane w kilku (przynajmniej dwóch tabelach), które tworzą ze sobą relacje (związek). Na przykład tabela danych osobowych klienta powiązana z tabelą wypożyczonych przez niego książek w bibliotece.
- System zarządzania bazami danych to oprogramowanie komputerowe, służące do przechowywania, przetwarzania i modyfikowania gromadzonych danych, np. Acces (Microsoft Office), Base (OpenOffice).
- Tabela to inaczej mówiąc uporządkowany zbiór danych, przechowywanych w jednolity (ustandartysowany) sposób. Dane w tabeli mogą być poddawane różnym operacjom: przeglądane, wyszukiwane, zamieniane, zaznaczane, kopiowane, usuwane.
Warto zapamiętać więc pojęcie CRUD – od ang. create, read, update and delete (pol. utwórz, odczytaj, aktualizuj i usuń)
Działanie | Instrukcja SQL | HTTP | DDS |
---|---|---|---|
Create | INSERT | PUT / POST | write |
Read (Retrieve) | SELECT | GET | read / take |
Update | UPDATE | POST / PUT / PATCH | write |
Delete (Destroy) | DELETE | DELETE | dispose |
- Rekord – to wiersz w tabeli. Opisuje on informacje o jednym obiekcie. Wiersz składa się z
pól opisujących cechy obiektu. Na przykład obiekt user. - Kolumna zawiera dane jednego określonego typu. Przykładowo dla obiektu user, rekord zawiera imie, nazwisko, telefon, data-urodzenia czy login, email, haslo, etc..
- Kwerenda (querry) to zapytanie umożliwiające wyświetlenie pól i rekordów z tabel według kryterium ustalonego przez użytkownika. Kwerenda służy też do porządkowania danych, wykonywania obliczeń i aktualizacji danych (wspomniany wcześniej CRUD, czyli np. dla języka SQL będą to instrukcje INSERT, SELECT, UPDATE, DELETE, etc.
- Formularz jest obiektem, upraszczającym proces wprowadzania i aktualizacji danych.
- Raport to prezentacja wybranych informacji z bazy danych. Raporty wykonuje się zazwyczaj w formie wydruku. Przykładem może być lista klientów zarejestrowanym w danym przedziale czasu czy najczęściej sprzedające się produkty w sklepie w danym okresie lub zestawienia sprzedażowe / księgowe. Sama faktura VAT jest takim raportem.
- Sortowanie to porządkowanie rekordów w określonym porządku, np. rosnąco czy malejąco (ascending, descending)
- Klucz podstawowy to unikatowa nazwa pola (najczęściej stosuje się nazewnictwa „ID” – np. ID imię)- typ pola autonumerowanie (autoinkrementacja – autoincrement). Każdy rekord w tabeli musi mieć swój unikatowy numer.
- Klucz obcy – kolumna jest kluczem obcym dla danej tabeli, jeśli nie jest jej kluczem podstawowym, ale jej wartości są wartościami klucza podstawowego innej tabeli.
- Relacje (związki) to zależności między tabelami, które umożliwiają ich logiczne powiązanie ze sobą choćby w celu wykonywania wielowątkowych/tabelowych zapytań (kwerend).
Typy relacji:
- Jeden-do-jednego – jednemu rekordowi pierwszej tabeli jest przyporządkowany dokładnie jeden rekord drugiej tabeli, a jednemu rekordowi drugiej tabeli jest przyporządkowany dokładnie jeden rekord pierwszej tabeli, np. dla jednej płatności BLIK jest przyporządkowany jeden kod BLIK i odwrotnie;
- Jeden-do-wielu – jednemu rekordowi pierwszej tabeli jest przyporządkowanych wiele rekordów drugiej tabeli, a jednemu rekordowi drugiej tabeli jest przyporządkowany dokładnie jeden rekord pierwszej tabeli, np. nauczyciel matematyki ma wielu uczniów z danej klasy ale uczniowie danej klasy mają tylko jednego nauczyciela matematyki;
- Wiele-do-wielu – jednemu rekordowi pierwszej tabeli jest przyporządkowanych wiele rekordów drugiej tabeli, a jednemu rekordowi drugiej tabeli jest przyporządkowanych wiele rekordów pierwszej tabeli, np. każdy z uczniów ma wielu nauczycieli i każdy nauczyciel uczy wielu uczniów.
Dodatkowe pojęcia związane z bazami danych:
- Indeks – struktura danych mająca na celu przyspieszenie operacji wyszukiwania rekordów w bazie. Działa podobnie do indeksu w książce, wskazując gdzie dokładnie znajdują się poszczególne dane.
Przykład: Jeśli mamy tabelę z milionem książek, indeks po tytule książki pozwoli szybciej znaleźć konkretny tytuł niż przeszukiwanie całej tabeli.
- Transakcja – zestaw operacji na bazie danych traktowany jako jedna jednostka pracy. Transakcje są używane do zapewnienia integralności bazy danych.
Przykład: Kiedy chcemy przenieść pieniądze z jednego konta bankowego na drugie, operacja ta składa się z dwóch kroków: odjęcia kwoty z jednego konta i dodania tej samej kwoty do drugiego konta. Jeśli jeden z tych kroków by się nie powiódł, transakcja zostaje cofnięta, aby zapewnić, że pieniądze nie zostaną utracone.
- Normalizacja – proces organizacji pól i tabel w bazie danych w celu zminimalizowania powtórzeń i zależności danych.
Przykład: Jeśli w bazie mamy tabelę z adresami użytkowników, a w wielu rekordach adresy się powtarzają, możemy stworzyć osobną tabelę z adresami i odnosić się do niej poprzez klucz obcy, zamiast powtarzać te same dane w wielu miejscach.
- Procedura składowana – zestaw poleceń SQL, które można wykonać jako pojedynczą jednostkę pracy.
Przykład: Możemy stworzyć procedurę składowaną, która automatycznie archiwizuje wszystkie rekordy starsze niż rok.
- Widok (View) – wirtualna tabela utworzona na podstawie wyniku zapytania.
Przykład: Jeśli mamy tabelę z produktami i tabelę ze sprzedażą, możemy stworzyć widok, który pokazuje tylko te produkty, które zostały sprzedane w ostatnim miesiącu.
- Trigger (Wyzwalacz) – procedura automatycznie wywoływana w odpowiedzi na pewne zdarzenia na określonej tabeli lub widoku w bazie danych.
Przykład: Możemy stworzyć wyzwalacz, który automatycznie aktualizuje datę ostatniej modyfikacji rekordu, kiedykolwiek jest on edytowany.
- Schema (Schemat) – kolekcja obiektów bazy danych (takich jak tabele, widoki, procedury składowane, itp.) należących do jednego użytkownika/roli.
Przykład: W firmie dział HR może mieć swój własny schemat z tabelami dotyczącymi pracowników, podczas gdy dział finansów może mieć inny schemat z tabelami dotyczącymi płatności.
- Backup i przywracanie – proces tworzenia kopii zapasowej danych z bazy i późniejszego przywracania ich.
Przykład: Jeśli doszło do awarii systemu i straciliśmy część danych, możemy użyć ostatniej kopii zapasowej (backupu) do przywrócenia bazy do stanu sprzed awarii.