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

PHp i Bazy danych

Object Storage Arubacloud
0 głosów
326 wizyt
pytanie zadane 7 sierpnia 2017 w SQL, bazy danych przez mi-20 Stary wyjadacz (13,190 p.)

Witam wszystkich.

Mam mały problem dotyczący pracy na bazach danych. Mimi iż przepracowałem dwa pierwsze odcinki dotyczące baz danych nadal tego nie ogarnąłem. Przejdź do sedna problemu.

Mamy bazę danych a w niej dwie tabele. Nazwijmy je "użytkownicy" i "dane". W pierwszej tabeli będą informacje dotyczące użytkowników, takie jak login, hasło, adres e-mail-dane podane przy rejestracji a w drugiej tabeli szczegółowe dane użytkowników takie jak imię i nazwisko, data urodzenia, adres zamieszkania, numer telefonu.

Teraz, jak połączyć obie tabele tak, aby system wiedział które dane z drugiej tabeli dotyczą którego użytkownika z tabeli pierwszej?

Z góry dziękuję za pomoc

 

4 odpowiedzi

+1 głos
odpowiedź 7 sierpnia 2017 przez CjanciK Bywalec (2,970 p.)
Cześć,

Poczytaj o relacjach między tabelami,  kluczach głównych i obcych, czy typach łączeń między tabelami.

A jeżeli nie rozumiesz o co chodzi w tych odcinkach to po prostu obejrzyj je tyle razy ile będziesz potrzebował do pełnego zrozumienia :)
+1 głos
odpowiedź 8 sierpnia 2017 przez Boshi VIP (100,240 p.)
Nie ma sensu robienia drugiej tabeli jeśli  użytkownik  ma tylko jeden adres  zamieszkania  itd. Takie coś można stosować przy zamówieniach gdzie użytkownik może mieć wiele różnych  adresów.
komentarz 8 sierpnia 2017 przez Ehlert Ekspert (212,670 p.)

No chyba, że rzeczywiście bawimy się w adresy. Synonimem słowa adres w bazach danych jest normalizacja laugh

0 głosów
odpowiedź 7 sierpnia 2017 przez Garrs Początkujący (320 p.)

Pomogą Ci w tym relacje. W tym przypadku relacja typu OneToOne. 
W tabeli dane tworzysz kolumny id, imię, nazwisko itd.
W tabeli uzytkownik odnosisz się do nich poprzez kolumnę dane_id. W tym przypadku jest to takie rozszerzenie tabeli.

    CONSTRAINT dane_id FOREIGN KEY (dane_id) REFERENCES uzytkowink (id)

 

0 głosów
odpowiedź 7 sierpnia 2017 przez mattat Użytkownik (910 p.)

Prosto :D 
W tabeli użytkowników potrzebujesz kolumnę id_użytkownika.
W tabeli dane również potrzebujesz mieć kolumnę id_użytkownika.

W momencie gdy chcesz chcesz dodać jakieś informacje do tabeli dane to powinieneś mieć już wcześniej stworzony rekord w tabeli użytkownicy i w tym rekordzie masz już ustaloną wartość id_użytkownika. Teraz nie pozostało nic innego jak w tabeli dane w kolumnie id_użytkownika wpisać to id użytkownika, którego dane mają dotyczyć.

Teraz chcąc znaleźć dane o użytkowniku z id 5 szukasz w tabeli dane rekordu z id_użytkownika = 5. 

Oczywiście aby to zadziałało id_użytkownika musi być unikatowe dla każdego z nich

komentarz 24 sierpnia 2017 przez mi-20 Stary wyjadacz (13,190 p.)

ok,

ale jak np zamiast id_uzytkownika=5 wstawić wartość z zmiennej sesyjnej?

czyli:

SELECT * FROM `uzytkownicy` WHERE id_user= 5

i to 5 jest automatycznie uzupełniane w zależności od tego z jakim użytkownikiem mamy doczynienia

Podobne pytania

0 głosów
1 odpowiedź 3,542 wizyt
0 głosów
1 odpowiedź 264 wizyt
0 głosów
0 odpowiedzi 303 wizyt
pytanie zadane 29 kwietnia 2021 w PHP przez domkub12 Początkujący (480 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...