<p>
Dlaczego do tworzenia bazy danych nie wykorzystuję
operacji synchronizacji dostępnej w <span class="program">DBDesignerze</span>?
</p>

<p>
Po pierwsze <span class="program">DBDesigner</span> nie współpracuje poprawnie
z najnowszymi wersjami serwera <span class="program">MySQL</span>. Rozwój aplikacji został wstrzymany.
Nowe wersje <span class="program">DBDesignera</span>,
nazwane <span class="program">MySQL Workbench</span>, wejdą w skład oprogramowania
tworzonego i dystrybuowanego przez <span class="program">MySQL.com</span>
(do tej pory <span class="program">DBDesigner</span>
był aplikacją tworzoną przez niezależnych programistów).
</p>

<p>
Po drugie, udostępnianie baz danych w postaci plików XML generowanych
przez program <span class="program">DBDesigner</span>
byłoby dużym utrudnieniem dla odbiorców (wymagałoby
instalacji <span class="program">DBDesignera</span> i synchronizacji bazy danych).
</p>

<p>
W ciągu ostatnich kilku lat wykorzystywałem wiele różnych formatów
do udostępniania bazy danych: od plików (tekstowych czy binarnych),
przez skrypty PHP po pliki zawierające zestaw poleceń SQL.
</p>

<p>
Zdecydowanie najlepszym rozwiązaniem okazały się skrypty SQL.
Instalacja bazy danych na podstawie skryptu SQL wymaga jedynie wykonania
jednego polecenia w konsoli <span class="program">mysql</span>,
a i to zadanie możemy uprościć
przygotowując skrypt <span class="filename">.bat</span> dla użytkowników
systemu Windows oraz <span class="filename">.bash</span> dla
osób korzystających z u*ixa.
</p>

<p>
W pliku SQL należy umieścić, oprócz instrukcji tworzących tabele
i dodających rekordy, także polecenia
warunkowego usuwania bazy danych, tworzenia bazy,
ustalające kodowanie znaków oraz uprawnienia.
</p>

<p>
Wtedy skrypt taki możemy wykonać dowolną liczbę razy bez konieczności ręcznego usuwania bazy danych.
</p>

<p>
Oczywiście rozwiązanie takie nie sprawdzi się w przypadku dużych baz danych.
Sądzę, że gdy rozmiar pliku <span class="filename">.sql</span> przekroczy kilka megabajtów
z rozwiązania takiego należy zrezygnować (baza danych z piosenkami
zespołu U2 opisana w numerze 12/2005 MI liczyła zaledwie 500 kB,
zatem podane powyżej
kilkumegabajtowe ograniczenie z powodzeniem wystarczy do przygotowania wielu różnych witryn).
</p>

<p>
Przykładowa baza jest zapisana w pliku
<span class="filename">filmy-kompletna.sql</span>, który wykonamy uruchamiając
plik wsadowy <span class="filename">filmy-kompletna.bat</span>.
</p>
