BienuSS
1.04.2018, 19:30:11
Witam.
Czy oplaca sie robic osobna tabele dla każdego uzytkownika w Bazie Danych? Przypuscmy ze uzytkownikow bedzie kolo 2-3 tysiecy? A jesli nie to w jaki sposob dla kazdego uzytkownika zrobić cos w stylu tabelki z jsona która mozna edytowac caly czas
Kshyhoo
1.04.2018, 19:50:00
3 tabele:
1. userzy
2. dane
3. userzy - dane
BienuSS
1.04.2018, 19:54:11
Kazdy uzytkownik bedzie mial po kilkunastu czy kilkuset pilkarzy, od kazdego pilkarza bierzemy imie nazwisko i klub, to jak w tych tabelkach to przypisac do uzytkownika? W danych wszystko wpisac a pozniej wyszukiwac po id użytkownika?
Zrób jeszcze tabelę football_player w której będą dane wszystkich piłkarzy oraz tabelę łączącą user - football_player i możesz robić z danymi co chcesz. Chyba nie chcesz za każdym razem mielić jsona przy odczycie/zapisie
BienuSS
1.04.2018, 20:18:32
Co ty to by byla masakra z tym jsonem

podalem przyklad o co mi chodzi mniej wiecej
trzczy
2.04.2018, 06:31:54
json to jest tylko format wymiany danych i nie ma sensu go jakoś specjalnie eksploatować dla innych celów. Realacja piłkarz - user powinna być typu many to many , czyli jak wskazał przedmówca.
Chodzi o typowe rozwiązanie używane najczęściej przy powiązaniu artykułów bloga z tagami. Każdy artykuł nie ma osobnej tabeli, ani każdy tag nie ma osobnej tabeli.
Jest za to tabela powiązań tagów z artykułami.
Przy tych piłkarzach to ta tabela powiązań może tak wyglądać:
id | user_id | football_player_id
23 | 34 | 222
24 | 34 | 225
25 | 34 | 267
26 | 34 | 284
27 | 35 | 154
To znaczy, że user 34 ma piłkarzy 222, 225, 267, 284
a usr 35 ma piłkarza 154
phpion
2.04.2018, 09:43:44
@trzczy: kolumna id jest naprawdę potrzebna?
emillo91
2.04.2018, 14:49:19
Cytat(BienuSS @ 1.04.2018, 20:30:11 )

Witam.
Czy oplaca sie robic osobna tabele dla każdego uzytkownika w Bazie Danych? Przypuscmy ze uzytkownikow bedzie kolo 2-3 tysiecy? A jesli nie to w jaki sposob dla kazdego uzytkownika zrobić cos w stylu tabelki z jsona która mozna edytowac caly czas
BienuSS do tego celu służą takzwane relacyjne bazy danych. Polecam zainteresować się programem MySQL Workbench, który znacznie ułatwia pracę z relacyjnymi bazami danych. Jeżeli chodzi o użytkownika i piłkarzy to można to zrobić tabelą opartą o relację jeden do wielu. Tworzysz nowego piłkarza w tabeli pilkarze i do tej tabeli dodajesz pole z kluczem obcym, którym w tym przypadku będzie Id użytkownika tworzącego piłkarza. Jeżeli chodzi o klub to także możesz go przypisać do tabeli pilkarze poprzez dodanie id klucza obcego z tabeli kluby.
trzczy
2.04.2018, 15:01:40
@emillo91 many to many, bo jednego piłkarza może mieć więcej userów
phpion
2.04.2018, 15:16:51
@trzczy: chyba, ze piłkarze bedą tworzeni przez samych użytkowników, a nie brani „z puli”. Wówczas 1:n.
trzczy
2.04.2018, 18:54:19
@phpion wtedy tak
Tylko wtedy będzie kłopot. jak pojawi się pomysł, że dany zawodnik będzie linkowany do życiorysu, klubu, osiągnięć itd. Bo system nie będzie go identyfikował. Ewentualnie po stringu imienia i nazwiska, ale co wtedy jak 2 piłkarzy będzie się tak samo nazywało, albo imię i nazwisko piłkarza będzie różnie zapisywane przez userów np. z powodu niewiedzy, zdrobnienia imienia, spolszczenia czcionki, albo napisania cyrylicą itd.
phpion
3.04.2018, 01:01:54
Skąd Ty tyle wiesz na temat tego projektu? Może każdy użytkownik będzie tworzył własnych wyimaginowanych piłkarzy?
BienuSS
4.04.2018, 15:50:33
Piłkarze będą brani z puli z jednego piłkarza będzie mogło mieć wielu użytkowników, czyli relacja wiele do wielu, i tak spróbuje zrobić, dzieki !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.