![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję stworzyć tabelę, która będzie kojarzyła ze sobą pozycje dwóch innych tabel:
1) Tabela "users" z id użytkownika i jego danymi 2) Tabela "hobby" z id hobby i nazwą hobby Chcę, aby każdy użytkownik mógł sobie obrać kilka zdefiniowanych przeze mnie hobby. Tworzę więc tabelę z dwoma polami: 1) user_id 2) hobby_id Teraz pytanie: Czy jest jakiś silny argument, aby dodawać pole id w tabeli łączącej? Zawsze mnie uczono, że id musi być i że ułatwia pracę, ale w tym przypadku szczerze mówiąc nie widzę zastosowania. Gdy user zmienia hobby po prostu kasuję jego dotychczasową listę hobby i tworzę jeszcze raz. Nie mam potrzeby odwoływania się do konkretnego wiersza tabeli łączącej. Co więcej boję się, że przy częstej zmianie hobby, wartości jej pól "id" drastycznie urosną mimo ogólnie małej ilości wierszy. Dlatego głównie nie chciałbym dodawać pola "id". Ten post edytował Zajec 6.04.2007, 23:10:03 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Tzn z mojego punktu widzenia ważna jest jedynie tabela 'hobbies', nie interesuje mnie to, jak nazywa się dany user (wystarczy mi ID).
Borykam się z tym problemem (braku unikalnej kolumny - nie mogę zmienić struktury tabel) od dosyć dawna. Kombinowałem poprzez złączenie dwukrotnie jednej, tej samej tabeli (np pierwsza.hobby_id=druga.hobby_id) ale dawało mi w efekcie elementy 'niepełne' (tutaj niepełne zainteresowania trzeciej osoby). Temat jest dla mnie niezwykle intrygujący ... po prostu nie lubię wiedzieć że czegoś nie wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A nie wiem jak unikatowo wybrać z takiej tabeli (hobbies) osoby o takich samych zainteresowaniach. Pomóżcie proszę zapytaniem SQL .... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:48 |