{MySQL]Wiele pól jednej tabeli zapisywanych do jednego inne

0

Witam,

Mam taki problem, najlepiej chyba będzie jak wytłumacze go na przykladzie, powiedzmy że mam 2 tabele przykładowo LUDZIE i HOTELE w tabeli LUDZIE zapisane są jakieś poszczególne osoby a tabela HOTELE zawiera liste hoteli... chcę teraz zrobić coś takiego, że no jednego człowieka można by było zapisać w wielu hotelach. I właśnie nie wiem jak to zrobić myślałem o tym, żeby w tabeli LUDZIE zrobić dodatkowy rekord w którym bym dodawał poszczególne hotele np: hotel1|hotel2|hotel3| ale nie wiem czy to jest dobra rozwiązanie, czy potem będzie łatwo wyszukiwać i przetwarzać dane, czy istnieje jakiś inny prostrzy sposób na rozwiązanie tego problemu?

0

i pewnie jeden hotel może mieć xxx ludzi przypisanych

rezerwacje (wynajem, czy jak tam sobie to nazwiesz)

  • id
    #ludzie_id
    #hotel_id
0

No tak tak :) Zapomniałem o tym wspomnieć

A tego

  • id
    #ludzie_id
    #hotel_id

nie rozumiem, mógłbyś troszke objaśnić?

0
Bru2s napisał(a)

A tego

  • id
    #ludzie_id
    #hotel_id

nie rozumiem, mógłbyś troszke objaśnić?

To proste, zamiast tworzyć w tabeli "Ludzie" kolumny "Hotel_1", "Hotel_2", "Hotel_3" itd. co jest bardzo złym rozwiązaniem (bo co jeśli 1 klient będzie zarezerwowany w 4 hotelach?) tworzysz prostą relację ludzi i hoteli, czyli jest to dodatkowa tabela np."Rezerwacja", jak już wspomniał kolega.

  • ID - Twój główny id tabeli "Rezerwacja" (autoinkrementacja)
    ID_Człowieka - wiadomo (ID z tabeli Ludzie)
    ID_Hotelu - to też wiadomo (ID z tabeli hotele)

W konsekwencji nowa tabela będzie się składała tylko z numerków i jeden klient będzie mógł być przypisany do n hoteli

0

A to takie buty :D Wielkie dzięki wam obu, o takie rozwiązanie mi chodziło :)

PS. Czasami to żałuje, ze na tym forum nie ma czegoś takiego jak jest na niektórych, że można dawać jakieś + użytkownikom którzy pomogli, potem by było wiadomo który jest pomocny :)

// nie ma i nie będzie, jak jesteś wdzięczny to wyślij piwo - Ł

1 użytkowników online, w tym zalogowanych: 0, gości: 1