Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zwiazek wiele do wiele
dargoth
post 18.05.2006, 16:28:56
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 19.11.2005

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


witam...
czy moglibyscie napisac (i pokazac na przykladzie) w jakis posob robi sie w sqlu zwiazek wiele do wiele? wiem jak robic 1-n itp ale n-n jest jakies dziwne i nie potrafie sobie wyobrazic jak to mozna zrobic:/

z gory dzieki..
Go to the top of the page
+Quote Post
mike
post 18.05.2006, 17:01:11
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Zakładamy ża artykuł może mieć wielu autorów.

authors
id | name | surname | ... jakieś inne pola

articles
id | subjest | shortcut | content | ... jakieś inne pola

I teraz tabela łącząca:

articles_has_authors
id_author | id_article

I teraz przykład:
  1. INSERT
  2. INTO authors
  3. SET id = 1, name = "Jan", surname = "Kowalski";
  4. INSERT
  5. INTO authors
  6. SET id = 2, name = "Tomasz", surname = "Nowak";


  1. INSERT
  2. INTO articles
  3. SET id = 1, subject = "Art 1", shortcut = "Wstęp ...", content = "Bla bla bla";
  4. INSERT
  5. INTO articles
  6. SET id = 2, subject = "Kolejny art", shortcut = "Wstęp w fwe fwe...", content = "Lorem ipsum";


  1. INSERT
  2. INTO articles_has_authors
  3. SET id_author = 1, id_article = 1;
  4. INSERT
  5. INTO articles_has_authors
  6. SET id_author = 2, id_article = 1;
  7. INSERT
  8. INTO articles_has_authors
  9. SET id_author = 2, id_article = 2;


I z teraz autorem artykułu "Art 1" jest Kowalski i Nowak a autorem artykułu "Kolejny art" jest Nowak.
Go to the top of the page
+Quote Post
dargoth
post 18.05.2006, 20:30:19
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 19.11.2005

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


dzieki za odswiezenie pamieci... rozumiem ze nie ma tutaj zadnych kluczy obcych ani nic takiego ani nic takiego... rozumiem tez ze w przypadku takiego zwiazku trzeba tez samemu dbac o to by sie cos nei "posypalo" przy usuwaniu itp... tak samo jak sie dodaje cos to trzeba dodawac w dwa miejsca (np jak dodajemy autora do artykulu to trzeba dodac go do tabeli autorzy oraz do tabeli posredniczacej)
Go to the top of the page
+Quote Post
mike
post 18.05.2006, 20:39:39
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(dargoth @ 2006-05-18 21:30:19)
dzieki za odswiezenie pamieci... rozumiem ze nie ma tutaj zadnych kluczy obcych ani nic takiego ani nic takiego...

Pola w tabeli articles_has_authors są polami obcymi z pozostałych tabel.

Cytat(dargoth @ 2006-05-18 21:30:19)
tak samo jak sie dodaje cos to trzeba dodawac w dwa miejsca (np jak dodajemy autora do artykulu to trzeba dodac go do tabeli autorzy oraz do tabeli posredniczacej)

Nie koniecznie. Jak dodajesz autora to tylko do tabeli authors, przecież autor może istnieć samodzielnie.
Dopiero jak dodajesz artykuł to wypadałoby uzupełnić tabelę articles_has_authors.
Chociaż w zasadzie nie jest to wymagane, jeśli tego nie zrobisz to artykuł nie będzie miał autora.

Decyzja należy do Ciebie.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:11