![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
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? Ten post edytował minolone 4.03.2013, 21:52:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 24 Dołączył: 21.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:32 |