Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepszy sposób na tworzenie/zarządzanie/projektowanie powtarzających się zadań/kalendarza

Przechowuj to wszystko w bazie danych.

Chcesz mieć tabelę „Szablon zadania” i tabelę „Zadanie”, w których istnieje relacja jeden->wiele.

Gdy użytkownik wskaże, że chce, aby zadanie się powtórzyło, utwórz rekord „Szablon zadania”, a następnie utwórz tyle „Zadań”, ile wskazał użytkownik (nie zezwalaj użytkownikowi na tworzenie zadań w zbyt odległej przyszłości). Każde zadanie jest połączone z szablonem zadania za pomocą klucza obcego. Pomysł polega na tym, że SQL będzie bardziej wydajny w zarządzaniu tymi rekordami niż próba zrobienia tego wszystkiego w kodzie opartym na jednym szablonie. W ten sposób będziesz mieć więcej opcji podczas sortowania i filtrowania danych. W końcu pisanie zapytania SQL jest łatwiejsze niż pisanie, testowanie i utrzymywanie funkcji PHP, która manipuluje danymi.

Kilka innych wskazówek, które chciałbym ci dać, to:

  • Spróbuj uzyskać dużo informacji w rekordzie „Szablon zadania”. Zachowaj liczbę zadań objętych szablonem, datę zakończenia ostatniego zadania, czas, jaki upłynął między pierwszym i ostatnim zadaniem, itp. Te „metadane” mogą pomóc zaoszczędzić czas na zapytania, gdy chcesz sortować i filtrować zadania.
  • Umieść indeks w polu Data i FK, pomoże to również w zapytaniu.
  • Właśnie zbudowałem dwie aplikacje kalendarza w pracy, które zostały całkiem dobrze przyjęte przez szefów. Użyłem wtyczki JQuery „FullCalendar” (http://arshaw.com/fullcalendar/). Użyłem JQuery AJAX do obsługi większości moich zdarzeń i ma wbudowaną obsługę widoku miesiąca, dnia i tygodnia.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Domyślna wartość TERAZ w dwóch kolumnach MySQL ERROR 1067

  2. pojedyncze cudzysłowy w zapytaniu SQL

  3. Wybierz dane z zakresu dat/czasów

  4. virtualenv (python3.4), pip install mysqlclient błąd

  5. MySQL - Jak wybrać wiersze, w których znajduje się wartość w tablicy?