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

Zbieranie danych o użytkownika, struktura bazy

Object Storage Arubacloud
0 głosów
124 wizyt
pytanie zadane 16 lipca 2019 w SQL, bazy danych przez mateusz.zajac Obywatel (1,460 p.)

Cześć,

Sytuacja wygląda następująco, mam na stronie listę. Lista jest wyświetlana z bazy dla każdego użytkownika. Domyślnie wszystkie elementy są nieodhaczone, gdy element listy zostanie odhaczony to delikatna zmiana wyglądu elementu i zapisanie tej informacji. Informacje, czy dany element listy został odhaczony, przez konkretnego użytkownika chcę pobierać z bazy. Każdy zarejestrowany użytkownik może odhaczać dane pozycje z tej listy "po swojemu". Moje pytanie brzmi jak najlepiej zorganizować zapisywanie tego w bazie danych? Mam tabelę z elementami listy i tabelę z użytkownikami. Myślę, aby stworzyć trzecią data-users. W tej tabeli kolumny id, id_user, id_list. Elementów listy będzie dużo (na pewno ponad 10 000 i może urośnie), a liczba użytkowników (nie mam pojęcia :) ). Widzę dwa rozwiązania:

1. Jedna tabela data-users. Wtedy będę miał bardzo dużo wierszy w tabeli

2. Tworzyć tabelę dla każdego użytkownika data-users-id_user. Wtedy będę miał dużo tabel

Podając abstrakcyjny przykład: mając 20tys. elementów i 10tys. użytkowników, jak będzie łatwiej nad tym zapanować?

1 odpowiedź

+2 głosów
odpowiedź 16 lipca 2019 przez Patrycjerz Mędrzec (192,320 p.)

Masz tutaj relację wiele do wielu. Każdy użytkownik może mieć zaznaczonych wiele pozycji z listy, zaś każda pozycja może być zaznaczona przez wielu użytkowników. Sensownym wydaje się zrobienie encji (tabeli) pośredniej przechowującej powiązania, tak jak sam to zaproponowałeś w punkcie pierwszym. Tworzenie nowej tabeli dla każdego użytkownika nie ma sensu w relacyjnej bazie danych.

Jeśli istnieje lepsze rozwiązanie tego problemu, to proszę o korektę.

Podobne pytania

0 głosów
1 odpowiedź 120 wizyt
0 głosów
1 odpowiedź 1,972 wizyt
pytanie zadane 11 stycznia 2019 w SQL, bazy danych przez BlaBlaCar Początkujący (440 p.)
+1 głos
2 odpowiedzi 336 wizyt
pytanie zadane 8 stycznia 2022 w SQL, bazy danych przez imagim Obywatel (1,130 p.)

92,553 zapytań

141,399 odpowiedzi

319,534 komentarzy

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

...