GAJDAW


MOJE KSIĄŻKI

Książka pt. Git. Recipes
Książka pt. Git. Rozproszony system kontroli wersji
Książka pt. PhpStorm Starter
Książka pt. Symfony w przykładach
Książka pt. GIMP. Praktyczne projekty. Wydanie II
Książka pt. PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych
Książka pt. PHP. Praktyczne projekty

PROGRAMY

Projektowanie baz danych w praktyce: muzyka rockowa

Włodzimierz Gajda

Działanie aplikacji internetowych, prezentujących duże ilości informacji, opiera się o bazy danych. Dane, jakie widzimy na stronie WWW, są składowane i udostępniane przez serwer baz danych. Struktura bazy danych wyznacza granice funkcjonalności serwisu internetowego. Jeżeli model bazy nie zawiera pewnego rodzaju informacji, to w serwisie informacje takie nie będą dostępne. Mając to na uwadze, przygotujemy model bazy danych, której celem będzie przechowywanie informacji o muzyce rockowej. W modelu zawrzemy tabele i relacje umożliwiające przechowywanie danych na temat płyt, poszczególnych utworów, muzyków oraz zespołów.

1. Program DBDEsigner4

Rysunek 1. Program DBDEsigner4

2. Tworzymy tabelę tutwor

Rysunek 2. Tworzymy tabelę tutwor

Uruchamiamy aplikację DBDesigner, a następnie za pomocą narzędzia „New Table” dodajemy nową tabelę. Nowoutworzona tabela będzie się początkowo nazywała Table_01.

3. Edytor tabeli

Rysunek 3. Edytor tabeli

Podwójnym kliknięciem tabeli Table_01 uruchamiamy edytor właściwości tabeli. Zmieniamy nazwę tabeli na tutwor i definiujemy pola.

4. Tabela tplyta

Rysunek 4. Tabela tplyta

W podobny sposób dodajemy tabelę tplyta.

5. Tabela tzespol

Rysunek 5. Tabela tzespol

Następnie dodajemy tabelę tzespol.

6. Tabela tosoba

Rysunek 6. Tabela tosoba

Jako ostatnią definiujemy tabelę tosoba.

7. Cztery tabele

Rysunek 7. Cztery tabele

Otrzymaliśmy model zawierający cztery tabele: tutwor, tplyta, tzespol, tosoba.

8. Region tabeli tutwor

Rysunek 8. Region tabeli tutwor

Korzystając z narzędzia „New Region” tworzymy nowy region, po czym stosując technikę ciągnij-upuść przesuwamy tabelę tutwor na nowo utworzony region.

9. Edytor regionu

Rysunek 9. Edytor regionu

Podwójnie klikamy w region. Okno dialogowe, jakie ujrzymy po tej operacji, umożliwia zmianę właściwości regionu. Wprowadzamy nową nazwę regionu: Utwory.

10. Region tabeli tplyta

Rysunek 10. Region tabeli tplyta

Następnie dodajemy region przeznaczony na tabele dotyczące płyt. Region ten nazywamy Płyty. Umieszczamy na nim tabelę tplyty.

11. Rodzaj płyty

Rysunek 11. Rodzaj płyty

W regionie Płyty dodajemy nową tabelę tplyta_rodzaj. Tabela ta będzie przechowywała informacje o rodzajach płyt.

12. Relacja płyta-rodzaj

Rysunek 12. Relacja płyta-rodzaj

Tabele tplyta oraz tplyta_rodzaj łączymy relacją 1:n. Naciskamy na pasku narzędzi przycisk „New 1:n non-identifying relation” po czym klikamy najpierw w tabelę tplyta_rodzaj, a następnie w tabelę tplyta.

13. Edytor relacji

Rysunek 13. Edytor relacji

Chcąc zmienić nazwę klucza obcego oznaczonego na rysunku literami FK przechodzimy do edytora właściwości relacji. W tym celu podwójnie klikamy w linię reprezentującą relację.

14. Pole tekstowe

Rysunek 14. Pole tekstowe

Następnie dodajemy do modelu pole tekstowe, będące komentarzem przypominającym rolę tabeli tplyta_rodzaj. Wybieramy narzędzie tekstowe po czym klikamy w pobliżu tabeli tplyta_rodzaj.

15. Edytor pola tekstowe

Rysunek 15. Edytor pola tekstowe

Podwójne kliknięcie w pole tekstowe uruchamia edytor pozwalający na modyfikacje tekstu.

16. Wykonawca

Rysunek 16. Wykonawca

Dodajemy do modelu kolejny region. Jest on przeznaczony na tabele zawierające dane o zespołach i muzykach, czyli o wykonawcach utworów. Na regionie tym umieszczamy tabele tzespol oraz tosoba. Region nazywamy Wykonawca/Autor.

17. Członkowie zespołu

Rysunek 17. Członkowie zespołu

Tabele tzespol oraz tosoba łączymy relacją n:m. Wybieramy narzędzie „New n:m relation” po czym klikamy tabele tzespol oraz tosoba. W obszarze roboczym pojawi się nowa tabela o nazwie tzespol_has_tosoba.

18. Trzy regiony

Rysunek 18. Trzy regiony

Otrzymaliśmy bazę danych zawierającą trzy regiony. Regiony te są przeznaczone na informacje dotyczące utworów, płyt oraz wykonawców.

19. Tabela twykonawca

Rysunek 19. Tabela twykonawca

W regionie Wykonawca/Autor dodajemy tabelę twykonawca. Łączymy ją relacjami 1:n z tabelami tosoba oraz tzespol po czym dodajemy pole logiczne osobazespol. Tabela ta będzie służyła do wybierania autorów, wykonawców, muzyków, realizatorów nagrań itd. z tabel tzespol oraz tosoba. Pole osobazespol będzie odgrywało rolę indykatora wybierającego tabelę tosoba lub tzespol.

20. Rodzaj wykonawcy

Rysunek 20. Rodzaj wykonawcy

Dodajemy tabelę twykonawca_rodzaj i łączymy ją relacją 1:n z tabelą twykonawca. W tabeli twykonawca_rodzaj będziemy przechowywali informacje o funkcji pełnionej przez konkretną osobę lub zespół w odniesieniu do utworu lub płyty.

21. Wykonawca utworu

Rysunek 21. Wykonawca utworu

Tabelę twykonawca łączymy relacją n:m z tabelą tutwor. W ten sposób będziemy przechowywali informacje dotyczące konkretnego utworu: autora tekstu, autora muzyki, wykonawcę, realizatora nagrania czy producenta (każdą z tych funkcji może pełnić pojedyncza osoba lub cały zespół!)

22. Wykonawca płyty

Rysunek 22. Wykonawca płyty

W podobny sposób ustalamy wykonawcę płyty. Tabelę tplyta łączymy relacją n:m z tabelą twykonawca.

23. Wykonawca utworu i płyty

Rysunek 23. Wykonawca utworu i płyty

Otrzymaliśmy model zawierający trzy regiony połączone relacjami.

24. Utwory z płyty

Rysunek 24. Utwory z płyty

Połączmy jeszcze relacją n:m tabele tplyta oraz tutwor. Umożliwi to przechowywanie informacji o liście utworów zawartych na każdej z płyt.

25. Studia nagraniowe i koncerty

Rysunek 25. Studia nagraniowe i koncerty

W celu wzbogacenia bazy danych o informacje dotyczące studia nagrań oraz ewentualnie koncertu definiujemy nowy region Studio/Koncert i umieszczamy na nim tabele tstudiokoncert, tadres oraz tstudiokoncert_rodzaj.

26. Utwory, płyty, studia nagraniowe i koncerty

Rysunek 26. Utwory, płyty, studia nagraniowe i koncerty

Tabelę tstudiokoncert łączymy relacjami 1:n z tabelami tutwor oraz tplyta. Relacje te umożliwią ustalenie miejsca nagrania utworu lub całej płyty.

27. Fotografie

Rysunek 27. Fotografie

Dodajemy nowy obszar o nazwie Foto. W obszarze tym umieszczamy tabele oraz relacje, które umożliwią przechowywanie fotografi zespołów, poszczególnych osób, okładek płyt, sal koncertowych oraz studiów nagrań.

28. Baza danych: Muzyka rockowa

Rysunek 28. Baza danych: Muzyka rockowa

Otrzymaliśmy bazę danych, która umożliwia przechowywanie informacji dotyczących płyt, utworów, osób, zespołów, sal koncertowych oraz studiów nagrań. Baza ta umożliwia między innymi przechowywanie złożonych informacji na temat konkretnego utworu: od wykonawcy i autora po dowolnie długą listę osób i zespołów, które w jakikolwiek sposób przyczyniły się do jego powstania.

29. Eksport skryptu SQL

Rysunek 29. Eksport skryptu SQL

Wykonany model możemy wyeksportować w postaci skryptu SQL tworzącego wszystkie tabele. W tym celu wybieramy narzędzie „SQL Creates Script”, a następnie w oknie dialogowym ustalamy porządane właściwości skryptu SQL. Po naciśnięciu przycisku „Copy script to clipboard” skrypt zostanie umieszczony w schowku.

30. Skrypt SQL

Rysunek 30. Skrypt SQL

Po wykonaniu operacji „Wklej” w edytorze pojawi się kod skryptu SQL.

lp. Przykład
1. Baza danych: muzyka rockowa

Tabela 1. Przykłady do pobrania

lp. Pobierz
1. Aplikacja DBDesigner4

Tabela 2. Pliki do pobrania


Reklama

Szkolenia z Zend Framework 2.0