database mysql

Bazy danych – podstawowe pojęcia i typy relacji

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

  1. Baza danych (ang data base) – jest to zbiór powiązanych z sobą informacji, zorganizowanych w określoną strukturę, powiązanych ze sobą tematycznie.
  2. Rodzaje baz danych:
    1. 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,
    2. 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.
  3. System zarządzania bazami danych to oprogramowanie komputerowe, służące do przechowywania, przetwarzania i modyfikowania gromadzonych danych, np. Acces (Microsoft Office), Base (OpenOffice).
  4. 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
  1. 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.
  2. Kolumna zawiera dane jednego określonego typu. Przykładowo dla obiektu user, rekord zawiera imie, nazwisko, telefon, data-urodzenia czy login, email, haslo, etc..
  3. 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.
  4. Formularz jest obiektem, upraszczającym proces wprowadzania i aktualizacji danych.
  5. 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.
  6. Sortowanie to porządkowanie rekordów w określonym porządku, np. rosnąco czy malejąco (ascending, descending)
  7. 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.
  8. 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.
  9. 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:

  1. 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;
  2. 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;
  3. 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:

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

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

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

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

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

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

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

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *