Mikos
29.05.2009, 21:05:08
Witam,
próbuję stworzyć bazę danych z treningami dla pływaków. Wyglądałoby to mniej więcej tak:
PONIEDZIAŁEK
kraul 10 basenów
żabka 5 basenów
grzbiet 5 basenów
itd.
WTOREK
wolne
ŚRODA
kraul 5 basenów
itd.
Wszystkie dane(tzn. dni treningowe, styl pływacki, liczba basenów) pochodzą z bazy. Jeśli ktoś mógłby pokazać mi ideę optymalnej konstrukcji takiej bazy danych byłbym wdzięczny. Myślałem o stworzeniu 7 tabel(każda dla jednego dnia tygodnia), ale trudności pojawiają się, gdy jakiś trening w pierwszym tygodniu różni się od drugiego. Być może problem jest banalny, a ja nie mogę sobie z nim poradzić. Dzięki;)
Spawnm
29.05.2009, 21:09:35
zamiast pon , wtorek itp zapisuj całe daty .
czyli
jakaś tabela user z id, imie, nazwisko, mail, hasło
i tabela rozkład
user_id, data, trening/opis
Mikos
29.05.2009, 21:23:22
Nie rozumiem do końca, co masz na myśli. Dni tygodnia muszą być zawarte, bo wprowadzają logiczny porządek. Pozdrawiam
erix
29.05.2009, 21:33:59
Cytat
Dni tygodnia muszą być zawarte, bo wprowadzają logiczny porządek.
Ale z pola daty można jak najbardziej wyciągnąć dni tygodnia. Jest do tego odpowiednia funkcja operująca na znaczniku czasu, więc porządek jest.
Mikos
30.05.2009, 00:51:05
a jak sugerujecie powiązać dany styl z liczbą basenów?
SzamanGN
30.05.2009, 10:57:55
Jak dla mnie to może wyglądać to tak:
tabele:
- trenujący - dane trenującego;
- treningi - ustalone treningi dla trenujących, np.: kraul, żabka, gżbiet, itp;
- zadania_treningowe - dokładnie określone elementy treningowe;
W zadania_treningowe opisujemy zadania treningowe:
id, id trenującego, id treningu, ilość powtórzeń, termin treningu
Jeżeli chodzi o termin treningu, to musisz się zdecydować co przez to będzie rozumiane: dni tygodnia czy dzień treningu (jeżeli inny niż standardowy okres jak tydzień miesiąc, itp.).
Tak więc układanie planu treningu:
1. uzupełnienia tabeli treningi - podanie wszystkich rodzajów treningów;
2. dodanie trenujących;
3. wybranie trenującego;
4. wybranie treningu;
5. wybranie terminu treningu;
6. podanie ilości powtórzeń.
Mikos
30.05.2009, 12:58:18
Problem jest w tym, że na jeden trening składa się kilka dni w tygodniu. Przykładowo dni treningowe to poniedziałek, środa, piątek. Zatem muszę stworzyć w bazie pole dla każdego dnia treningowego, w obrębie jednego rekordu. Dodatkowo dochodzą do tego informacje o wykonywanych ćwiczeniach podczas dnia treningowego oraz liczbie powtórzeń dla każdego ćwiczenia. Robi się straszny zamęt. Myślałem, żeby ćwiczenia zapisywać w bazie w jednym polu w postaci: ćwi1 | ćwi2 | ćwi3, ale nie mam pojęcia jak w takim przypadku powiązać to z ilością wykonywanych powtórzeń. Wyglądałoby to tak, że w pierwszym polu byłyby ćwiczenia dla konkretnego dnia: ćwi1 | ćwi2 | ćwi3 a w drugim polu odpowiadające ilości powtórzeń: 10 | 10 | 5(czyli ćwiczenie pierwsze to 10 powt, itd).
erix
30.05.2009, 13:03:09
No to przecież możesz zrobić dwie tabele w relacji jeden-do-wielu...
Cytat
Zatem muszę stworzyć w bazie pole dla każdego dnia treningowego, w obrębie jednego rekordu.
Nie musisz. To odpowiedni
SELECT będzie wszystko wyciągał.
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.