• 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

Object Storage Arubacloud
0 głosów
166 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ź 100 wizyt
0 głosów
1 odpowiedź 227 wizyt
0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 8 kwietnia 2020 w SQL, bazy danych przez hellowo Nowicjusz (220 p.)

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

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

...