Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyjaśnienie zasady działania - CONSTRAINT
maly_pirat
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Cześć.

W Kohanie (FW) mamy moduł Auth.
Pod koniec zapytań SQL można zauważyć dodawanie "CONSTRAINT" - na czym to polega?

Choć najbardziej interesuje mnie dlaczego, skąd, po co jest to "ibfk_1" ?
Czy jeżeli będę tworzył inny moduł, który będę łączył za pomocą LEFT JOIN to też powinienem dodać taki klucz CONSTRAINT ?

Pozwolę sobie dodać też drugie pytanie skoro jesteśmy cały czas przy tych samych schematach.
-> Schemat dla users: UNIQUE KEY `uniq_username` (`username`),

Wiem co to znaczy UNIQUE, ale dlaczego uniq_username ? przeszukałem cały folder odpowiedzialny za Auth i nigdzie w zapytaniach nie zauważyłem np. SELECT uniq_username ? - Dlaczego akurat uniq_username ? - To się stosuje w zapytaniach, czy po prostu twórca tego modułu od tak nadał taką nazwę?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
maly_pirat
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Prawdę mówiąc niewiele znalazłem pod hasłem "więzy integralności", z konkretnych wyników to tylko ten wpis na blogu.

Więc weźmy pod przykład system newsów z komentarzami.
Kod
news_system > | news_id | autor_id | tytul | id_kategorii_news | opis |
kategorie > | id_kategorii | id_newsa | nazwa_kategorii |
tabela użytkowników > | id_user | username |
komentarze > | id_komentarza | id_newsa | tresc |


Więc ja zrobiłbym to w ten sposób:
dla id_kategorii_news dał KEY, dla autor_id nadałbym coś w stylu:
Kod
ADD CONSTRAINT `roles_users_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,


Aby nawiązać system newsów z systemem użytkowników.
To samo zastosować w przypadku kategorii do newsów,
oraz komentarzy do newsów - zgadza się?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 13:33