Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi (1 - 7)
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ć 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 tongue.gif a ten kod nie dziala, przedstawilem go tylko dlatego, zeby zaprezentowac o co mi chodzi 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 winksmiley.jpg

Pozdrawiam


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
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 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ć 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 winksmiley.jpg

Pozdro


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
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ć 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 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 tongue.gif w tej chwili zajmuje sie projektowanie bazy danych + silnik PHP do obslugi, na samym koncu zrobie WWW, pozdrawiam MD 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:14