![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 22.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z bazą do prowadzenia ewidencji czasu pracy (ok. 50 pracowników). Wstępnie czas pracy podzieliłem na 2 tabele, dni wolne i robocze. Z wolnym nie mam problemu. Ale nie wiem czy dobrze myślę z roboczymi. Muszę mieć podział na numery zleceń i podzleceń (w roku 300-400). Często jeden pracownik w danym dniu pracuje nad jednym zleceniem, ale czasem nad kilkoma i tu mam problem z zapytaniem. selectem potrzebuję uzyskać np. listę: id_prac, data, zlecnie1, zlecenie2, zlecenie2_1, ... 1. koncepcja tabeli: id_prac, data, zlecenie1, zlecenie2,.... Każde nowe zlecenie/pod zlecenie dodawałoby nową kolumnę do tabeli. W kolumnach zleceń przechowywałbym ile godzin w danym dniu dany pracownik przepracował. Zalety: Byłoby bardzo prosto dodać/pobrać dane. Wada: Tabela stałaby się olbrzymia i przechowywała głównie zera. Wniosek: zła koncepcja. 2.koncepcja tabeli: id_prac, data, godzin, id_zlec Zalety: prosta budowa tabeli, łatwo dodać dane. Wada: nie mam pomysłu jak wydobyć z takiej tabeli takie zestawienie: id_prac, data, zlecnie1, zlecenie2, zlecenie2_1, ... Ogólnie uzyskać taką tabelkę: www.rynekpracy.lublin.pl/upload/SF_fkecp.dot tyle, że u mnie poza tym co widać, będzie długa lista zleceń (coś jak tu czas nieobecności). Wstępną koncepcję mam taką, żeby dla danego miesiąca zrobić 30/31 zapytań: select * from tabela where id_prac=1 AND data=2010-03-01 select * from tabela where id_prac=1 AND data=2010-03-02 ...... wcześniej bez problemu z innej tabeli pobiorę id_zlec dla danego miesiąca i w efekcie końcowym wyrysuję potrzebną mi tabelę, ale wydaje mi się, że to rozwiązanie chociaż działające, to jest nieeleganckie, bo wymaga aż 30/31 zapytań dla wyrysowania 1 tabeli. Inny problem - nie mam doświadczenia z większymi bazami. Po np. pół roku taka tabela będzie mieć ok. 15 tys. "wierszy", kiedy pojawią się problemy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:40 |