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

Jedna baza danych , czy kilka ?

0 głosów
651 wizyt
pytanie zadane 16 września 2015 w Nasze projekty przez marika Nowicjusz (190 p.)
edycja 16 września 2015 przez marika
Cześć mam problem natury ideologicznej, mianowicie tworzę strony internetowe ale do tej pory były to dość proste witryny, teraz przyszło mi się zmierzyć z projektem, który będzie opierał się na użytkownikach i nie wiem jakie rozwiązanie będzie najbardziej optymalne. Chciałabym by były dwa typy użytkowników - organizatorzy i zawodnicy. Mam już zrobiony formularz rejestracji, logowania i aktualizacji danych. Aktualnie wszyscy użytkownicy są wrzucani do jednej bazy danych i rozróżniani na podstawie zaznaczenia w formularzu kim są czyli po prostu w bazie pojawia mi się jak dany użytkownik się określił i teraz problem jaki się pojawia jest taki, że ci użytkownicy będą musieli wpisywać różne rodzaje danych dla siebie np. zawodnik będzie musiał wpisywać swój nr ewidencyjny czego, a organizator nie wiec moje pytanie jest takie: czy rozdzielić to na dwie bazy danynch oddzielna dla zawodników oddzielna dla organizatorów ? Dwie bazy chyba będą potrzebować dwóch oddzielnych formularzy rejestracyjnych ? Czy ktoś mógłby mi doradzić ? A może jeszcze jakieś inne rozwiązanie ? Pozdrawiam :)

 

edit: oczywiście chodziło mi o tabele, aktualnie wszyscy są w jednej tabeli

3 odpowiedzi

+1 głos
odpowiedź 16 września 2015 przez event15 Szeryf (93,790 p.)
Jeden projekt, jedna baza danych wiele tabel. Wiesz co to relacje?
komentarz 16 września 2015 przez marika Nowicjusz (190 p.)
oczywiście chodziło mi o tabele! ;) czyli rozdzielić organizatorów i zawodników (w dwóch tabelach) ?
komentarz 16 września 2015 przez gromula Stary wyjadacz (10,070 p.)
A czy ktoś mi powie czy nie lepiej zrobić tabela prawa: kolumny organizator, zawodnik, create_data delete_date i wyszukiwać wherem delete_date is null i orginazator != null i w drugą stronę z zawodnikiem (jeśli kto kolwiek zrozumiał co napisałem)

W przypadku dodania kogoś do organizaotra 1 w kolumnie organizator null w zawodnik create_date = timestamp z date() i finioto analogicznie do zawodnika
0 głosów
odpowiedź 16 września 2015 przez Boshi VIP (100,240 p.)
Zainteresuj się systemem binarnym, albo ACL,ewenwtualnie RBAC, ale to już dość rozbudowany system uprawnień jest.
0 głosów
odpowiedź 16 września 2015 przez Bantu Nałogowiec (34,250 p.)
Sprawa wygląda bardzo prosto. Na początek polecam poczytać o relacjach w bazie danych, jeden do jednego, jeden do wielu, wiele do wielu.

Ogólnie to wszystko tworzysz w jednej bazie danych obojętnie jak ją sobie nazwiesz, a niej tworzysz 3 tabele.

1. Pierwsza tabela to ogólna tabela z użytkownikami gdzie powiedzmy zamieścisz dane typi nazwa użytkownika i hasło.
2 . Druga tabela to powiedzmy tabela z organizatorami i tutaj robisz powiązanie jeden do jeden z tabelą użytkowników. Jeden do jeden, bo obstawiam, że użytkownik może mieć tylko jedno konto organizatora.
3. Trzecia tabela będzie zawierała dane zawodników i tak jak w przypadku wyżej robisz powiązanie jeden do jeden, bo tylko jedno konto użytkownika może mieć jedno konto zawodnika, a jak może być na jednym koncie kilku zawodników to można zrobić powiązanie jeden do wielu.

Podobne pytania

0 głosów
1 odpowiedź 720 wizyt
pytanie zadane 16 marca 2020 w SQL, bazy danych przez PatryQHyper Nowicjusz (170 p.)
0 głosów
1 odpowiedź 380 wizyt
–1 głos
2 odpowiedzi 855 wizyt
pytanie zadane 14 kwietnia 2016 w PHP przez Mariusz O Mądrala (5,290 p.)

93,425 zapytań

142,421 odpowiedzi

322,647 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...