Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Baza zaposlenih - belezenje odstustva

[es] :: Access :: Baza zaposlenih - belezenje odstustva

[ Pregleda: 3879 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CODE
Beograd

Član broj: 46484
Poruke: 201
*.mediaworksit.net.



Profil

icon Baza zaposlenih - belezenje odstustva25.05.2012. u 13:05 - pre 144 meseci
Trebam da uradim bazu zaposlenih, gde ce biti kratke informacije o njima JMBG, ime prezime, br. koda pod kojim se vode u firmi, napomena itd...
kako mogu da uradim evidenciju odsustva, treba mi ovako:

Godišnji odmor,
bolovanje,
redovno,
vanredno odsustvo,
da mi sve to za svakog pojedinačnog radnika izbroji koliko dana i koliko sati je odsustvovao za taj period.

Hvala i pomozite mi.

Evo i baze koju sam pokušao da napravim.
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Baza zaposlenih - belezenje odstustva25.05.2012. u 16:05 - pre 144 meseci
Za sada nije dobar dizajn,a li moze da se popravi. Prvo, "Odsustvo" si tretirao kao potpuno nezavisni entitet. sto nije tacno. Odsustvo ne moze da postoji bez zaposlenog. Po tvojoj shemi - moze. Ti kreiras odsustvo, u tabeli Odsustvo, pa ga onda dodelis nekom zaposlenom u veznoj tabeli Zaposleni_Odsustvo. To nije dobro, jer su moguce svakojake greske a i programiranje je teze nego sto treba da bude.

Tebi su dovoljne dve tabele, jedna koja cuva zaposlene, i druga gde se belezi odsustvo. Pri tome je tabela Zaposleni roditelj tabela za tabelu Odsustva (novu), jer za jednog zaposlenog moze da postoji vise odsustava. Pitanje je samo kako napraviti drugu tabelu, Odsustva, tako da je tvoj posao olaksan maksimalo, a da su podaci bezedni i tacni (integritet podataka).

Pokusaj ovako. Neka tabela Zaposleni ostane ista, ili bar skoro ista. Malo bih promenio "Radno vreme". Prvo, ime bi bilo RadnoVreme (bez razmaka izmedju reci, isto vazi i za jos nekoliko kolona u tabeli). Onda bih rekao da je RadnoVreme decimalan boj i upisivao bih koliko sati treba da radi doticni radnik. Mogla bi i neka validacija na koloni da se doda, da ne unosimo gluposti.

Napravi tabelu Odsustva (mnozina, Odsustva, za razliku od tvoje originalne koja je u jednini, Odsustvo):

Odsustva:
{
ID_Zaposleni FK Zaposleni (ID_Zaposleni)
, RadnoVreme AS Decimal -- preisuje se iz tabele Zaposleni.RadnoVreme
, Datum AS datetime
, GodisnjiOdmor as DEcimal -- broj sati na godisnjem odmoru na zadati Datum
, Bolovanje as Decimal -- broj sati na bolovanju na zasati Datum
, Redovno as Decimal -- broj sati na zadati dan u kategoriji REdovno
, Ostalo AS Decimal -- broj sati na zadati dan u kategoriji OStalo
, VanrednaSituacija AS decimal -- broj sati na zadati dan u kategoriji VanrednaSituacija
, Vanredno AS Decimal -- broj sati na zadati dan u kategoriji VanrednaSituacija
CHECK CONSTRAINT: RadnoVreme >= (GodisnjiOdmor + Bolovanje + Redovno + OStalo + VanrednaSituacija + Vanredno)
}

Za svakog zaposlenog, pravi jedan zapis u tabeli Osustva za svaki dan kada je taj zaposleni bio odsutan po bilo kom osnovu. Broj sati se upisuje u odgovarajuce kolone.
Ako uvedes kolonu za 'Proveo sati radeci na poslu', onda ces imati jedn red za svakog radika za svaki dan. To izgleda mnogo, ali se to i inace negde vodi - "sihterica", pa ne smeta da se to unese u kompjuter.

Najvaznija stvar je onaj CHECK CONSTRINT - to ti je VALIDATION RULE na nivou tabele. Tu sprecavas unos kontradiktornih podataka, iliti - gluposti. Ne moze neko biti 8 sati na bolovanju i istog dana jos 5 sati na Godisnjem odmoru, ako je rado vreme samo 8 sati.

Dobices mnogo saveta da ovakvu tabelu Odsustva trebas da normalizujes, da je razbijes na dve tabele, gde se (Datum,KategorijaOdsustva) biti u zasebnim redovima. To ima smisla teorijski, ali onda ne mozes da uspostvis uslov da zbir sati u svim kategorijama ne prelazi dozvoljen broj sati za zadati dan. Imaces teorijski ispravan dizajn, sa velikom sansu da se nesto zabrlja u podacima prilikom unosa. Ako uzmes predlozeno resenje, podaci ce biti maksimalno tacni, nece bit kontradikcije, pa i ako budes sve direktno unosi u tabelu, bez ikakvog programiranja.

Normalizacija tabele Odsustva ima smisla ako se tvoje kategorije odsustva menjaju cesto, sto uglavnom nije slucaj. Znaci, ako jednom postavis tabelu i validaciju, miran si nekoliko godina. Ako neko i trazi da se doda nova kategorija, jednom u 4-5 godina, dodaces kolonu u tabelu i prosiriti validacono pravilo i to je sve. Bolje to nego da reskiras greske i kontradikcije u podacima.

 
Odgovor na temu

CODE
Beograd

Član broj: 46484
Poruke: 201
*.dynamic.isp.telekom.rs.



Profil

icon Re: Baza zaposlenih - belezenje odstustva26.05.2012. u 17:53 - pre 144 meseci
Evo pogledaj kako sam uradio do sada, ali ne znam zasto mi je relationship ovakav 1-1 ?


:(
Prikačeni fajlovi
 
Odgovor na temu

anjapetar
IT-desk

Član broj: 213669
Poruke: 36
213.133.6.*



Profil

icon Re: Baza zaposlenih - belezenje odstustva26.05.2012. u 23:34 - pre 144 meseci
Povezao si dva kljuca koja su primarna u obije tabele. Kao sto ti je Zidar napisao tabela Zaposleni je roditelj za tabelu Odsustva i tu mora postojati veza.
U tabeli Odsustva dodaj polje koje je isto kao kljuc u tabeli Zaposleni (polje je samo numeričko), i kao kljuc izaberi i oba polja. U relacijama povezi ID_Zaposleni sa ID_Zaposleni i dobices relaciju 1 - više.
Prikačeni fajlovi
 
Odgovor na temu

CODE
Beograd

Član broj: 46484
Poruke: 201
*.dynamic.isp.telekom.rs.



Profil

icon Re: Baza zaposlenih - belezenje odstustva27.05.2012. u 09:40 - pre 144 meseci
Kako da mi se upisuje PK u FK Zaposleni ? Nikako nece da prenese :(
Prikačeni fajlovi
 
Odgovor na temu

anjapetar
IT-desk

Član broj: 213669
Poruke: 36
213.133.6.*



Profil

icon Re: Baza zaposlenih - belezenje odstustva27.05.2012. u 17:00 - pre 144 meseci
Sad to radis preko formi,

Osnovna forma su ti Zaposleni, a podforma su Odsustva. Tako ce sve samo automatski da se vezuje: Odsustva (vise odsustva) za Zaposlene (za jedng zaposlenog).
Ja mogu da ti to napravim ali prava stvar je da to sam uradis.

Ako ne bude islo javi se.

 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Baza zaposlenih - belezenje odstustva27.05.2012. u 17:58 - pre 144 meseci
Poslušaj kolegu anjapetar. Evo ti i dodatne pomoći.
Top Tema česta pitanja: 3) Dobar primer za: način povezivanja tabela, pravljenje forme i podforme, kreiranje izračunatih polja na formi ......
http://www.elitesecurity.org/t267874-1-Aplikacija-access-pitanja

Obrati pažnju kod povezivanja forme i podforme na osobine Link Child Fields i Link Master Fields. To će ti rešiti problem.
 
Odgovor na temu

CODE
Beograd

Član broj: 46484
Poruke: 201
*.mediaworksit.net.



Profil

icon Re: Baza zaposlenih - belezenje odstustva28.05.2012. u 10:51 - pre 144 meseci
Pozdrav, neće pa neće, ne znam kako više i šta da uradim, evo postaviću bazu ovde, pa neka mi neko pomogne. Niti mi učitava iz tabele Zaposleni.RadnoVreme u tabelu Odsustva.RadnoVreme. Povezane su tabele, međutim kao da nisu ne znam u čemu je problem. :(

[Ovu poruku je menjao CODE dana 28.05.2012. u 12:25 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Baza zaposlenih - belezenje odstustva28.05.2012. u 12:31 - pre 144 meseci
Neslušaš savete. Rekli smo ti da napraviš formu i podformu. Uzmi neku knjigu i prođi osnove Access-a.
Prikačeni fajlovi
 
Odgovor na temu

anjapetar
IT-desk

Član broj: 213669
Poruke: 36
*.celebic.com.



Profil

icon Re: Baza zaposlenih - belezenje odstustva28.05.2012. u 14:01 - pre 144 meseci
Vrlo jednostavno i efektno.
 
Odgovor na temu

CODE
Beograd

Član broj: 46484
Poruke: 201
*.dynamic.isp.telekom.rs.



Profil

icon Re: Baza zaposlenih - belezenje odstustva29.05.2012. u 22:55 - pre 144 meseci
Hvala puno svima na pomoći !!! :))
 
Odgovor na temu

[es] :: Access :: Baza zaposlenih - belezenje odstustva

[ Pregleda: 3879 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.