• 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

0 głosów
69 wizyt
pytanie zadane 16 lipca w SQL, bazy danych przez mateusz.zajac Obywatel (1,260 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 przez Patrycjerz Mędrzec (186,970 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ź 185 wizyt
pytanie zadane 11 stycznia w SQL, bazy danych przez BlaBlaCar Początkujący (440 p.)
0 głosów
2 odpowiedzi 108 wizyt
pytanie zadane 10 sierpnia 2018 w SQL, bazy danych przez mi-20 Stary wyjadacz (10,460 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

66,451 zapytań

113,207 odpowiedzi

239,680 komentarzy

46,704 pasjonatów

Przeglądających: 273
Pasjonatów: 10 Gości: 263

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...