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

Problem z zaprojektowaniem bazy danych SQL

0 głosów
276 wizyt
pytanie zadane 28 lutego 2019 w SQL, bazy danych przez pog(r)ubiony Początkujący (340 p.)
Witajcie!

Aktualnie projektuję niekomercyjnie małą bazę danych. Mam problem dotyczący tego, w jaki sposób rozplanować tabele lub strukturę bazy. W bazie danych przechowywane będą dane takie jak login, hasło oraz języki, jakie zna dana osoba. Docelowo chcę z tej bazy wysyłać e-maile użytkownikom z zadaniami do nauki języka lub języków (na podstawie tego, jaki język użytkownicy podali).

Problem pojawia się, kiedy dany użytkownik zadeklaruje znajomość np. 2 lub więcej języków obcych.

Nie wiem jak to ująć w bazie danych.

1. Wstępnie myślałem nad rozwiązaniem takim : jezyk 1, jezyk 2, jezyk 3 itp i tam umieszczać dane.

Np. Jan Kowalski - Język 1 - angielski

Tutaj jest problem, co wpisać w zawartości jezyk 2 i 3, kiedy ktoś deklaruje znajomość tylko 1 języka.

2. Drugie rozwiązanie nad którym myślę to zrobienie tabelek : angielski, niemiecki, francuski (i kilku kolejnych dla kolejnych popularnych języków). Wtedy te tabele miałby by wartość tylko 1 (zna) lub 0 (nie zna).

Chcę te języki dobrze ująć, żeby poźniej można było bezproblemowo w php pobierać te dane i wysyłać maile wg kryteriów np. wyślij maile tylko do tych użytkowników, którzy znają niemiecki. Wyślij maile tylko do tych, co znają angielski i niemiecki. itp.

Z chęcią przyjmę każdą sugestię.

Z informatycznym pozdrowieniem

Przemek

3 odpowiedzi

+1 głos
odpowiedź 28 lutego 2019 przez Greeenone Pasjonat (16,100 p.)

Użyj do tego pivot'a który będzie łączył użytkowników z językami

 

0 głosów
odpowiedź 28 lutego 2019 przez manjaro Nałogowiec (37,390 p.)
A nie można tego zrobić po prostu na jednej tabeli user i dać pola angielski, niemiecki itp? W polach wpisywać po prostu true albo false.
0 głosów
odpowiedź 1 marca 2019 przez pog(r)ubiony Początkujący (340 p.)
Panowie - Dziękuję za pomoc i nakierowanie!

Sposób manjaro wg mnie sprawdzi się, jeżeli bym chciał zrobić to już, na teraz od razu, i myślę, że będzie fajnie działać przy mniejszej bazie. Zresztą w zasadzie do tej bazy będzie mało połączeń więc na razie nie obawiam się o to, czy baza/serwer wytrzyma. Dlatego na ten moment zrobię małą próbną bazę wg manjaro. Dodam z 10 popularnych języków na zasadzie prawda/fałsz. Manjaro - bazę robię phpMyadmin ale nie jestem pewien czy pola języków (prawda/fałsz) ustawić na typ danych BOOLEAN czy INT ? Czy też w tych polach włączać porównywanie napisów utf 8 ?

Z kolei pomysł Greeenone - dzięki serdecznie za grafikę, że chciało Ci się to rozrysować -  myślę, że jest lepszy jeżeli będę chciał rozwijać bazę/produkt i będzie dużo osób  w bazie. W zasadzie już teraz pojawiają się osoby, które deklarują np. język japoński, węgierski, serbski - i myślę, zeby w dalszej perspektywie jednak zrobić osobną tabelę na języki + pivot. Dzięki za wskazanie typów danych, nie wiedziałem, że to ma być jako VARCHAR.

Czy polecacie coś do wysyłania maili z poziomu PHP ? Dopiero się uczę i jestem zupełnie zielony. Na razie ćwiczę na localhscie (xammp) ale mam wykupiony hosting z obsługą PHP i wkrótce będę to tam testował.

Doczytałem, że nie jest zalecane używanie funkcji mail PHP tylko lepiej jakiś zewnętrzny moduł/komponent żeby to robił (Composer? nie zrozumiałem dobrze).

Udanego piątku!
komentarz 1 marca 2019 przez manjaro Nałogowiec (37,390 p.)
No tak oczywiście boolean dla wartości true/false albo int dla 1/0. Podałem ten sposób bo faktycznie jest prosty, a nie podejrzewam że robisz konkurencję dla facebooka ;)

Pozdrawiam

Podobne pytania

+2 głosów
1 odpowiedź 248 wizyt
0 głosów
1 odpowiedź 341 wizyt
0 głosów
0 odpowiedzi 123 wizyt
pytanie zadane 8 kwietnia 2020 w SQL, bazy danych przez hellowo Nowicjusz (220 p.)

93,426 zapytań

142,421 odpowiedzi

322,647 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...