![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 1 Dołączył: 13.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie ponownie,
dzisiaj natknąłem się na kolejny problem: jak zaplanować efektywnie strukturę bazy danych? W jednej tabeli mam: 1. Nazwa_filmu 2. Opis_filmu 3. Okładka (link) 4. Autor 5. Autor_bio 6. Autor_fot (link) 7. Wersja_jezykowa 8. Cena 9. Premiera ( tak, nie ) i chciałem dodać kategorię, ale uzmysłowiłem sobie, że jedna komórka może przyjmować tutaj wiele wartości: terapia poznawcza, terapia behawioralna, etc. Poczytałem i znalazłem taką zasadę, aby nie wciskać wielu wartości w jedną komórkę, więc rozwiązaniem jest osobna tabela, a tam np. 1. Kategoria_ID 2. Nazwa_kategorii Czy to ma sens? Jak pożenić zapytania i wyświetlenia pól z tabel ? To może autorów też wrzucić w osobną tabelę? Wtedy byłyby trzy: 1. Filmy 2. Kategorie 3. Autorzy A w przyszłości: 4. Klienci 5. Zamówienia Pozdrawiam, Rafał -------------------------- Tak sobie dalej myślę, że jeśli utworzę kilka tabel, to będę mieć między nimi relacje, czyli będę musiał nauczyć się i używać inner join itp. ... Prościej byłoby np. zamiast tabeli - "kategorie" utworzyć osobną kolumnę w tabeli filmy i tam wpisywać kategorię. Zamotałem się. Ten post edytował arstherapia 3.09.2014, 23:14:10 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 50 Pomógł: 2 Dołączył: 28.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli każdy film ma jednego autora, a każdy autor ma tylko jeden film to wystarczą tabele film, kategoria, autor. Podobnie jest z kategoriami.
Ale jeśli jeden autor będzie miał 4 filmy, to w tamtym układzie będziesz miał w 4 wierszach te same dane (autor, autor_bio, autor_fot nie zmienią się). Film: - id (Primary Key) - nazwa - opis - okładka - w jakiej formie ma być okładka? jeśli jest to obrazek to lepiej przechowuj tylko id/nazwę obrazka, a nie cały link - wersja_jezykowa - cena - premiera Kategoria: - id (Primary Key) - kategoria_nazwa Film_kategoria: - id (Primary Key) - film_id - kategoria_id Autor: - id (Primary Key) - nazwa - bio - foto - to też img? lepiej zapisuj zdjęcia np. w katalogu img/autor/ i zapisuj pliki jako id.png (1.png, 512.png itd)? zamiast dodatkowej kolumny wystarczy wtedy odwołanie się do id Film_autor: - id (Primary Key) - film_id - autor_id Niekoniecznie im więcej tabel tym lepiej, ale należy unikać powtarzania się danych. Jeśli w jednej kategorii jest kilka filmów, to warto tylko raz trzymać w bazie nazwę kategorii, a do filmów przypisać tylko id. W przypadku zmiany nazwy takiej kategorii nie będziesz musiał zmieniać połowy swojej bazy, wystarczy wtedy jeden update. Ten post edytował zidek 4.09.2014, 08:09:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:58 |