Po co mi bazy danych.
Wykorzystanie baz danych znacznie rozszerza możliwości programów. Programy tworzone w PHP często potrzebują jakiejś metody do przechowywania i przetwarzania danych. Najprostszym i najwcześniej wykorzystywanym sposobem było zapisywanie danych do plików tekstowych. Niestety możliwości wykorzystania takich zbiorów danych są mocno ograniczone, a implementacja tego rozwiązania rodziła wiele problemów związanych choćby z jednoczesnym dostępem do danych przez wielu użytkowników. Na szczęście większość kont hostingowych, nawet tych darmowych, jest wyposażonych w jakąś bazę danych. Najczęściej jest to MySql.
Jakie sÄ… zalety stosowania baz danych?
- każdą daną wystarczy wpisać jeden raz by była dostępna we wszystkich wymaganych miejscach
- łatwość aktualizacji danych
- umożliwienie jednoczesnego dostępu do danych dla wielu użytkowników
- możliwość ograniczania dostępu do danych dla różnych grup użytkowników
- uniwersalny język do przetwarzania danych (SQL)
- eliminacja błędów spójności bazy danych
Co to jest baza danych?
Baza danych to zbiór uporządkowanych danych z pewnej dziedziny. Dane są wzajemnie ze sobą powiązane związkami logicznymi pozwalającymi na wybranie zestawu danych pod odpowiednim do potrzeb kontem.
W dalszej części będę skupiał się na bazie MySql głównie ze względu na jej dużą popularność i ogólną dostępność. W zasadzie wszystkie darmowe skrypty wykorzystujące bazy danych (fora, blogi, CMS-y itp.) są oparte na MySql-u, a jeżeli skrypt jest dostosowany do różnych baz danych, to opcja z MySql jest najlepiej udokumentowana.
MySql jest relacyjnÄ… bazÄ… danych. Dane w tym modelu przechowywane sÄ… w tabelach zwanych fachowo relacjami. Od razu zaznaczÄ™, że fachowa terminologia nie jest zbyt popularna i piszÄ…c o bazach danych bÄ™dÄ™ używaÅ‚ raczej okreÅ›leÅ„ powszechnie stosowanych, a terminy fachowe bÄ™dÄ™ umieszczaÅ‚ w nawiasach. Tabele skÅ‚adajÄ… siÄ™ z wierszy – rekordów (krotek – encji) – najmniejszych zbiorów danych dotyczÄ…cych jakiegoÅ› przedmiotu i kolumn (atrybutów) definiujÄ…cych najmniejsze porcje danych. Np. tabela samochody bÄ™dzie skÅ‚adaÅ‚a siÄ™ z rekordów opisujÄ…cych konkretne auta, a w kolumnach bÄ™dÄ… zdefiniowane cechy tych samochodów np. marka, model, rok produkcji, kolor itd. Poniżej prezentujÄ™ takÄ… przykÅ‚adowÄ… tabelkÄ™.
marka | model | rok_produkcji | kolor |
---|---|---|---|
Seat | Ibiza | 2001 | czerwony |
Volkswagen | Golf | 2003 | niebieski |
Peugeot | 307 | 2003 | srebrny |
Opel | Astra | 2007 | czarny |
Ford | Focus | 2006 | żółty |
Rekordy z poszczególnych tabel mogą być powiązane relacjami (związkami encji). Wyróżniamy trzy rodzaje relacji: jeden do jednego, jeden do wielu i wiele do wielu. Relacja jeden do jednego zachodzi w sytuacji, gdy jednemu rekordowi z pierwszej tabeli odpowiada jeden rekord z drugiej tabeli. Relacja jeden do wielu zachodzi, gdy jednemu rekordowi z pierwszej tabeli odpowiada jeden lub więcej rekordów z drugiej tabeli. Relacja wiele do wielu zachodzi, gdy jednemu lub kilku rekordom z pierwszej tabeli odpowiada jeden lub więcej rekordów z drugiej tabeli. W praktyce ten ostatni typ relacji jest zastępowany dwoma relacjami jeden do wielu z dodatkową tabelą.
Relacja pomiÄ™dzy tabelami tworzone sÄ… dziÄ™ki kluczom – specjalnym polom identyfikujÄ…cym rekordy w tabeli. WystÄ™pujÄ… klucze główne zwane też podstawowymi i obce. Klucz podstawowy jest unikalny w ramach jednej tabeli. Zapisanie wartoÅ›ci klucza głównego w innej tabeli tworzy klucz obcy.
Tagi: bazy danych, klucz główny, klucz obcy, klucz podstawowy, MySql, rekordy, relacje, tabele