Tworzenie i usuwanie bazy
Najpierw zaprojektujemy prostą bazę danych ksiegarnia_internetowa, aby potem ją utworzyć, wypełnić danymi i wykonywać operacje na danych. Posłużymy się przykładem zaprezentowanym w książce PHP i MySQL tworzenie stron WWW autorstwa Luke Welling oraz Laury Thomson.
Identyfikatory MySQL
Podsumujmy zasady nazewnictwa, które będziemy stosować podczas pracy z bazą MySQL.
Nazwa obiektu bazy danych to jego identyfikator. W MySQL mamy takie identyfikatory jak bazy danych, tabele, kolumny i indeksy oraz aliasy. O indeksach i aliasach dowiesz się w dalszym toku nauki. Tworząc nazwy będziemy stosować następujące zasady:
- Używamy liter a-z oraz A-Z, bez "polskich ogonków", a także cyfr 0-9. Co prawda od wersji 3.23.6 serwera MySQL, można stosować standard Unicode zawierający znaki różnych języków, ale będziemy w tym zakresie zgodni ze standardami obowiązującymi w językach programowania.
- Pierwszym znakiem nie może być cyfra.
- Zamiast spacji będziemy uzywać podkreślnika np.
nazwa_tabeli
- Należy stosować nazwy czytelne, oddające rzeczywistość np.
recenzje_ksiazek
, a nie np.ksiazki_2
. - Serwer baz danych rozróżnia wielkie i małe litery, jeżeli robi to system operacyjny. Unix jest system który rozróżnia wielkość liter. Będziemy jednak stosować nazewnictwo uniwersalne, które sprawdzi się w każdej sytuacji - wystarczy stosować nazwy które są unikatowe bez względu na wielkość liter.
- Na koniec, musimy wziąć pod uwagę fakt, że w PHP przyjęto stosowanie małych liter. W dalszym toku nauki będziemy administrować MySQL z poziomu PHP, więc powinniśmy dla wygody ujednolicić stosowane przez nas nazewnictwo. Dlatego umówmy się, że podczas pracy z MySQL, w pisowni identyfikatorów jak również w nazwach plików i folderów będziemy stosować małe litery, zgodnie z omówionymi wcześniej zasadami.
Polecenia SQL będziemy pisać wielkimi literami.
Schemat bazy ksiegarnia_internetowa
Nasza baza będzie rejestrować sprzedaż książek w księgarni internetowej. W tym celu będą utworzone następujące tabele:
- klienci(klient_id, nazwisko_imie, adres, miejscowosc)
- zamowienia(zamowienie_id, klient_id, wartosc, data)
- ksiazki(isbn, autor, tytul, cena)
- ksiazki_zamowione(zamowienie_id, isbn, ilosc)
- recenzje_ksiazek(isbn, recenzja)
Wyjaśnijmy, że isbn
to unikatowy numer książki ISBN, możesz go znaleźć na początku książki - w miejscu gdzie podawane są inne informacje, jak wydawnictwo, rok wydania, informacja o prawach autorskich, itp. Tak więc mamy gotowy klucz główny w tabeli ksiazki
. Tabela ksiazki_zamowione
nie posiada własnego pola identyfikującego, ponieważ zamowienia_id
oraz isbn
, brane pod uwagę łącznie - zapewniają unikatowość każdego rekordu, pod warunkiem, że każda zamówiona książka będzie wpisywana w jednym wierszu, niezależnie od tego ile egzemplarzy zamówiono. Dlatego tabela ta posiada kolumnę ilosc
. Zakładamy, że tylko do części książek została napisana recenzja (tylko jedna recenzja danej książki), dlatego została utworzona oddzielna tabela recenzje_ksiazek
, zawierająca istniejące recezje. Dzięki tej tabeli unikamy pustych pól, które wystąpiłyby, gdyby kolumna recenzje
znajdowała się w tabeli ksiazki
.
Diagram tabel i relacji bazy ksiegarnia_internetowa
Poniższy diagram pokazuje układ tabel i relacji. Na tej podstawie możemy przeanalizować przepływ danych między poszczególnymi tabelami bazy.

Utworzenie bazy danych ksiegarnia_internetowa
Na tych zajęciach uczynimy pierwszy, bardzo prosty krok w procesie tworzenia bazy. Utworzymy naszą bazę danych o nazwie ksiegarnia_internetowa
. W tym celu należy otworzyć phpMyAdmina - zakładka SQL, a następnie:
-
Wpisać
CREATE DATABASE ksiegarnia_internetowa;
i kliknąć Wykonaj, przy czym zastosujemy bardziej rozbudowane polecenieCREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
, które zagwaranuje nam poprawne wyświetlanie polskich liter. - Powinien pojawić się komunikat o wykonaniu polecenia, a nasza baza powinna zostać dołączona do listy baz.
CREATE DATABASE ksiegarnia_internetowa;
to instrukcja napisana w języku SQL. Proszę zwrócić uwagę na składnię CREATE DATABASE
- jest pisana dużymi literami, taką właśnie konwencję będziemy stosować. Co prawda MySQL nie rozróżnia wielkich i małych liter w poleceniach SQL, ale taką pisownię będziemy stosować w "ręcznym" administrowaniu bazą.


Usunięcie bazy danych ksiegarnia_internetowa
Teraz możemy spokojnie przećwiczyć usuwanie bazy danych, ponieważ nic ona jeszcze nie zawiera. Po usunięciu bazy, należy ją ponownie utworzyć, aby na następnych zajęciach z niej korzystać.
- Polecenie
DROP DATABASE ksiegarnia_internetowa;
powinno bazę usunąć. - Jeżeli pojawi się komunikat, że jest to niemożliwe, wtedy klikamy nazwę naszej bazy na liście baz (po lewej).
- Otwieramy zakładkę Operacje, a następnie Usuń bazę danych.
Opisane czynności usuwania bazy pokazują zrzuty ekranu:

