[ fahre72 @ 30.03.2015. 14:13 ] @
imam ovakvu situaciju:

tabela partneri sa podacima za partnere
tabela poslovnice
tabela pacijenti
tabela pregledi

Cilj je evidentirati i pratiti preglede pojedinih pacijenata u pravilnim vremenskim razmacima. Npr. Laza Lazarević je obavio pregled 30.03. Sljedeći pregled je za 6 mjeseci i sistem treba da upozori 10 dana prije za navedeni pregled.
Sve svatam kako povezati ali problem je sljedeci: Vecina partnera nema poslovnice, ali oni koji imaju poslovnice, pacijente treba da vežem za poslovnice, a ako nema poslovnicu onda za partnere.

Znači: neki partneri imaju poslovnice koje imaju pacijente, a partneri koji nemaju poslovnice, pacijente vezem direktno za njih.

Da li je rješenje da za partnere koji nemaju poslovnice definisem jednu poslovnicu i iskopiram naziv partnera ili na neki drugi način.
[ nenadmarkoni @ 30.03.2015. 14:35 ] @
Mozete u tabeli Partner napraviti rekurzivnu vezu(samu na sebe) i postaviti atribut NadredjeniPartner.Ne treba Vam tada tabela Poslovnica. Rijeseno ;-)
[ mkaras @ 30.03.2015. 15:16 ] @
Citat:
fahre72:
imam ovakvu situaciju:

tabela partneri sa podacima za partnere
tabela poslovnice
tabela pacijenti
tabela pregledi

Cilj je evidentirati i pratiti preglede pojedinih pacijenata u pravilnim vremenskim razmacima. Npr. Laza Lazarević je obavio pregled 30.03. Sljedeći pregled je za 6 mjeseci i sistem treba da upozori 10 dana prije za navedeni pregled.
Sve svatam kako povezati ali problem je sljedeci: Vecina partnera nema poslovnice, ali oni koji imaju poslovnice, pacijente treba da vežem za poslovnice, a ako nema poslovnicu onda za partnere.

Znači: neki partneri imaju poslovnice koje imaju pacijente, a partneri koji nemaju poslovnice, pacijente vezem direktno za njih.

Da li je rješenje da za partnere koji nemaju poslovnice definisem jednu poslovnicu i iskopiram naziv partnera ili na neki drugi način.


Pokušavam da shvatim zateve. Ispravi me ako grešim.
- Partner ima jednu ili ni jednu poslovnicu ili možda čak i više?
- Jedna poslovnica pripada samo jednom partneru
- partner ima jednog ili više pacijenata
- Pacijent pripada samo jednom partneru
- pacijent ima jedan il više pregleda
Ako je ovo tačno onda tako i poveži tabele:
- partner ima nula,jednu ili više poslovnica
- partner ima jednog ili više pacijenata i
- pacijent ima jedan ili više pregleda
Pa ćeš preko veze pacijenta sa pregledom imati i vezu pregleda sa partnerom i poslovnicom.

[ fahre72 @ 30.03.2015. 15:17 ] @
Mislite da u tabeli Partneri unosim npr:

Microsoft d.o.o bez unesenog nadredjenog partnera

Microsoft d.o.o - PJ 1
Microsoft d.o.o - PJ 2
.
.
.
Microsoft d.o.o - PJ 58

i Microsoft d.o.o kao nadredjeni partner za svaku poslovnu jedinicu.

[ fahre72 @ 30.03.2015. 15:24 ] @
Citat:
mkaras:
Citat:
fahre72:
imam ovakvu situaciju:

tabela partneri sa podacima za partnere
tabela poslovnice
tabela pacijenti
tabela pregledi

Cilj je evidentirati i pratiti preglede pojedinih pacijenata u pravilnim vremenskim razmacima. Npr. Laza Lazarević je obavio pregled 30.03. Sljedeći pregled je za 6 mjeseci i sistem treba da upozori 10 dana prije za navedeni pregled.
Sve svatam kako povezati ali problem je sljedeci: Vecina partnera nema poslovnice, ali oni koji imaju poslovnice, pacijente treba da vežem za poslovnice, a ako nema poslovnicu onda za partnere.

Znači: neki partneri imaju poslovnice koje imaju pacijente, a partneri koji nemaju poslovnice, pacijente vezem direktno za njih.

Da li je rješenje da za partnere koji nemaju poslovnice definisem jednu poslovnicu i iskopiram naziv partnera ili na neki drugi način.


Pokušavam da shvatim zateve. Ispravi me ako grešim.
- Partner ima jednu ili ni jednu poslovnicu ili možda čak i više?
- Jedna poslovnica pripada samo jednom partneru
- partner ima jednog ili više pacijenata
- Pacijent pripada samo jednom partneru
- pacijent ima jedan il više pregleda
Ako je ovo tačno onda tako i poveži tabele:
- partner ima nula,jednu ili više poslovnica
- partner ima jednog ili više pacijenata i
- pacijent ima jedan ili više pregleda
Pa ćeš preko veze pacijenta sa pregledom imati i vezu pregleda sa partnerom i poslovnicom.



Ako partner ima poslovnice pacijente vezem na poslovnicu jer su one u potpuno razlicitim gradovima i tako mi odgovara, a ako nema poslovnicu onda pacijente moram vezati za partnera. U tome i jest problem.

Ako povezem kako si predlozio, ne mogu znati koji pacijent pripada kojoj poslovnici.
[ fahre72 @ 30.03.2015. 15:36 ] @
Citat:
fahre72:
Mislite da u tabeli Partneri unosim npr:

Microsoft d.o.o bez unesenog nadredjenog partnera

Microsoft d.o.o - PJ 1
Microsoft d.o.o - PJ 2
.
.
.
Microsoft d.o.o - PJ 58

i Microsoft d.o.o kao nadredjeni partner za svaku poslovnu jedinicu.




Ovo bi mogla da bude dobra ideja, jer većina podataka za osnovni objekat i poslovnice su isti: grad, adresa, odgovorna osoba, tel

A takodje se moze desiti da i u osnovnom objektu i u njegovim poslovnicama istovremeno imam pacijente koje treba da pratim.

Ako zatrebam samo partnere ili samo poslovnice lako je isfiltrirati
[ nenadmarkoni @ 30.03.2015. 15:40 ] @
Ako Pacijent moze pripadati samo jednom Partneru, tada u tabeli Pacijent treba da imate preneseni kljuc iz tabele Partner koji nam govori kom Partneru pripada pacijent. Ako moze pripadati vise partnera tada Vam treba medjutabela PartnerPacijent. Partner koji ima nadredjenog je Poslovnica.
[ fahre72 @ 30.03.2015. 15:51 ] @
Citat:
nenadmarkoni: Ako Pacijent moze pripadati samo jednom Partneru, tada u tabeli Pacijent treba da imate preneseni kljuc iz tabele Partner koji nam govori kom Partneru pripada pacijent. Ako moze pripadati vise partnera tada Vam treba medjutabela PartnerPacijent. Partner koji ima nadredjenog je Poslovnica.


Pacijent pripada jednom partneru odnosno jednoj poslovnici, ali moze se desiti da pacijent predje iz jedne poslovnice u drugu ili cak da promijeni partnera. Sta mislite da u tabeli pregledi dodam i polje u koje bi se kopirao ID partnera u trenutku kada se izvrsi pregled, tako da u slucaju da promijeni partnera mogu pratiti gdje su sve obavljeni pregledi za odredjenog pacijenta.
[ nenadmarkoni @ 30.03.2015. 16:16 ] @
Znaci da je tada odnos relacije izmedju tabela Pacijent i Partner vise prema vise i tada Vam treba medju tabela. Tabela Pregled treba da se veze za tu tabelu.
[ nenadmarkoni @ 30.03.2015. 16:22 ] @
Mada cini mi se da se ovde radi o promjeni stanja pa propratite teme koje su se bavile tom tematikom. U prilogu jedan tekst iz takve teme
[ mkaras @ 30.03.2015. 17:21 ] @
Citat:
fahre72:

Ako partner ima poslovnice pacijente vezem na poslovnicu jer su one u potpuno razlicitim gradovima i tako mi odgovara, a ako nema poslovnicu onda pacijente moram vezati za partnera. U tome i jest problem.

Ako povezem kako si predlozio, ne mogu znati koji pacijent pripada kojoj poslovnici.

Probaj da nacrtaš dijagram i videćeš da ćeš vrlo lako saznati. Sa tvojim pristupom brzo ćeš napraviti veliku zbrku ako partner u nekom momentu nabavi poslovnicu. Šta onda?
Uvek možeš da utvrdiš upitom koji partner pripada kojoj poslovnici a samim tim i koji pacijenti pripadaju kom partneru. To povlači da znaš i koji pacijenti pripadaju kojoj poslovnici.
Nemoj raditi bez crtanja. Ako nemaš neki od alata (ja volim Erwin) onda barem nacrtaj rukom. Na osnovu toga napravi tabele, samo primarni ključ i jedan atribut kao i preneseni ključ ispovezuj i pokušaj da upitom nađeš informacije koje te interesuje. Posle pravi prave tabele sa svim bitnim podacim
[ fahre72 @ 01.04.2015. 10:08 ] @
Opis procesa:
Propisima je odredjeno koje usluge, koliko često trebaju da se obavljaju:
a) Sanitarni minimum – svake 4 godine
b) Sanitarni pregled
• Za klijente koji se bave prometom hrane – svakih 6 mjeseci
• Za ostale partnere – svakih 12 mjeseci
c) Deratizacija – svakih 6 mjeseci
d) Dezinfekcija
• Za klijente koji se bave prometom hrane – svakih 1 mjesec
• Za ostale partnere – svaka 3 mjeseca
e) Dezinsekcija
• Za klijente koji se bave prometom hrane – svaka 3 mjeseca
• Za ostale klijente – svakih 6 mjeseci
f) Analiza hrane – svakih 1 mjesec
g) Analiza vode – po zahtjevu
h) Analiza briseva – po zahtjevu
Sanitarni minimum i pregled se obavlja na radnicima, a deratizacija, dezinfekcija i dezinsekcija se obavlja u prostorima partnera ili poslovnica.
Baza bi trebala za sve usluge gdje su definisani rokovi da nakon unosa prvog datuma uradjene usluge, odmah kreira novi rekord u koji bi se generisao novi datum uvećan za gore navedene periode.
Tehničarima koji će obavljati ove poslove, planirano je da im se dodijele partneri za koje će obavljati navedene usluge. Ta opcija će biti u 90% slučajeva. Naravno treba predvidjeti da, ukoliko je neki tehničar nedostupan, da ga zamijeni neki drugi, a to bi obavljao njihov rukovodilac. Postoji situacija da će uz dodijeljenog tehničara za nekog partnera biti dodijeljen još jedan kao ispomoć u slučajevima ako se radi o većem partneru. (Znači jedan ili dva, ne više).
Sve gore navedene usluge se mogu raditi i po zahtjevu (to je u slučaju da partner ne želi da potpiše ugovor, nego on želi da odredjuje kad će mu se doći i odraditi koja usluga). Tada rukovodilac po tom zahtjevu odredjuje kad se treba izaći na teren.



Tok procesa:
1. Rukovodilac unosi usluge za partnere sa kojima je sklopljen ugovor gdje definiše koja usluga je dogovorena. Samim unosom usluge, i prethodnim određenjem kojom djelatnosti se partner bavi (prometom hrane, ostalo ili eventualno, ako se propiše neka nova djelatnost) treba da se odrede i koji su rokovi za navedenu uslugu, odnosno propiše se vrijeme koje se treba dodati na datum izvršenja usluge da bi znao tačan sljedeći datum izvršenja te usluge.
2. Usluge sanitarni minimum i sanitarni pregled se obavljaju na radnicima. Često u zahtjevu koji se dobije od partnera piše: „8 radnika za sanitarni pregled“, znači ne znaju se imena nego se ista saznaju tek pri izvršenju usluge, ali navedeni nalog za tih 8 radnika bi trebao da se unese, a kasnije po saznanju, unijela bi se imena i prezimena radnika.
3. Kada se prvi put unese izvršenje neke od usluga za partnera, a kako za tog partnera imamo već unešeno koje usluge se rade kod njega, kojoj grupi djelatnosti pripada, odnosno koji su rokovi za tu uslugu i koji tehničar je zadužen da prati tog partnera, tako može baza automatski planirati sljedeće izvršenje te iste usluge. Rukovodilac će reagovati jedino ako dodje do izmjene tehničara ili datuma izvršenja usluge ili do otkazivanja izvršenja usluge jer i taj slučaj je moguć.
4. Praćenje pacijenta u slučaju promjene partnera ili poslovnice nije neophodno, tako da ako se izvrše premještanje nekog pacijenta kod drugog partnera registrovaću ga kao novog pacijenta.

Malo mi je problem oko definisanja rokova. Kada izvršim uslugu za nekog pacijenta, baza treba automatski (na osnovu toga da li je u pitanju sanitarni minimum ili pregled i prema grupi djelatnosti partnera kod kojeg radi pacijent) da odredi rok i da sljedeći datum izvršenja usluge poveća za odgovarajuci broj mjeseci.

Postavicu bazu pa pogledajte da li je struktura ok.

[ nenadmarkoni @ 01.04.2015. 11:13 ] @
Citat:
fahre72
4.Praćenje pacijenta u slučaju promjene partnera ili poslovnice nije neophodno, tako da ako se izvrše premještanje nekog pacijenta kod drugog partnera registrovaću ga kao novog pacijenta

Ovo bi Vam bila velika greska. Jedno od pravila relacionih baza je eliminisanje ponavljanja(redudantnosti). Pracenje ovog slucaja je lako rjesivo. Sve sto je potrebno je da se u onoj medjutabeli PartnerPacijent dodaju dva datumska polja od-do. Aktivni Partner je onaj u kojem ne postoji datum "do", odnosno gdje je to polje prazno.
Ovde pricam o amaterskom nacinu rjesavanja koje dozvoljava pojavu greske. Profesionalniji pristup je opisao @ Zidar u prilogu koji sam prikacio u prethodnim postovima.
[ fahre72 @ 01.04.2015. 11:22 ] @
Citat:
nenadmarkoni: Ovo bi Vam bila velika greska. Jedno od pravila relacionih baza je eliminisanje ponavljanja(redudantnosti). Pracenje ovog slucaja je lako rjesivo. Sve sto je potrebno je da se u onoj medjutabeli PartnerPacijent dodaju dva datumska polja od-do. Aktivni Partner je onaj u kojem ne postoji datum "do", odnosno gdje je to polje prazno.
Ovde pricam o amaterskom nacinu rjesavanja koje dozvoljava pojavu greske. Profesionalniji pristup je opisao @ Zidar u prilogu koji sam prikacio u prethodnim postovima.


OK probacu tako. Sta mi predlazete za tabelu tblRealizacija. Ovako kako je postavljeno ova tabela se moze koristiti samo za usluge sanitarni minimum i sanitarni pregled jer se jedino te dvije usluge obavljaju nad pacijentima. Sve ostale usluge se obavljaju nad partnerima. Da li da za ostale usluge definisem drugu tabelu ili postoji neki drugi nacin.
[ nenadmarkoni @ 01.04.2015. 11:36 ] @
Trenutno nisam uz racunar pa nisam ni pogledao bazu. Mogu Vam odgovoriti tek veceras.
[ Dexxxl @ 01.04.2015. 19:54 ] @
Citat:
fahre72
Pacijent pripada jednom partneru odnosno jednoj poslovnici, ali moze se desiti da pacijent predje iz jedne poslovnice u drugu ili cak da promijeni partnera. Sta mislite da u tabeli pregledi dodam i polje u koje bi se kopirao ID partnera u trenutku kada se izvrsi pregled, tako da u slucaju da promijeni partnera mogu pratiti gdje su sve obavljeni pregledi za odredjenog pacijenta.


Dobra ideja, jeste da narusava pravila normalizacije, ali se dobija na funkcionalnosti.
Cilj ove aplikacije nije pracenje kretanja pacijenta po poslovnicama, tako da je u ovom slucaju suvisno primenjivati sve one (inace izvanredne) Zidareve fazone.

Ovaj fazon sa prenosom polja inace se cesto koristi u slucaju artikl-cena, tako da kada dodje do promene cene u svim dokumentima (fakture itd...) ostaju cene koje su vazile na dan kad je dokument kreiran.
[ nenadmarkoni @ 01.04.2015. 20:47 ] @
Pogledao sam i mislim da treba "malo" drugačije organizovati. To malo u prilogu...
Izbjegavajte Autonumber, nisu dobro odabrani pojedini tipovi polja.Polja koja mogu da se izracunaju : Datum prethodne realizacije, Datum isteka,datum plana , se ne unose u bazu vec se izracunavaju u upitu...
ps. Bio sam malo vise iskomplikovao, a to Vam je pretesko pa sam promjenio


[Ovu poruku je menjao nenadmarkoni dana 01.04.2015. u 22:06 GMT+1]
[ nenadmarkoni @ 01.04.2015. 21:42 ] @
Evo model i na fizickom nivou(malcice opet izmjenjen) i generisana baza. Nacin realizacije PartnerID i RealizacijaID imate primjer u trenutno aktivnoj temi ...radnici,vozila,masine.
[ fahre72 @ 02.04.2015. 09:01 ] @
Citat:
nenadmarkoni:
Pogledao sam i mislim da treba "malo" drugačije organizovati. To malo u prilogu... :-)
Izbjegavajte Autonumber, nisu dobro odabrani pojedini tipovi polja.Polja koja mogu da se izracunaju : Datum prethodne realizacije, Datum isteka,datum plana , se ne unose u bazu vec se izracunavaju u upitu...
ps. Bio sam malo vise iskomplikovao, a to Vam je pretesko pa sam promjenio


[Ovu poruku je menjao nenadmarkoni dana 01.04.2015. u 22:06 GMT+1]


Vezano za Autonumber polje, npr. u tabeli Grad ostavljeno je polje IDGrad, kako nema šanse da mi se NazivGrada ponovi, mogu li za PK uzeti NazivGrada a ukinuti polje IDGrada.

Datum prethodne realizacije se ne bi unosio, nego bi se kopirao pri završetku sa unosom prethodnog rekorda, a u svrhu otvaranja novog rekorda, odnosno pokretanja novog naloga. Polje Datum plana se unosi jer on se odredjuje u skladu sa slobodnim radnicima i u dogovoru sa partnerom, taj datum može biti prije ili poslije datuma isteka.
[ nenadmarkoni @ 02.04.2015. 09:40 ] @
Naravno da moze. Vazno je samo da PK jednoznacno identifikuje zapis. Ako se informacija-podatak ( kao sto je datum prethidne realizacije) moze dobiti upitom nad podacima odnosno moze se izracunati tada se, uglavnom, taj podatak ne prepisuje. Ako je datum plana ustvari datum kada opet treba izvrsiti tu uslugu onda se i taj podatak moze izracunati tako sto se datum realizacije uveca za odredjeni broj mjeseci u zavisnosti od djelatnosti klijenta.
Sto se tice ID polja, umjesto Autonumber polja moze se dobiti programerski Autonumber koji se bolje pokazao od ugradjenog.
[ mkaras @ 02.04.2015. 09:50 ] @
Citat:
nenadmarkoni: Naravno da moze. Vazno je samo da PK jednoznacno identifikuje zapis. Ako se informacija-podatak ( kao sto je datum prethidne realizacije) moze dobiti upitom nad podacima odnosno moze se izracunati tada se, uglavnom, taj podatak ne prepisuje. Ako je datum plana ustvari datum kada opet treba izvrsiti tu uslugu onda se i taj podatak moze izracunati tako sto se datum realizacije uveca za odredjeni broj mjeseci u zavisnosti od djelatnosti klijenta.

Bolje je da se zadrži gradID polje. Problem se može javiti ako dođe do greške prilikom unosa imena grada. Ispravku treba ručno uraditi u vim poljima gde se pijavljuje ime grada. Sa gradID sve je urađeno automatski
[ fahre72 @ 02.04.2015. 10:07 ] @
Citat:
nenadmarkoni: Naravno da moze. Vazno je samo da PK jednoznacno identifikuje zapis. Ako se informacija-podatak ( kao sto je datum prethidne realizacije) moze dobiti upitom nad podacima odnosno moze se izracunati tada se, uglavnom, taj podatak ne prepisuje. Ako je datum plana ustvari datum kada opet treba izvrsiti tu uslugu onda se i taj podatak moze izracunati tako sto se datum realizacije uveca za odredjeni broj mjeseci u zavisnosti od djelatnosti klijenta.
Sto se tice ID polja, umjesto Autonumber polja moze se dobiti programerski Autonumber koji se bolje pokazao od ugradjenog.


Taj datum koji se racuna je datum isteka i on se dobije dodavanjem broja mjeseci, a datum plana se unosi kao planirani datum obavljanja usluge koji se ne mora poklopiti sa datum isteka, a isto tako moze se desiti da naš radnik, bez obzira na taj datum, ne uspije obaviti pregled na planirani datum, pa datum realizacije moze biti razlicit od datuma plana. Svi ovi datumi su mi potrebni da se pratilo koliko se poštuju zadani rokovi.
[ nenadmarkoni @ 02.04.2015. 10:11 ] @
Slazem se sa @mkaras.
Mislim da datum plana nije potreban, ali kako zelite. Ne znam kako mislite unositi ovo polje ??
[ nenadmarkoni @ 02.04.2015. 10:23 ] @
Mozda je bolje rjesenje uvesti dodatni entitet Zakazivanje, gdje cete evidentirati sta ste dogovorili sa Klijentom par dana prije datuma isteka, odnosno Realizacije. U njemu mozete evidentirati taj datum plana-dogovora, i mozete planirati i izvrsioce.
[ fahre72 @ 06.04.2015. 13:37 ] @
Izvinjavam se sto nisam mogao prije da se javim, a imam dosta pitanja.
Jedno po jedno.

Interesuje me entitet Godina, zasto ste ga uveli.

Dalje, tabela Saradnik i Saradnik_1 u Relacijama mislim da je pogresno postavljeno. U tabeli Saradnik će se postavljati samo podaci za klijente koji imaju poslovnice. Kada prvi put unosim neku poslovnicu, sad ovako kako je postavljeno necu moci postaviti nadredjenogSaradnika jer ga trenutno nema u tabeli Saradnik. Umjesto Saradnik_1 trebalo bi da bude PravnoLice_1.

RukovodilacID u tabeli RadnikID nema potrebe da stoji jer mi taj podatak nije bitan.

Vezano za zaduzenje Radnika za odredjenu firmu, od toga se odustalo, tako da ce se za svaku realizaciju odredjivati izvrsioci iz liste radnika.

Kada zavrsim sa ovim izmjenama ponovo cu upload-ovati bazu.

U tabeli Realizacija buni me postojanje SaradnikID i KlijentID jedno do drugog, a koliko ja vidim to je u biti isti podatak, odnosno predstavlja partnerID.

[Ovu poruku je menjao fahre72 dana 06.04.2015. u 15:00 GMT+1]
[ nenadmarkoni @ 06.04.2015. 14:34 ] @
Citat:
fahre72:

Interesuje me entitet Godina, zasto ste ga uveli.

Zbog realizacije PK tabela Partner i Realizacija(a mozda zatreba jos negdje). U pitanju je realizacija takozvanog govorećeg ključa. Upotrebljava se kada nema dobrog kandidata za PK. Uputio sam Vas na temu gdje imate primjer.
Citat:
fahre72:Dalje, tabela Saradnik i Saradnik_1 u Relacijama mislim da je pogresno postavljeno. U tabeli Saradnik će se postavljati samo podaci za klijente koji imaju poslovnice. Kada prvi put unosim neku poslovnicu, sad ovako kako je postavljeno necu moci postaviti nadredjenogSaradnika jer ga trenutno nema u tabeli Saradnik. Umjesto Saradnik_1 trebalo bi da bude PravnoLice_1.

Ovde je u pitanju rekurzivna veza-veza tabele na samu sebe. Ovde se radi o jednoj tabeli, ali access zbog veze koja je postavljena prikazuje 2 puta tu tabelu u pregledu relacija. Normalno je da cete prvo unijeti podatak za nadredjene poslovnice-Partnere Saradnike pa tek onda za njihove ppslovnice.
Citat:
fahre72:RukovodilacID u tabeli RadnikID nema potrebe da stoji jer mi taj podatak nije bitan.

U opisu ste pomenuli taj podatak pa je i on unesen

Citat:
fahre72:U tabeli Realizacija buni me postojanje SaradnikID i KlijentID jedno do drugog, a koliko ja vidim to je u biti isti podatak, odnosno predstavlja partnerID.

Moze biti ali i ne mora. U tabeli Saradnik definišete Partnere saradnike i njihove poslovnice(oni pruzaju usluge) a u tabeli Klijent se definisu preduzeca nad kojima se izvrsava radnja-pregled.

[ fahre72 @ 06.04.2015. 15:05 ] @
Citat:
Ovde je u pitanju rekurzivna veza-veza tabele na samu sebe. Ovde se radi o jednoj tabeli, ali access zbog veze koja je postavljena prikazuje 2 puta tu tabelu u pregledu relacija. Normalno je da cete prvo unijeti podatak za nadredjene poslovnice-Partnere Saradnike pa tek onda za njihove ppslovnice.


Razumijem ja da je to jedna tabela, ali ... evo konkretno, ja sada u tabeli partneri imam uneseno preko 2000 partnera pravnih lica i hocu da unesem jednu poslovnicu za jednu firmu. Znaci trenutno u tabeli Saradnik nemam niti jednog record-a, jer nemam unesenu niti jednu poslovnicu. Kada pokušam unijeti polje nadredjeniSaradnik, a to polje je povezano sa istom tabelom, koja je prazna, ne moze se unijeti NadredjeniSaradnik. Zato kazem da se treba Umjesto Saradnik_1, koristiti jos jednom tabela PravnoLice, jer u toj tabeli se nalaze firme koje su Nadredjeni Saradnici.


Citat:
Moze biti ali i ne mora. U tabeli Saradnik definišete Partnere saradnike i njihove poslovnice(oni pruzaju usluge) a u tabeli Klijent se definisu preduzeca nad kojima se izvrsava radnja-pregled.



Znaci dovoljno je u tabeli Realizacija ostaviti samo IDKlijent.
[ nenadmarkoni @ 06.04.2015. 15:32 ] @
Ako su sva unijeta pravna lica ( njih 2000) ustvari saradnici mozete copy paste u tabelu Saradnik odnosno napisati append query koji ce sve rekorde ubaciti u tabelu saradnik.
Htio sam Vam pokazati dobar nacin realizacije PK koji mijenja Autonumber a radi bolje i pouzdanije ali kako hocete.
Tabela Realizacija obzirom da je podredjena tabela realizuje se kao subforma. Da bi je vezali sa nadredjenim tabelama-formama, treba nam neka veza. KlijentID i SaradnikID su ti podaci koji ih vezuju.
[ nenadmarkoni @ 06.04.2015. 17:24 ] @
Evo malo kao podstrek uradio sam Vam par upita i prebacio forme iz prethodne teme. Formu FizickoLice sam na brzinu prilagodio Vašem primjeru a ostale Vi prilagođavajte. Napravio sam Vam i par upita koji će Vam trebati za realizaciju. U FE baze sam dodao i tabelu za hvatanje grešaka.
ps. Potrebno je da prelinkujete tabele tamo gdje raspakujete BE baze
[ fahre72 @ 07.04.2015. 07:19 ] @
Citat:
Htio sam Vam pokazati dobar nacin realizacije PK koji mijenja Autonumber a radi bolje i pouzdanije ali kako hocete.


Bio bi vam veoma zahvalan na ovome, a i ostali manje iskusni korisnici.
[ nenadmarkoni @ 07.04.2015. 07:37 ] @
Imate to već u prilozenom FE fajlu. Prost kljuc u formi Mjesto i slozeni-govoreci u formi PravnoLice. Propratite na koji nacin se dobija polje MjestoID. To nije Autonumber. A onda propratite dobijanje PartnerID.
[ fahre72 @ 07.04.2015. 10:39 ] @
Citat:
Ako su sva unijeta pravna lica ( njih 2000) ustvari saradnici mozete copy paste u tabelu Saradnik odnosno napisati append query koji ce sve rekorde ubaciti u tabelu saradnik.


Ocigledno ili ja vas ne razmijem ili vi mene. Tabela Saradnik ima polje NadredjeniSaradnik, odnosno kako sam ja svatio, u ovu tabelu se samo smjestaju saradnici koji imaju nadredjenog saradnika, odnosno poslovnice (a njih je vrlo malo), dok se svi saradnici nalaze u tabeli PoslovnaLica. Ako sam u krivu recite mi.
[ nenadmarkoni @ 07.04.2015. 11:08 ] @
U krivu ste. U tabeli Partner su sva lica i pravna i fizicka. U tabeli PravnoLice i FizickoLice su samo lica koja pripadaju tim grupama. Koliko sam shvatio pricu Izvrsioci poslova-usluga su pravna lica koja mogu biti Nadredjena(imaju poslovnice) i podredjena(poslovnica). Ima li slucajeva da je neki od ovih i nadredjen i podredjen? Ako nema onda su svi Saradnici koji nemaju nadredjenog ustvari nadredjeni, a oni koji imaju ovaj podatak su poslovnoce.
[ fahre72 @ 07.04.2015. 11:21 ] @
Onda to znaci da ce tabela Saradnik imati oko 2000 recorda gdje je unesen samo IDPoslovnoLice, polje NadredjeniSaradnik ce biti prazno i oko 60 poslovnica koje ce imati nadredjenogSaradnika.

Poslovna lica i Fizicka lica su ustvari firme i lica kojima mi vrsimo usluge. Da li je problem da radnike koji rade u mojoj firmi odvojimo u posebnu tabelu ili da ih ostavim u tabeli FizickaLica (to bi bile informacije samo za desetak zaposlenih i samo Ime i prezime).
[ nenadmarkoni @ 07.04.2015. 11:40 ] @
PravnoLice su sva pravna lica, bez obzira da li su saradnici,nadredjeni, partneri, pacijenti ili Vasa firma ili bilo cija firma. Vazno je samo da su pravna lica. U tabeli FizickoLice su i radnici, i zaposleni kod pacijenta, i pacijenti i vasi radnici i Vi ...samo je vazno da su fizicka lica. Onda se u vezanim tabelama definisu da li su pravna lica Saradnici ili Klijenti( mogu li biti i jedno i drugo?), a za fizicka da li su Radnici ili Zaposleni(pacijenti).
[ fahre72 @ 07.04.2015. 11:56 ] @
Sva pravna lica su samo klijenti.

Postoji Zavod (to smo mi) i dajemo usluge pravnim licima (sva pravna lica su klijenti, nema saradnika) i fizičkim licima, s tim odredjeni dio zaposlenih kod pravnih lica (oni koji moraju obavljati periodicni sanitarni pregled) su takodjer naši klijenti, ali preko svojih firmi.

Da li je u ovom modelu koji ste vi predlozili moguce imati situaciju, da ja kod Realizacije, kada izaberem odredjenu firmu i odredjenu uslugu da bude automatski odabran rok koji ce ta usluga trajati. Npr. izaberem "RESTORAN MLJAC" (a to je promet hranom), izaberem uslugu "Dezinfekcija", da je automatski odredjen rok od 1 mjesec za tu uslugu od dana izvrsenja usluge. (To je vec definisano u tabeli "Rokovi" u polju "RokUMjesecima")
[ nenadmarkoni @ 07.04.2015. 12:14 ] @
:-) Sve smo pobrkali. Ocigledno se nismo razumjeli. Ja sam shvatio da koordinirate nekim ustanovama koje su vasi saradnici u izvrsavanju tih pregleda, i da pojedini od njih imaju svoje poslovnice. Onda se mora bolje objasniti i drugacije postaviti.
Naravno. Taj rok ce se automatski izracunati na osnovu datuma izvrsenja i bice uvecan za definisani period za tu vrstu djelatnosti.
Znate li kad je Crnogorac postao lijen? Kad mu je Bosanac rekao:"Sjedi da ti objasnim". He,he...sala
[ fahre72 @ 07.04.2015. 14:46 ] @
Salu prvi put cujem i dobra je

Ako ima jos kakvih nedoumica tu sam. Trebam jos ubaciti negdje da li je usluga ugovorena ili je po zahtjevu. Ako je potpisan ugovor (uvijek sa pravnim licem), onda se iz ugovora unose u sistem sve usluge sa tim pravnim licem.
[ Dexxxl @ 07.04.2015. 18:12 ] @
Moje sugestije i primedbe:

Ja bih za jednu realizaciju uveo jednu uslugu. Ta usluga se moze izvrsiti nad vise objekata koji pripadaju tom klijentu.
Objekti usluge mogu biti (u zavisnosti od usluge) prostorije ili lica.
Da li jedan klijent moze da ima vise prostorija?
Koje podatke je potrebno voditi o prostorijama (kvadratura,…)?

Umesto uvodjenja tabele Zakazivanja u tabelu Realizacije ubacio bih polje PlaniraniDatum (ili polja PlaniraniPocetak i PlaniraniZavrsetak ako intervencija moze da potraje nekoliko dana). Nakon izvrsene realizacije ubacivali bi se podaci o stvarnom datumu realizacije i licima (prostorijama) nad kojima je usliga izvrsena.

Neko moje vidjenje funkcionisanja procesa:
Sloziti Query koji ce na osnovu zadnje izvrsene usluge nad nekim objektom sracunavati kad je sledeci rok za tu uslugu. Rukovodilac poziva taj Query i vidi nad kojim objektima rok istice u narednih 10, 15 ili koliko vec dana. Telefonira klijentu i dogovara datum realizacije. Ugovoreni datum unosi kao planirani u tabelu Realizacije. Odredjuje ljudstvo koje ce uslugu izvrsiti.
[ nenadmarkoni @ 07.04.2015. 20:29 ] @
Citat:
Dexxxl: Ta usluga se moze izvrsiti nad vise objekata koji pripadaju tom klijentu.
Objekti usluge mogu biti (u zavisnosti od usluge) prostorije ili lica.
Da li jedan klijent moze da ima vise prostorija?
Koje podatke je potrebno voditi o prostorijama (kvadratura,…)?

Slažem se sa ovim konstatacijama, i ako treba i ovo pratiti dodaćemo.
Citat:
Dexxxl:
Umesto uvodjenja tabele Zakazivanja u tabelu Realizacije ubacio bih polje PlaniraniDatum (ili polja PlaniraniPocetak i PlaniraniZavrsetak ako intervencija moze da potraje nekoliko dana). Nakon izvrsene realizacije ubacivali bi se podaci o stvarnom datumu realizacije i licima (prostorijama) nad kojima je usliga izvrsena.

Umjesto ovoga uveo sam entitet TipRealizacije ( po ugovoru, na zahtjev) i ovde možemo dodati još jedan tip -Planirana realizacija gdje bi upisali i planirali buduću realizaciju. Dio se može popunjavati AppendQuery-jem na osnovu izračunatih datuma.
Da li sada odgovara realnom sistemu?
[ Dexxxl @ 07.04.2015. 22:59 ] @
Evo i ja sam se malo poigrao
U queriju Naredni vidimo kad je naredni rok za ugovorenu uslugu.
Kod querija Naredni2 isto to, samo sto se u input box unese za koliko narednih dana (od danasnjeg datuma)
[ fahre72 @ 08.04.2015. 08:19 ] @
Citat:
Dexxxl:
Moje sugestije i primedbe:

Ja bih za jednu realizaciju uveo jednu uslugu. Ta usluga se moze izvrsiti nad vise objekata koji pripadaju tom klijentu.
Objekti usluge mogu biti (u zavisnosti od usluge) prostorije ili lica.
Da li jedan klijent moze da ima vise prostorija?
Koje podatke je potrebno voditi o prostorijama (kvadratura,…)?


Moze da ima vise prostorija ali to nije bitno. Bitno je da li ima vise lokacija. Ako ima, u tom slucaju mu definisemo razlicite lokacije kao poslovnice.

U slucaju usluga: dezinfekcija, dezinsekcija i deratizacija odluceno je da se vode kvadratura i upotrijebljena sredstva. Uzeo sam od racunovodstva sredstva koja radnici upotrebljavaju na terenu u excelu u sljedecem obliku:
IDSREDSTVO NAZIVSREDSTVO JMID JMNAZIV JMKRATICA

SREDSTVO ce biti jedna tabela, JEDINICAMJERE druga tabela

i jos samo ubaciti u model.



Citat:
Dexxxl:
Neko moje vidjenje funkcionisanja procesa:
Sloziti Query koji ce na osnovu zadnje izvrsene usluge nad nekim objektom sracunavati kad je sledeci rok za tu uslugu. Rukovodilac poziva taj Query i vidi nad kojim objektima rok istice u narednih 10, 15 ili koliko vec dana. Telefonira klijentu i dogovara datum realizacije. Ugovoreni datum unosi kao planirani u tabelu Realizacije. Odredjuje ljudstvo koje ce uslugu izvrsiti.


Bas tako.
[ fahre72 @ 08.04.2015. 08:33 ] @
Citat:
Da li sada odgovara realnom sistemu?


Vidio sam da nema fizickih lica. Njih ne treba ukidati. Oni kao klijenti postoje. Npr. dodje osoba i hoce da mu se izvrsi dezinfekcija ili dezinsekcija stana ili kuce. Mogli bi u tabeli Klijent dodati tipKlijenta kao sto je bilo u proslom modelu, a zadrzati jednu tabelu.

Za zaposlenike koji rade kod klijenata potrebno je da se za njih vode još i informacija o broju mobitela i email, jer postoji namjera da se upozorenja o isteku sanitarnog pregleda i sanitarnog minimuma salju direktno njima putem mail-a ili sms-a. (Za pocetak mail-om, a za sms cemo vidjeti)

Kod klijenta je vec predvidjeno da se vode te informacije pa je to OK.


U tabeli Realizacija ima polje "ID". Sta nam ono predstavlja jer vec imamo polje "RealizacijaID".
[ Dexxxl @ 08.04.2015. 08:44 ] @
Izvinjavam se, imam problem, ne dozvoljava mi upload primera, cim mi dozvoli kacim
[ nenadmarkoni @ 08.04.2015. 09:51 ] @
:-) Opet srljamo, ali dobro to tako i ide...
Pri modelovanju baze preslikava se realni sistem u informacioni. Sto se vjernije preslika taj sistem to ce ga baza i aplikacija bolje pratiti. Neki pojam iz realnig sistema moze biti i atribut ili entitet sve zavisi od interesa onoga ko posmatra sistem.
Sto se tice RealizacijaID, opet je u pitanju govoreci kljuc. Meni se dopada pa ga i forsiram, a i Vama ce.
Formira se kombinovanjem atributa Godina i atributa ID. Atribut Godina prati i ocitava tekucu godinu(najvecu vrijednost) koju cita iz sistemskog datuma, a ID je redni brojac koji se uvecava sve dok je ista godina. Kada se promjeni godina ID krece od pocetka:
Godina=2015,ID=1,RealizacijaID=201500001...
Godina=2015,ID=230,RealizacijaID=201500230...
Godina=2016,ID=1,RealizacijaID=201600001...
[ fahre72 @ 08.04.2015. 14:40 ] @
Da li pomaze nesto ako kazem da se usluge Sanitarni pregled i Sanitarni minimum uvijek obavljaju na zaposlenicima klijenata, a ostale usluge nad prostorima, hranom ili vodom
[ nenadmarkoni @ 08.04.2015. 14:52 ] @
Nista nije nebitno. Sve cega se sjetite treba uzeti u obzir. Postoje li neki dokumenti koji se javljaju u sistemu: nalog, racun, otpremnica...
[ nenadmarkoni @ 08.04.2015. 19:07 ] @
Nadam se sad da smo uvrstili sve zahtjeve.
Možda dodati još i StatusRealizacije?

[Ovu poruku je menjao nenadmarkoni dana 09.04.2015. u 10:23 GMT+1]
[ fahre72 @ 09.04.2015. 14:26 ] @
pokusavam pronaci bpwin i erwin na netu, ima li kakav link za download.
[ nenadmarkoni @ 09.04.2015. 14:39 ] @
objasnjenje u privatnoj poruci