Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Powiazanie dwoch tabel, jak?
MiChaSSs
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 4
Dołączył: 6.09.2007

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


Hej,
Chcialem zapytac, czy istnieje mozliwosc powiazania kolumny z jednej tabeli relacja z kolumna w innej tabeli i jednoczesnie relacja z kolumna z jeszcze innej tabeli. Cos na zasadzie:

  1. FOREIGN KEY(na co klucz) REFERENCES tabela1(kolumna1) AND tabela2(klumna2)
Jesli tak, to jak to zrobic? Pozdrawiam MD

Ten post edytował MiChaSSs 17.08.2009, 00:16:48
Go to the top of the page
+Quote Post
andycole
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 14.12.2004

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


http://blog.mwojcik.pl/2009/07/06/mysql-in...-i-klucze-obce/

moze pomoze...

wg mnie po prostu musisz zrobic tak:

  1. FOREIGN KEY (na co klucz) REFERENCES tabela1(kolumna1) AND tabela2(klumna2)
  2. FOREIGN KEY (na co klucz) REFERENCES tabela2(kolumna1) AND tabela3(klumna1)
Go to the top of the page
+Quote Post
Ulysess
post
Post #3





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


b.dobrze że jest taki temat bo potrzebuje pomocy a mianowicie. przy tworzeniu konta chciałbym aby user miał dane w paru tabelach (czemu nie w jednej ? ponieważ to około 50 pół) i tutaj pojawia się moje pytanie jak to zrobić (IMG:style_emoticons/default/questionmark.gif) prosił bym o objaśnienie albo zaprezentowanie przykładu..
Go to the top of the page
+Quote Post
MiChaSSs
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 4
Dołączył: 6.09.2007

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


Cytat(andycole @ 16.08.2009, 18:21:45 ) *
http://blog.mwojcik.pl/2009/07/06/mysql-in...-i-klucze-obce/

moze pomoze...

wg mnie po prostu musisz zrobic tak:

[SQL] pobierz, plaintext
  1. FOREIGN KEY (na co klucz) REFERENCES tabela1(kolumna1) AND tabela2(klumna2)
  2. FOREIGN KEY (na co klucz) REFERENCES tabela2(kolumna1) AND tabela3(klumna1)
[SQL] pobierz, plaintext


andycole -> Gdyby podany przeze mnie kod SQL dzialal to przeciez nie zadawalbym pytania na forum (IMG:style_emoticons/default/tongue.gif) a ten kod nie dziala, przedstawilem go tylko dlatego, zeby zaprezentowac o co mi chodzi (IMG:style_emoticons/default/winksmiley.jpg)

Ulysess -> tworzysz tabele i wpisujesz dane. Wszystko znajdziesz w podstawowym kursie do MySQL-a

================================================================================

Cytat(MiChaSSs @ 16.08.2009, 16:10:58 ) *
Hej,
Chcialem zapytac, czy istnieje mozliwosc powiazania kolumny z jednej tabeli relacja z kolumna w innej tabeli i jednoczesnie relacja z kolumna z jeszcze innej tabeli. Cos na zasadzie:

[SQL] pobierz, plaintext
  1. FOREIGN KEY(na co klucz) REFERENCES tabela1(kolumna1) AND tabela2(klumna2)
[SQL] pobierz, plaintext Jesli tak, to jak to zrobic? Pozdrawiam MD


z tego co znalazlem, to nie ma takiej mozliwosci

Ten post edytował MiChaSSs 23.08.2009, 22:01:22
Go to the top of the page
+Quote Post
askone
post
Post #5





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Hej

Wydaje mi się, że rozwiązaniem Twego problemu będzie zmiana toku rozumowania. Skoro nie można jednej kolumny powiązać z dwoma innymi w różnych tabelach to przecież można powiązać tamte z tą jedną (co mnie osobiście wydaje się bardziej naturalne i chyba zgodne ze standardami projektowania baz danych)

Przykład:
  1. UserTable
  2. IdUser
  3. FirstName
  4. LastName
  5.  
  6. AddressTable
  7. Id
  8. UserId (powiązana z IdUser w tabeli UserTable)
  9. Street
  10. House
  11. City
  12.  
  13. PhoneTable
  14. Id
  15. UserId (powiązana z IdUser w tabeli UserTable)
  16. Prefix
  17. Number


Mam nadzieję, że to Ci pomoże (IMG:style_emoticons/default/winksmiley.jpg)

Pozdrawiam
Go to the top of the page
+Quote Post
MiChaSSs
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 4
Dołączył: 6.09.2007

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


Dziekuje za odpowiedz, ale niestety nie o to mi chodzi. Tabela, w ktorej potrzebowalem zrobic dwa klucze obce bedzie wypelniana z formularza WWW - checkbox-a wygenerowanego wiec nie powinno byc problemu z relacja, ale wolalem, zeby MySQL jeszcze to sprawdzal. Poniewaz nie ma mozliwosci przypisania dwoch kluczy obcych do kolumny zostalo mi tylko rozdzielenie danych na dwie tabele, pozdrawiam MD (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
askone
post
Post #7





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Cytat(MiChaSSs @ 24.08.2009, 12:51:24 ) *
Tabela, w ktorej potrzebowalem zrobic dwa klucze obce bedzie wypelniana z formularza WWW - checkbox-a wygenerowanego wiec nie powinno byc problemu z relacja, ale wolalem, zeby MySQL jeszcze to sprawdzal.


Hmm, ciekawe ale nie potrafię sobie tego wyobrazić (IMG:style_emoticons/default/winksmiley.jpg) Jak dotąd nie spotkałem się z koniecznością wiązania jednej kolumny z dwoma innymi tabelami... Jeśli możesz to chętnie zapoznam się z tym Twoim formularzem, może sam się czegoś nauczę, albo znajdę inne podejście do tej sprawy (IMG:style_emoticons/default/winksmiley.jpg)

Pozdro
Go to the top of the page
+Quote Post
MiChaSSs
post
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 4
Dołączył: 6.09.2007

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


Cytat(fly474 @ 24.08.2009, 12:59:21 ) *
Hmm, ciekawe ale nie potrafię sobie tego wyobrazić (IMG:style_emoticons/default/winksmiley.jpg) Jak dotąd nie spotkałem się z koniecznością wiązania jednej kolumny z dwoma innymi tabelami... Jeśli możesz to chętnie zapoznam się z tym Twoim formularzem, może sam się czegoś nauczę, albo znajdę inne podejście do tej sprawy (IMG:style_emoticons/default/winksmiley.jpg)

Pozdro

Przyklad, masz trzy tabele (kazda ma tylko jedna kolumne wspolna - w sensie o tej samej nazwie) gdzie w jednej masz zeszyty a w drugiej tabeli masz ksiazki, w trzeciej zapisujesz co uzytkownik poprzez www wybral. Uzytkownik moze wybrac tylko jeden zeszyt lub jedna ksiazke. Czyli w trzeciej tabeli potrzebujesz relacje ze moze wybrac albo cos z tabeli z zeszytami albo cos z tabeli z ksiazkami. Do podobnej sytuacji potrzebowalem "podwojny klucz obcy na jednej kolumnie" w swoim systemie (ksiazki i zeszyty to tylko przyklad). Formularz narazie jest tylko w mojej glowie (IMG:style_emoticons/default/tongue.gif) w tej chwili zajmuje sie projektowanie bazy danych + silnik PHP do obslugi, na samym koncu zrobie WWW, pozdrawiam MD (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował MiChaSSs 24.08.2009, 15:58:27
Go to the top of the page
+Quote Post

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: 20.12.2025 - 21:35