PHP/Wstęp do baz danych: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 1:
{{prognaw|PHP|[[../System plików/]]|[[../Projekt bazy danych/]]}}
 
= Wstęp do baz danych =
Aplikacje bazodanowe to specjalistyczne aplikacje, których głównym celem jest przechowywanie złożonych informacji, zarządzanie nimi oraz ich udostępnianie. Pod pojęciem "zarządzania" rozumie się ich modyfikację, kasowanie i dodawanie, natomiast "udostępnianie" oznacza możliwość ich pobierania na wszystkie możliwe sposoby we wszystkich kombinacjach, posortowane według dowolnego parametru. Bazy danych wykorzystywane są wszędzie tam, gdzie mamy do czynienia ze złożoną organizacją informacji. Również witryny WWW swą zawartość przechowują najczęściej w bazach, podczas gdy skrypty służą jedynie do ich wyświetlania i przetwarzania. Dzięki temu programista nie musi się martwić pisaniem kodu odpowiedzialnego np. za sortowanie wyników - całą pracę wykonali już za niego twórcy bazy danych.
 
Moje gg 1493355
 
=== Przegląd serwerów DB ===
Oto krótki przegląd niektórych dostępnych serwerów DB:
* ''MySQL'' - najpopularniejszy serwer DB do zastosowań WWW stworzony przez szwedzką firmę ''MySQL AB''. Można go używać bez żadnych opłat. MySQL słynie ze swej olbrzymiej wydajności, a najnowsza wersja 5.0, z której będziemy korzystać, obsługuje już prawie cały standard ANSI SQL. Początkowo PHP posiadał wbudowaną obsługę tego serwera, lecz w wyniku zmian licencyjnych musiał zrezygnować z tego i obecnie moduł dla MySQL-a należy dodawać ręcznie.
* ''PostgreSQL'' - główny konkurent MySQL-a dostępny na licencji open-source. Jego wydajność jest nieco mniejsza, ale wciąż jest to jedyny darmowy serwer DB, który posiada pełną obsługę standardu ANSI SQL.
* ''IBM DB2 Express-C'' - to bezpłatna edycja znanej bazy IBM DB2, udostępniona na systemy Linux i Windows. Jej darmowe, nielimitowane wykorzystanie możliwe jest w odmianach 32 i 64 bitowych, na serwerach z dwoma procesorami i 4 GB RAM. Dostępne są różne metody wykorzystania DB2 z poziomu PHP, w tym również pełne, bezpłatne środowisko Zend Core for IBM oraz wsparcie dla PDO w PHP5. Więcej informacji można odnaleźć na tej stronie: http://www-306.ibm.com/software/data/db2/udb/edition-expressc.html.
* ''SQLite'' - ten serwer DB jest dość specyficzny, ponieważ w rzeczywistości jest to biblioteka wbudowywana w aplikacje, które go wykorzystują (np. w interpreter PHP). Stąd też do korzystania z niego nie potrzeba żadnych dodatkowych programów. SQLite jest wbudowany domyślnie w PHP, odkąd zmienił się sposób licencjonowania MySQL-a.
 
W przeszłości PHP posiadał osobne funkcje do komunikacji z każdą z tych baz, dlatego powstawało wiele napisanych w PHP bibliotek unifikujących interfejs (np. ADODB, Creole). Ponadto dodawały one kilka zwiększających wydajność opcji takich, jak cache'owanie wyników zapytań do plików. W PHP 5.1.0 pojawiła się wreszcie wbudowana biblioteka ''PHP Data Objects'', która także udostępnia jednolite API. Skorzystamy z niej w tym podręczniku, posiłkując się dodatkowo polską nakładką ''Open Power Driver'' dodającą możliwość cache'owania wyników zapytań.
 
=== Spis treści ===
Ta część podręcznika rozpocznie się od nauki podstaw języka SQL. Następnie nauczysz się podstaw programowania obiektowego, którego znajomość jest niezbędna, aby korzystać z biblioteki PDO. Dowiemy się także, jak w przeszłości komunikowało się z bazami danych oraz napiszemy przykładową aplikację: system newsów.
 
# Podstawy języka SQL
##[[PHP/Projekt bazy danych|Projekt bazy danych]]
##[[PHP/Zarządzanie rekordami|Zarządzanie rekordami]]
##[[PHP/Pobieranie rekordów|Pobieranie rekordów]]
##[[PHP/Relacje i indeksy|Relacje i indeksy]]
#[[PHP/Wstęp do programowania obiektowego|Wstęp do programowania obiektowego]]
#[[PHP/Biblioteka PDO|Biblioteka PDO]]
#[[PHP/Jak to się robiło kiedyś?|Jak to się robiło kiedyś?]]
#[[PHP/phpMyAdmin|phpMyAdmin]]
#[[PHP/Studium przypadku/System newsów|Studium przypadku: System newsów]]
#[[PHP/Bazy danych - Co dalej?|Bazy danych - co dalej?]]