W tym poradniku wyjaśnimy, w jaki sposób możemy zrobić relację trzech tabel w MySQL za pomocą panelu PHPMyAdmin. W ramach testów zalecamy tworzenie relacji na przykładowym projekcie utworzonym na localhost’cie, aby zapobiec problemom związanym ze stratą danych.
Gdy już poćwiczysz tworzenie relacji, możesz przystąpić do ich tworzenia już na gotowym projekcie. Jednak ważne jest to, abyś wiedział, jak stworzyć relację w MySQL, aby nie stracić danych w gotowej bazie danych. Pamiętaj, aby przed przystąpieniem do tworzenia relacji na gotowym projekcie, wykonać zabezpieczającą kopię zapasową poprzez eksport całej bazy danych. Zaczynajmy!
Zacznijmy od utworzenia bazy danych. Nazwijmy ją „Testowa„. Nie musimy ustawiać kodowania znaków na Polski, ponieważ to tylko baza do testów.
W gotowej bazie danych, utwórz 3 tabele i nazwij je odpowiednio: „Autorzy„, „Książki„, „Wydawnictwo„.
Tabelą główną, naszą łączącą tabelą, będzie ta o nazwie „Książki” – przyjmijmy, że tworzymy bazę danych dla małego sklepu z książkami.
Warto uzupełnić bazę o podstawowe informacje, w „Autorzy” możemy dać: ID, Imię, Nazwisko, reszta będzie opcjonalna, taka jak wiek itp.
W „Wydawnictwie” możesz stworzyć ID oraz nazwę wydawnictwa, czyli dwie kolumny.
Uzupełnij o przykładowe informacje, np. „Pana Tadeusza”, czy „Bogaty Ojciec, Biedny Ojciec”.
Oczywiście kluczami podstawowymi będą ID.
Następnym krokiem będzie ogarnięcie tabeli „Książki”. W niej tworzymy kolumny „ID”, „IDKsiazki” oraz „IDAutora”. ID będzie kluczem głównym, a IDAutora oraz IDKsiazki będą kluczami obcymi, ponieważ będą one pobierały obce informacji, czyli z innych tabel.
W takim razie musimy im dodać Index podczas edycji, wtedy stają się kluczami obcymi.
Aby wykonać relację przechodzimy do zakładki struktura i Relation View w tabeli Książki.
Tam uzupełniamy informacje, jakie klucze mają być do jakich kolumn.
Aby sprawdzić nasz rezultat, przechodzimy do bazy danych klikając w nią. Następnie wybieramy więcej i Widok Projektu. Tabele powinny być połączone liniami, jeśli nie są, oznacza to, że coś źle zrobiliśmy.