Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Osobna tabela dla kazdego uzytkownika w Bazie Danych
Forum PHP.pl > Forum > Przedszkole
BienuSS
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
3 tabele:
1. userzy
2. dane
3. userzy - dane
BienuSS
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?
wxm
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 biggrin.gif
BienuSS
Co ty to by byla masakra z tym jsonem haha.gif podalem przyklad o co mi chodzi mniej wiecej
trzczy
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
@trzczy: kolumna id jest naprawdę potrzebna?
emillo91
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
@emillo91 many to many, bo jednego piłkarza może mieć więcej userów
phpion
@trzczy: chyba, ze piłkarze bedą tworzeni przez samych użytkowników, a nie brani „z puli”. Wówczas 1:n.
trzczy
@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
Skąd Ty tyle wiesz na temat tego projektu? Może każdy użytkownik będzie tworzył własnych wyimaginowanych piłkarzy?
BienuSS
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.