Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Zaprojektowanie bazy danych, grafik
Forum PHP.pl > Forum > Przedszkole
minolone
Witam.

Mam problem z zaprojektowaniem bazy danych, nie wiem jak to dokładnie ogarnąć,
Z pracownikiem jego stanowiskiem i miastem nie mam najmniejszego problemu,
Baza:

#Pracownik
- id
- imie
- nazwosko
- miasto_id
- stanowisko_id

#Miasto
- id
- nazwa

#Stanowisko
- id
- nazwa

Pracownik jest połączony relacjami jeden do jednego z miastem i stanowiskiem.

Potrzebuje dodać do tego jeszcze czas, ma to być na zasadzie grafiku pracowników, tyle że bez czasu pracy itd.
Czas ma tutaj odgrywać tylko rolę jako data, i to też nie byłoby problemem tylko że muszę zrobić codzienne zapisywanie czy dany pracownik był w pracy, oraz jest możliwość przemieszczania się pracowników pomiędzy miastami i to też musi być uwzględnione w tak jakby archiwum. Myślałem nad tabelą:

#Data
- id
- data

oraz

#DataPracownik
- id
- data_id
- pracownik_id
- miasto_id
- stanowisko_id

i wyglądało by to tak:

id | data_id | pracownik_id | miasto_id | stanowisko_id
1 | 1 | 1 | 1 | 1
2 | 1 | 2 | 3 | 1

czyli musiałbym uruchomić zadanie cron i zapisywać codziennie każdego użytkownika, taka jest moja koncepcja, nie wiem czy dobrze to przedstawiłem,
Może ktoś ma jakiś dobry pomysł jak to można ogarnąć.

Dzięki i pozdrawiam

Ewentualnie czy za pomocą mysql można skopiować dane, chodzi mi o skopiowanie każdego pracownika z tabeli Pracownik do tabeli DataPracownik i dodać date i tak codziennie np o 1 w nocy czy tylko php odczyt i zapis?
mmmmmmm
Miasto pozostaw jako tekst. Ja w swojej bazie miejscowości mam prawie 120 tys. a co chwilę przybywa - naprawdę chce ci się to aktualizować? 90% z nich i tak nie wykorzystasz... Datę też pozostaw w formie daty (yyyy-mm-dd). W takiej, jak teraz prezentujesz i zajmuje więcej miejsca, i jest mniej czytelne...
A skoro chcesz to w cronie wpisywać, to znaczy, że zapisujesz codziennie każdego pracownika. Czy jest więc sens, skoro wiesz, że tak jest?
minolone
Witam.

Źle mnie zrozumiałeś lub może ja coś źle napisałem, ogólnie cały projekt pisze w Symfony2 z użyciem SonataAdminBundle, miasta mam w osobnej tabeli ponieważ jest możliwość wyboru miasta z listy rozwijanej i przypisanie pod danego pracownika, co do czasu to jest jeszcze tak ze w tabeli pracownicy mam date od i do, tutaj jest np wybierany czas na jeden tydzień, on może ulec zmianie ponieważ dany pracownik może zmienić miejsce swojej pracy, dlatego potrzebuje jakoś to zapisywać gdzie i w jakim dniu był dany pracownik, moje pytanie brzmi jak to najlepiej zrobić? Czy najlepiej jest zapisywać w osobniej tabeli id pracownika miasto i date? W obecnej chwili mam już wszystko zrobione tylko nie wiem jak najlepiej jest zapisywać użytkownika, do tzw archiwum. Musze mieć wgląd danego pracownika z każdego dnia i miejsca.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.