Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Zaprojektowanie bazy danych, grafik
minolone
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mmmmmmm
post
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?
Go to the top of the page
+Quote Post
minolone
post
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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 16:32