282
Rozdział 7.
Czas na SQL
Włączanie obsługi bazy danych w Twojej aplikacji WWW
Plan, który zamierzamy zrealizować w tym rozdziale, zakłada dojście do punktu, w którym będziesz
mógł zmienić swoją aplikację WWW w taki sposób, aby przechowywała swoje logi w bazie danych
zamiast w pliku tekstowym, jak robiła to w poprzednim rozdziale. Mamy nadzieję, że dzięki temu
będziesz mógł następnie odpowiedzieć na pytania, które się w nim pojawiły, a więc:
Na ile żądań
udało jej się odpowiedzieć? Jaka jest najczęściej używana lista liter? Z których adresów IP nadchodzą
żądania? Z której przeglądarki internetowej najczęściej korzystają użytkownicy naszej aplikacji?
Aby dostać się do tego miejsca, musimy jednak najpierw wybrać system bazy danych, z którego
chcemy korzystać. Mamy tu mnóstwo opcji do wyboru i z łatwością zapełnilibyśmy kilkanaście
stron samym tylko opisem paru alternatywnych technologii bazodanowych oraz szczegółami
na temat mocnych i słabych stron każdej z nich. Nie zrobimy tego jednak, lecz wybierzemy
po prostu popularny system i skorzystamy z bazy danych
MySQL.
Wybrawszy bazę danych MySQL, przedstawmy cztery zadania, które zamierzamy wykonać
na kilkunastu kolejnych stronach książki:
Zainstaluj serwer bazy danych MySQL.
Zainstaluj sterownik bazy danych MySQL dla języka Python.
Utwórz bazę danych i tabele dla naszej aplikacji WWW.
Utwórz kod, za pomocą którego nasza aplikacja WWW
będzie korzystała z bazy danych i tabel.
Po wykonaniu tych czterech zadań będziemy gotowi do wprowadzenia takich zmian w kodzie
programu
vsearch4web.py, aby logował on dane w bazie danych MySQL zamiast w pliku
tekstowym. Następnie skorzystamy z języka SQL, aby zadać nasze pytania i — jeśli szczęście
nam dopisze — uzyskać na nie odpowiedzi.
1
2
3
4
P
: Czy musimy tu używać bazy MySQL?
O
:
Jeśli chcesz śledzić przykłady przedstawione w tym rozdziale,
odpowiedź brzmi: tak.
P
: Czy mogę korzystać z bazy MariaDB zamiast
z MySQL-a?
O
:
Tak. Jako że MariaDB jest klonem MySQL-a, nie ma problemu,
abyś używał tej bazy danych zamiast „oficjalnego” MySQL-a.
(W rzeczywistości wśród devopsów pracujących w laboratorium
Rusz głową!
to właśnie MariaDB stanowi ulubioną bazę danych).
P
: A co z bazą PostgreSQL? Mogę jej używać?
O
:
Hm... cóż, tak, ale z pewnym zastrzeżeniem: zamiast MySQL-a
możesz spróbować zastosować bazę PostgreSQL, jeśli korzystasz już
z niej (lub innego systemu zarządzania bazą danych wykorzystującego
język SQL) i masz w tym pewne doświadczenie. Zwróć jednak uwagę
na fakt, że w tym rozdziale nie pojawią się żadne instrukcje specyficzne
dla bazy PostgreSQL (czy też jakiejś innej), możesz więc być zmuszony
do samodzielnego wykonania pewnych eksperymentów, gdy coś,
co będziemy prezentować za pomocą MySQL-a, nie będzie działać tak
samo w przypadku wybranej przez Ciebie bazy danych. Do dyspozycji
masz też zapewnianą przez Pythona niezależną, jednoużytkownikową
bazę SQLite, która umożliwia korzystanie z języka SQL
bez
konieczności
uruchamiania oddzielnego serwera. Ogólnie rzecz biorąc, wybór
określonej technologii bazodanowej powinien być w dużej mierze
uzależniony od tego, co próbujesz osiągnąć.
głupie pytania
Nie istnieją
Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.