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

Trello - Czy dobry plan zrobienia tego mam

VPS Starter Arubacloud
0 głosów
384 wizyt
pytanie zadane 8 września 2017 w JavaScript przez Justyna Obywatel (1,210 p.)
Hej wam, mam pytanie czy dobrze mam zamiar zabrać się za to.

W bazie danych tworzę tabele dla Użytkowników,

Następnie tworzę tabele dla tablic, które w momencie tworzenia będą przypisywane numerami ID do danego użytkownika.

Następnie tworzę tabele dla List, które w momencie tworzenia będą przypisywane numerami ID do danej tablicy.

Następnie tworzę tabele dla Kart, które w momencie tworzenia będą przypisywane numerami ID do danej Listy

No i po zrobieniu tego i stworzeniu wyglądu wyświetlać będę w sposób np:

przy tablicy:

SELECT * FROM tablica WHERE tablica.id == user.id

przy listach:

SELECT * FROM listy WHERE listy.id == tablica.id

przy kartach:

SELECT * FROM karty WHERE karty.id == listy.id

 

Wpierw pytanie czy ta pierwsza część jest w porządku i później napiszę jak planuje dalej robić.

1 odpowiedź

0 głosów
odpowiedź 8 września 2017 przez Fenix Nałogowiec (26,750 p.)
Nie jest w porządku, musisz poczytać o relacjach w bazie danych na samym początku. Np tablica, moze miec wiele list (zmieniłbym na task lub jeśli koniecznie musi być po polsku na zadanie), a lista tylko jedna tablice. Wiec jest to relacja OneToMany. Musisz w swojej liscie posiadać klucz do tabeli tablica (tablica_id), warto żeby listy również miały swój unikalny id.
komentarz 8 września 2017 przez Justyna Obywatel (1,210 p.)
Nie zrozumialam.

Dlatego napisałam, ze Listy beda miały ID Tablicy, a przy stronie z wyswietlaniem list bede miala zrobione:

SELECT * FROM listy WHERE listy.id == tablica.id

 

Wiec zostana wyswietlone wszystkie listy a nie jedna

 

Wciaz nie rozumiem co jest zle w tym by strona nie działała poprawnie, oprócz dodanej formułki w SQL wypisujaca tylko tablice przypisane do danego (aktualnie zalogowanego uzytkownika)
komentarz 8 września 2017 przez Fenix Nałogowiec (26,750 p.)
Integracja danych, optymalizacja zapisywanych danych.

Moze wydawać Ci się że to nie jest Twoim problem dzisiaj, ale w niedalekiej przyszłości może już być. Jeśli za coś zabieramy, robimy to najlepiej jak potrafimy.

Przeczytaj sobie docs'y mysql na temat forgein_key, warto.
komentarz 8 września 2017 przez Justyna Obywatel (1,210 p.)
Ok a w pryzpadku uzycia bazy NO SQL, mongoDB, wystarcza 4 tabele do przechowywania tych rzeczy? user, tablica, list , karta?
komentarz 8 września 2017 przez Fenix Nałogowiec (26,750 p.)
Generalnie dlaczego używasz nazwy users w angielskim jezyku, a reszte w jezyku polskim?

Wszystko zależy od tego co ma dana aplikacja robić, warto by było zrobić role dla użykowników, pozwolenia oraz drużyny. Jak to zrobić, szukaj pod nazwą ACL.
komentarz 8 września 2017 przez Justyna Obywatel (1,210 p.)
Bo chodzi mi o sam motyw działania czy jest okej, nazwy podałam takie tylko dla lepszego zrozumienia aczkolwiek wszystko bedzie po angielsku, pozwolenia oraz druzyny beda tez dodane :)

To jeszcze raz w przypadku uzycia MongoDB NO SQL gdzie nie ma foreign keya, wystarcza mi utworzone 4 tabele uzytkownik, tablica, lista, karta

Kazda z tych tabel bedzie przechowywala przypisany unique key swojego miejsca np

Karta -> ID listy

Lista -> Id tablicy

Tablica -> ID Uzytkownika

A pozniej wystarcza tylko po prostu odpowiednie zapytania(w przypadku SQL) a w przypadku noSQL to funkcje. I bedzie działac, tak ?
komentarz 8 września 2017 przez Fenix Nałogowiec (26,750 p.)
Tak, bedzie działać.
komentarz 8 września 2017 przez Justyna Obywatel (1,210 p.)
A do kolejnosci kart w liscie to zrobić tak że, kazda karta ma numer kolejnosci, przy przeniesieniu na inna karte to leci zapytanie AJAX, zabiera jej numer kolejnosci a kazda kolejna robi +1,

A jesli robie przeniesienie karty do innej listy to osobne numerowanie dla tego tez robie i ta sama zasada tylko przy numerowaniu kolejnosci list a nei kart tak ? :P
komentarz 8 września 2017 przez Fenix Nałogowiec (26,750 p.)
To zależy również od tego jak bardzo rozbudowany system ma to być.

Powiedzmy masz karty

A - 1

B - 2

C - 3

D - 4

Chcesz zmienić pozycję wyświetlania dla karty D żeby była pomiędzy A oraz B, przy Twoim sposobie zobacz ile rekordów musiałabyś updetować. W takim wypadku musisz zastosować jakiś sprytniejszy system pozycji.

Jednak gdy takie przenoszenie nie wchodzi w grę, możesz jak najbardziej zastosować swój sposób, jednak w Twoim wypadku brałbym po czasie update zamiast pozycji.

Podobne pytania

+1 głos
1 odpowiedź 301 wizyt
pytanie zadane 29 kwietnia 2017 w Nasze projekty przez Bartlomiej Bywalec (2,480 p.)
0 głosów
1 odpowiedź 317 wizyt
+1 głos
1 odpowiedź 1,822 wizyt

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...