Jakie tabele w bazie?
Wydawać by się mogło, że odpowiedź na tytułowe pytanie jest oczywista. Jak biblioteka, to wiadomo – coś podobnego, co mieliśmy w rozdziałach 1-2. Czyli jedna tabela ze wszystkimi danymi. Jak już pisałem – można tak zrobić i nawet to działa. Jednak teraz skupimy się na troszkę innym zagadnieniu – mianowicie, ile danych nam będzie potrzebne i w jaki sposób je poukładać.
W jednaj bazie danych może być więcej tabel i my je utworzymy. Pytanie teraz brzmi – jakie? Dotychczasową główną tabelę rozbijemy na kilka. Teraz musimy się zastanowić, jakie tabele nam będą potrzebne i po co.
Tabela: ksiazki
Tabela ksiazki
będzie nam potrzebna, ale już nie będzie taka sama jak dotychczas. Będą w niej tylko najpotrzebniejsze dane dotyczące książek – te które są nierozerwalnie związane z książką. Może ktoś powiedzieć, że właśnie tak było poprzednio. Rzeczywiście, było, ale teraz w tabeli książki niektóre dane będą powiązane z danymi w innych tabelach. Dzięki temu uzyskamy pewną elastyczność. W tabeli ksiazki
na pewno będą kolumny w których będziemy bezpośrednio wprowadzać dane:
- tytuł
- ISBN
- rok_wydania
Co z autorem, o autorze, opisem, wydawnictwem? Będą, ale albo jako odnośniki do innej tabeli, albo w całości w innych tabelach, a powiązania między tabelami będą trzymane w jeszcze innej tabeli. Zresztą, w praniu zobaczymy, jak to wyjdzie.
Tabela: autor
W tej tabeli będziemy przechowywali dane autorów. Będą w niej kolumny:
- nazwisko
- imię
- o_autorze
Na początek wystarczy. W każdej chwili można będzie dodać jakąś nową kolumnę, na przykład data_urodzenia
, data_smierci
, nagrody
(na przykład nagroda Nobla z literatury albo innej dziedziny). Popatrzmy teraz: zmieniając tabelę autor
nie naruszamy konstrukcji tabeli ksiazki
. W tej ostatniej mogą zostać dane jakie były, a dodając nowe kolumny do tabeli autor
wzbogacamy naszą bazę danych i nie musimy się zastanawiać nad wpływem na inne tabele. Tak samo możemy zmieniać tabelę ksiazki
– coś dodać, coś ująć, ale nie będzie to miało wpływu na tabelę autor
. Jedynie nad czym będziemy się musieli zastanowić, to zadbać o odpowiednie relacje pomiędzy tabelami.
Tabela: wydawnictwo
W tabeli wydawnictwo
będziemy mieli kolumny:
- nazwa
- adres
- rok_założenia
Kolumnę adres
można rozłożyć na kolumny: kod
, poczta
, miejscowosc
, ulica
, numer_domu
, numer_lokalu
. Można też dodać informacje o wydawnictwie czyli kolumnę o_wydawnictwie
. I tak dalej. To już zostawiam inwencji Czytelnika, jeśli chce się pobawić, to nie ma problemu. My zajmiemy się przede wszystkim powiązaniem tych tabel.
Oczywiście w każdej tabeli będzie kolumna id
. Utwórzmy sobie więc te tabelki. Poniżej podaję instrukcje do utworzenia poszczególnych tabel. Należy je przepisać. Nie podaję na razie instrukcji do skopiowania, by Czytelnik sam własnoręcznie pisał instrukcje. Być może tak już zostanie do końca kursu, zobaczymy. Można też utworzyć tabele z pomocą phpMyAdmina.
W menu klikamy na „SQL” i wpisujemy instrukcje:









Mamy już utworzone tabele, to znaczy struktury. Jeszcze brakuje nam jakichś danych. Zaraz je uzupełnimy. Oto poniższe dane które należy wprowadzić do poszczególnych tabel (tylko najważniejsze dane, puste pola można uzupełnić później):
ksiazki
:



autor
:



wydawnictwo
:


