Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]konstrukcja optymalnej bazy danych
Mikos
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

Ostrzeżenie: (0%)
-----


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;)

Ten post edytował Mikos 29.05.2009, 21:05:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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
Go to the top of the page
+Quote Post
Mikos
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

Ostrzeżenie: (0%)
-----


Nie rozumiem do końca, co masz na myśli. Dni tygodnia muszą być zawarte, bo wprowadzają logiczny porządek. Pozdrawiam
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Mikos
post
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

Ostrzeżenie: (0%)
-----


a jak sugerujecie powiązać dany styl z liczbą basenów?
Go to the top of the page
+Quote Post
SzamanGN
post
Post #6





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

Ostrzeżenie: (0%)
-----


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ń.


--------------------
SzamanGN
Go to the top of the page
+Quote Post
Mikos
post
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

Ostrzeżenie: (0%)
-----


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).
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ł.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:53