• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySQL palacze nie jednego rekordu do wielu tabel

Object Storage Arubacloud
0 głosów
274 wizyt
pytanie zadane 3 lutego 2018 w SQL, bazy danych przez Dynamic Bywalec (2,910 p.)
Witam

Mam tabele

Id, imię, nazwisko, tabela1, tabela2

I chciałbym zrobić odwołania do tabeli1 i tabeli2 jest to możliwe, jak to zrobic?

2 odpowiedzi

0 głosów
odpowiedź 3 lutego 2018 przez Wiciorny Ekspert (269,790 p.)

Zależy co chcesz konkretnie zrobić? Sprecyzuj

Żeby korzystać zdanych z tabeli 2, w selekcie np dla tabeli 1 :

modyfikator JOIN 

 

0 głosów
odpowiedź 3 lutego 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Można np. łączyć poprzez unikalne id rekordow w obu tabelach plus np foreign key ale musiałbyś dokladniej napisać co chcesz zrobić. Daj najlepiej strukture bazy np. na sqlfiddle gdzie można łatwo testować zapytania.
komentarz 3 lutego 2018 przez Wiciorny Ekspert (269,790 p.)
też własnie nie rozumiem, czy chodzi mu o odwołanie w zapytaniu :D czy w instancjach obiektu
komentarz 3 lutego 2018 przez Dynamic Bywalec (2,910 p.)
Mam tabele klienci

I ma takie kolumny

Id, imię, nazwisko,id_wyporzyczone, id_kontakt

I chcę żeby np Jan Kowalski mógł wypożyczyć 5 książek i mial dwa numery telefonów lub wiecej i żeby mi się to wyświetlało z pośród innych danych
komentarz 4 lutego 2018 przez Tomek Sochacki Ekspert (227,510 p.)

Niedawno w podobnej sprawie próbowalem pomóc jednemu z forumowych Kolegów i machnąłem na szybko małego sqlfiddla:

http://sqlfiddle.com/#!9/94867e/1

Generalnie zasada jest taka - tabela klienci i tabela książki. I teraz robisz tabelę łączącą, gdzie określasz id_klienta i id_ksiązki i potem łączysz to jednym zapytaniem.

Najprościej jeśli zakładasz istnienie jednego egzemplarza każdej książki, ale oczywiście to byłoby pewnie błędne. Można by wtedy w książkach zrobić np. pozycję dostępna_ilość. Następnie w momencie dodania książki jako wypożyczonej, czyli wpisania jej do tabeli łączącej można by automatycznie uaktualnić dla danej książki dostępną ilość, albo w inny sposób to rozwiązać. Ale na razie bym to zostawił. Jeśli zaczynasz ze złączeniami tabel to najpierw przeanalizuj ten przykład co dałem dla prostych przypadków. Potem można rozbudowywać, np. o ograniczenia aby nie wypożyczyć 2 razy tej samej książki, ale i tutaj trzeba by się zastanowić bo być może to jednak powinna być dopuszczalna opcja (np. wypożyczasz 2 takie same bo masz dwójke dzieci i chcesz im wypożyczyć po tej samej bajce itp.). Także jak widzisz rozwiązań jest dużo i najważniejsze w bazach danych to odpowiednie przeanalizowanie funkcjonalności aplikacji.

Tabela kontakty również mogłaby być z tabelą łączącą. Zauważ np., że jeden numer telefonu może być przypisany do kilku osób. Na przykład podajesz numer komórki jako osoba prywatna, potem rejestrujesz się jako firma ale nadal chcesz używać tego samego numeru itp. itd. Albo masz kilka numerów i chcesz aby możliwe było wyświetlenie ich wszystkich (złączenie analogiczne do mojego przykładu).

W moim rozwiązaniu użyłem też pewnej funkcji grupującej ale nie będę tutaj tego omawiał, odsyłam Cię do niedawnego wątku o podobnej tematyce: https://forum.pasja-informatyki.pl/323265/w-jaki-sposob-utworzyc-polaczyc-te-dwie-tabele-bazy-danych-phpmyadmin

Aha, i oczywiście wszystkie nazwy tabel/pól po angielsku, tutaj tylko dla lepszego wyjaśnienia pisałem PL bo nie wiem na ile znasz eng, ale to dobry moment aby się poduczyć :)

Pozdrawiam

Podobne pytania

0 głosów
1 odpowiedź 1,671 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 167 wizyt
pytanie zadane 24 stycznia 2018 w SQL, bazy danych przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 300 wizyt

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...