![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam czysto teoretyczne pytanie.
Mam dwie tabele które opisuje poniżej: Pierwsza tabela składającą się z dwóch kolumn: id i kategoria. Id jest nadawane przez auto_increment natomiast w kolumnie o nazwie kategoria mieszczą się nazwy kategorii i jest ich dokładnie pięć. Tabela ta wygląda tak: 1. pierwszy kategoria 2. druga kategoria 3. trzecia kategoria 4. czwarta kategoria 5. piąta kategoria Druga tabela zawiera: id, kategoria, nazwa. Id jest nadawane przez auto_increment, kategoria to cyfra która ma nawiązywać do pierwszej tabeli i kolumna nazwa posiada nazwy produktów i przykładowo wygląda tak: 1. 3. nazwa_produktu Oznacza to, że pierwszy rekord o identyfikatorze nr. 1 to produkt o nazwie: nazwa_produktu i należy do kategorii 3 Problem w tym, że 'id' w pierwszej tabeli jest przez auto_increment dlatego też jak usunę wszystkie rekordy w pierwszej tabeli i utworze je na nowo? wtedy nie będzie żadnej kategorii o identyfikatorze 3 bo wtedy tabela pierwsza będzie wyglądała tak: 6. pierwszy kategoria 7. druga kategoria 8. trzecia kategoria 9. czwarta kategoria 10. piąta kategoria Pojawia się problem bo nagle wszystkie rekordy z drugiej tabeli stracą kategorie. I jak to pogodzić? Bo ja widzę tylko jedną opcję. Oprócz kolumny 'id' w pierwszej tabeli która ma auto_increment wstawić jeszcze jedną kolumnę o nazwie np. "numer_kategorii" i na sztywno wpisywać oprócz nazwy kategorii jej numer ale czy to jest dobre rozwiązanie? Ten post edytował Zagiewa 8.04.2010, 19:47:51 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak rozumiem, że są klucze główne i obce i u mnie powinno to wyglądać tak:
tabela pierwsza: kolumna 'id' powinna być kluczem głównym? tabela druga: kolumna 'id' powinna być kluczem głównym natomiast kolumna druga 'kategoria' powinna być kluczem obcym nawiązującym do tabeli 'id' tabeli pierwszej? Klucze główne mam nadane ale czy klucz obcy też się nadaje? Jeśli tak to jak mam to zrobić? I najważniejsze pytanie jak nadam klucz obcy to od tej pory w drugiej tabeli w kolumna 'kategoria' będzie się zmieniała w wraz ze zmianą wartości kolumny 'id' w tabeli pierwszej? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 14:25 |