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

Pracenje promene statusa nekog objekta (Baza za vođenje arhive)

[es] :: Access :: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)

Strane: 1 2 3

[ Pregleda: 11996 | Odgovora: 53 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salvatore.

Član broj: 55550
Poruke: 66
*.adsl-a-5.sezampro.rs.

ICQ: 36635734
Sajt: www.zlatnosidro.rs/kerami..


+5 Profil

icon Pracenje promene statusa nekog objekta (Baza za vođenje arhive)03.02.2014. u 23:12 - pre 124 meseci
Iako sam totalni početnik sa Access-om odlučio sam da pravim bazu pomoću koje ću voditi evidenciju registratora u arhivi. Zadatak mi je prost imam police na kojima može biti 4 registratora, registrator može biti zadužen, može biti i oštećen ili u rezervi. Potrebno je da vodim i evidenciju o izmenama. Uz velike muke sam uspeo da napravim bazu sa tabelama i relacijama:


U trenutku kada izdajem registrator na njegovo mesto na polici treba da postavim neki iz rezerve (rezerva su oni za koje nema mesta na policama).




Moje pitanje je kako da napravim da neki registrator (br_registratora) može biti prisutan samo u jednoj od tabela (oštećeno, rezerva, police ili izdatiregistratori)?


[Ovu poruku je menjao salvatore. dana 04.02.2014. u 00:31 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

nenadmarkoni
zaposlen
Pljevlja,Crna Gora

Član broj: 268419
Poruke: 705
*.opera-mini.net.



+3 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 10:00 - pre 124 meseci
Sta se desava kada se registrator vrati? Da li opet zauzima svoj stari polozaj, a onaj koji je bio na njegovom mjestu opet u rezervu. Kako se bira registrator iz rezerve koji ce zamjeniti izdati registrator? Ili uzmete bilo koji,samo da polica nije prazna? Po cemu odredjujete prioritet koji ce biti na polici a koji u rezervi? Imaju li registratori u rezervi neki redosled(Polozaj)? Moze li bilo koji korisnik da preuzme bilo koji registrator. Kako Vas korisnik izvjestava sta je u registratoru izmjenio? Kako kontrolisete izmjene. Kako znate sta je prethodno bilo u registratoru, da li se negdje biljezi sadrzaj registratora.... Na sva ova pitanja i jos vjerovatno mnoga treba odgovoriti prije modeliranja baze!
Sve sam fino smislio...
Još samo da propadne. :-)
 
Odgovor na temu

salvatore.

Član broj: 55550
Poruke: 66
*.adsl-1.sezampro.rs.

ICQ: 36635734
Sajt: www.zlatnosidro.rs/kerami..


+5 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 11:08 - pre 124 meseci
Citat:
nenadmarkoni: Sta se desava kada se registrator vrati? Da li opet zauzima svoj stari polozaj, a onaj koji je bio na njegovom mjestu opet u rezervu. Kako se bira registrator iz rezerve koji ce zamjeniti izdati registrator? Ili uzmete bilo koji,samo da polica nije prazna? Po cemu odredjujete prioritet koji ce biti na polici a koji u rezervi? Imaju li registratori u rezervi neki redosled(Polozaj)? Moze li bilo koji korisnik da preuzme bilo koji registrator. Kako Vas korisnik izvjestava sta je u registratoru izmjenio? Kako kontrolisete izmjene. Kako znate sta je prethodno bilo u registratoru, da li se negdje biljezi sadrzaj registratora.... Na sva ova pitanja i jos vjerovatno mnoga treba odgovoriti prije modeliranja baze!


Komplikacija je sa prostorom, nema mesta na policama, nema ni nekog reda kako se popunjavaju (uzima se bilo koji da polica ne bude prazna). Nema ni prioriteta koji je na polici a koji u rezervi, ja znam gde ostavljam one koji se više koriste a za koje nema mesta na polici pa njih "guram preko reda" da mi budu bliži. U rezervi nemaju raspored. Bilo koji korisnik može da uzme bilo koji registrator. Izmene se sa moje strane gledano sastoje samo u broju strana.

Ja sam u onom prikačenom fajlu to previše iskomplikovao (deluje mi da sam terbao da se pomučim još koji dan pre nego pitam za pomoć). U principu je puno jednostavnije samo se prati gde su registratori. Nisu mi ni izmene toliko bitne. Sad se zasmejem kad pogledam šta sam sinoć zakuvao sa tabebelama i relacijama, ona baza koju sam okačio ne radi ništa kako sam ja hteo.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 11:18 - pre 124 meseci
Šta ako se doda još neka polica (sa više od 4 mesta za registratore)?
Kako se postavlja upit da li je registrator sa ID=x na polici?
Kako se postavlja pitanje gde je registrator ID=y?

Osnovna greška je da mesto registratora treba da bude deo sloga koji opisuje registrator ili da bude u vezi sa registratorom. U tom slučaju, jednostavno je odgovoriti gde se registrator trenutno nalazi, a ne da se razdvaja na više tabela.

Tabela polica je potpuno nepotrebna. Ovakve greške u modelovanju često vidim kod onih koji imaju nedovoljno iskustvo u modelovanju, a vuku neke loše navike iz OOP koncepata. Ovde je objekat polica potpuno nepotreban. Onaj ko ima iskustva sa OOP ne bi napravio objekat, a da prvo ne postavi pitanje: Šta objekat treba da radi (princip OOP: Objekti moraju biti aktivni).
 
Odgovor na temu

nenadmarkoni
zaposlen
Pljevlja,Crna Gora

Član broj: 268419
Poruke: 705
*.opera-mini.net.



+3 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 11:34 - pre 124 meseci
Neka cudna arhiva!? Koliko ja shvatam poslovanje arhive, radnik u arhivi bi trebao u svakom trenutku da zna sadrzaj arhive, tj. u kojem registratoru se nalazi koji dokument. Trebalo bi da je njegova ,cak krivicna,odgovornost za dokumente koji se u tim registratorima nalaze.
Znaci ja kao korisnik uzmem od Vas registrator sa 20 strana vaznih dokumenata, izdvojim 5 strana i zapalim ih, a na njihovo mjesto stavim neke druge(nevazne) i to 7 strana i vratim arhivi. Vi evidentirate da sam ih ja uzimao i da sada ima u registratoru 22 strane. Posle mene taj registrator uzme Laza, pa Mika , pa Zika i tako prodje pola godine. Onda Vama dodje kontrola i ustanovi da vaznih dokumenata nema. I Vi idete u zatvor.... The End! :-)

Sve sam fino smislio...
Još samo da propadne. :-)
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 14:04 - pre 124 meseci
Citat:
Moje pitanje je kako da napravim da neki registrator (br_registratora) može biti prisutan samo u jednoj od tabela (oštećeno, rezerva, police ili izdatiregistratori)?

Pitanje je odlicno, znaci da psotavljac teme zna svoj posao i zna tacno sta mu treba, ali nedostaje znanje iz oblasti modeliranja podataka. To je OK, niko se naucen nije rodio. Ispostavlja se da je odgovor na ovo pitanje mnogo tezi nego sto se obicno misli. Ovde se radi o pokusaju pracenju promena statusa nekog objekta (registratora, u konkretnom slucaju).

Ocigledno je da registrator prolazi kroz statuse (oštećeno, rezerva, police ili izdatiregistratori). Moze se desiti da se pojave i novi statusi, na primer 'unisten' ili 'otpisan'.

Prvi pokusaj resavanja ovog problema je obicno naivan (ali ga cine i profesionalci, redovno) i svodi se na resenje koje je Salvatore zamislio - po jedna tabela za svaki status koga smmo se setili na pocetku. Vecina profesionalaca bi uradilia isto to, i vecina profesionalaca ne bi primetila da u takvoj shemi nema nacina da sprecite da isti objekat bude u isto vreme na vise mesta. Salvatore je to odlicno primetio problem sa ponudjenim resenjem i to mora da se postuje. Zbog toga shema ne valja i nema potrebe da to ponavljamo. Shemu je nemoguce popraviti, mora da se baci i napravi nova, tako da mogu da se prate statusi. Slicnu temu imali smo pre godinu-dve, pracenje osnovnih sredstava - ko duzi koji kamion, i kasnije ensto o elektricnim brojilima i plombama. U prvoj temi, o snovna sredstva, dao sam veoma komplikovano objasnjenje kako se radi pracenje prmena stanja. Za brojila je ponudjeno jednostavnije resenje, ali se ne secam da li je bilo prihvaceno ili je nesto drugo uradjeno. Ne savetujem da se ide nazad na te teme i da se pokusa razumeti sta se to tamo desava, isuvise je zakomplikovano. U medjuvremenu sam se bavio tim problemom i naucio da se mnogo jednostavnije (ali jos uvek slozeno) moze resiti problem. U pocetku sam postavljao veliki broj constraints (ogranicenja, validation rules) da bih vremenom shvatio da nisu sva ogranicenja potrebna.

To manje slozeno resenje, sa mnjim brojem ogranicenja hteo bih da predstavim ovom prilikom. Ako smo zainteresovani, mozemo da pocnemo?

 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 14:15 - pre 124 meseci
Ažurirao sam naslov teme.
 
Odgovor na temu

nenadmarkoni
zaposlen
Pljevlja,Crna Gora

Član broj: 268419
Poruke: 705
*.opera-mini.net.



+3 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 14:23 - pre 124 meseci
Pratimo! :-)
Sve sam fino smislio...
Još samo da propadne. :-)
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 15:33 - pre 124 meseci
OK, da pocnemo onda. Prvo cemo navesti pravila:

Prati se promena stanja registratora. Sta je promena stanja? Pa, moze se reci da je u nekom trenutku t1 objekat us tanju S1 i da u trenutku t2 objekat prelazi u stanje t2. To je promena - u nekom trenutko objekat posmatranja prelazi iz jednog stanja u neko drugo stanje. U slucaju nasih registratora, to bi se moglo opisati ovako nekako:

Registrator BrojRegistratora = '12-007/36' u trenutku '12 Januar 2014 11:45AM' je presao iz prethodnog stanja 'na polici' u stanje 'izdato'.
Registrator BrojRegistratora = '12-007/36' u trenutku '16 Januar 2014 13:45AM' je presao iz stanja 'izdato' u stanje 'na polici'.
Registrator BrojRegistratora = '12-007/36' u trenutku '26 Januar 2014 13:45AM' je presao iz stanja 'na polici' u stanje 'arhivirano'.
Registrator BrojRegistratora = '12-007/36' u trenutku '02 Februar2014 13:45AM' je presao iz stanja 'arhivirano' u stanje 'na polici'.
Registrator BrojRegistratora = '12-007/36' u trenutku '03 Februar2014 11:45AM' je presao iz stanja 'na polici' u stanje 'izdato'.

Recenice koje smo navelu su logicki iskazi, tacni - izjave o promenama stanja registratora kroz vreme. Iskazi se mogu generalizovati u logicki predikat, tako sto se umesto konkretnih vrednosti navedu parametri:
Code:

P = Registrator [BrojRegistratora] u trenutku [TrenutakPrelaza] prelazi iz stanja [PrethodnoStanje] u novo stanje [NovoStanje].


Ova recenica se zove predikat relacije koja ce da prati promene stanja registratora. Relacije se predstavljaju tabelama cije zaglavlje je odredjeno predikatom relacije, a telo cine tacni iskazi izvedeni iz predikata. U nasem slucaju bilo bi to ovako:


Code:

Predikat:
---------
P = Registrator [BrojRegistratora] u trenutku [TrenutakPrelaza] prelazi iz stanja [PrethodnoStanje] u novo stanje [NovoStanje].

Zaglavlje koja predstavlja relaciju - skup parametara predikata: {[BrojRegistratora],[TrenutakPrelaza], [PrethodnoStanje],[NovoStanje]

Ovo su izkaxi koji odgovaraju postavljenom predikatu:
Registrator BrojRegistratora = '12-007/36' u trenutku '12 Januar 2014 11:45AM'  je presao iz prethodnog stanja 'na polici' u stanje 'izdato'.
Registrator BrojRegistratora = '12-007/36' u trenutku '16 Januar 2014 13:45AM'  je presao iz stanja 'izdato' u stanje 'na polici'.
Registrator BrojRegistratora = '12-007/36' u trenutku '26 Januar 2014 13:45AM'  je presao iz stanja 'na polici' u stanje 'arhivirano'.
Registrator BrojRegistratora = '12-007/36' u trenutku '02 Februar2014 13:45AM'  je presao iz stanja 'arhivirano' u stanje 'na polici'.
Registrator BrojRegistratora = '12-007/36' u trenutku '03 Februar2014 11:45AM'  je presao iz stanja 'na polici' u stanje 'izdato'.

Tabela koja predstavlja relacije za nas predikat, izgleda ovako:

[BrojRegistratora]     [TrenutakPrelaza]            [PrethodnoStanje] [NovoStanje]
-------------------------------------------------------------------------------
'12-007/36'             '12 Januar 2014 11:45AM'   'na polici'          'izdato'
'12-007/36'             '16 Januar 2014 13:45AM'   'izdato'          'na polici'
'12-007/36'             '26 Januar 2014 13:45AM'   'na polici'          'arhivirano'
'12-007/36'             '02 Februar2014 13:45AM'   'arhivirano'      'na polici'
'12-007/36'             '03 Februar2014 11:45AM'   'na polici'          'izdato'


Dobro pogledajte ovu tabelu. Jedna tabela, a pokriva sva stanja, i cuva trenutke promene stanja. I vsaki objekat je u nekom trenutku u tacno jednom stanju. Tabela je ista, bez obzira o kakvom se objektu radi - registrator, knjiga, rent-a-car auto, zaduzena oprema i slicno. Ovo je samo kako bi tabela mogla da izgleda. DA bi kompletirali dizajn, moramo da postavimo i neka ogranicenja. Na primer, sta bi bio Primary key? Koji su candidate keys? Odakle dolaze vrednosti [BrojRegistratora]? Odakle dolaze vrednosti za stanja? Vrednosti za TrenutakPrelaza su rastuce - svako novo stanje ima veci datum TrenutakPrelaza od prethodnog. Razmislite o ovim stvarima. Vidite li jos neka ogranicenja koja bi trebalo postaviti?

Napravit prvu verziju tabele, prema datoj slici. Nemojte da dodajete autonumber. Postavite UNIQUE indexe za svaki candidate key koji mozete da smislite. Unseite nesto podataka, za nekoliko registratora. Za vezbu, napravite kvarije kojo daju odgovor na pitanja:
1) Za zadati objekat i zadati datum, prikazati stanje objekta na taj datum
2) Prkazati polednje (tekuce, trenutno stanje) svih objekata
3) Koji su objekti u stanju 'na polici' u ovom trenutku?
4) koji su objekti u stanju 'izdat' u ovom trenutku?
5) Koji su objekti bili u stanju 'izdato' na pocetku meseca?
6) koliko puta je zadati objekat bio u stanju 'izdato'
7) koliko vremena prodje od momenta izdavanja objekta do vracanja?

Sutra cemo da nastavimo. Ovo je samo kostur tabele, dodacmo jos kolona, da bismo obezbedili postovanje ogranicenja. Dodacemi i neke korisne kolone - ako je objekat izadt, kome je izdat? Ako je objekat na polici, na kojoj je polici (ukoliko moze biti na raznim policama)? Za sve ovo trebaju nam dodatne kolone i dodatna ogranicenja. Polako, igrajte se malo postavljenom tabelom i pokusajte da napravite kverije. Sutra cemo da nastavimo, ili z akoji dan ako sutra nismo spremni. Ovo sto smo ispricali zahteva vise od jednog popodneva da se dobro razume, a kveriji zahtevaju jos vise vremena...

:-)

 
Odgovor na temu

nenadmarkoni
zaposlen
Pljevlja,Crna Gora

Član broj: 268419
Poruke: 705
*.crnagora.net.



+3 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 17:10 - pre 124 meseci
Validaciju ne umijem baš napisati ali evo šta ja primjećujem:
PrimaryKey definitivno mora biti [BrojRegistratora]+[TrenutakPrelaza]
[TrenutakPrelaza]<=Now() - TrenutakPrelaza ne moze biti veći od trenutnog datuma i vremena
[TrenutakPrelaza]>Last[TrenutakPrelaza] - TrenutakPrelaza mora biti veći od zadnjeg TrenutkaPrelaza
[PrethodnoStanje]=Last[NovoStanje] Or Last[NovoStanje] IsNull - PrethodnoStanje mora biti jednako NovoStanje iz prethodnog unosa ako ono postoji
[NovoStanje]<>[PrethodnoStanje] NovoStanje mora biti različito od PrethodnogStanja

Ovi izrazi koje sam napisao vjerovatno nisu ispravni... :-)
Sve sam fino smislio...
Još samo da propadne. :-)
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 19:08 - pre 124 meseci
Zahvaljujem na aktivnosti
Citat:

Validaciju ne umijem baš napisati ali evo šta ja primjećujem:

1) PrimaryKey definitivno mora biti [BrojRegistratora]+[TrenutakPrelaza]

2) [TrenutakPrelaza]<=Now() - TrenutakPrelaza ne moze biti veći od trenutnog datuma i vremena

3) [TrenutakPrelaza]>Last[TrenutakPrelaza] - TrenutakPrelaza mora biti veći od zadnjeg TrenutkaPrelaza

4) [PrethodnoStanje]=Last[NovoStanje] Or Last[NovoStanje] IsNull - PrethodnoStanje mora biti jednako NovoStanje iz prethodnog unosa ako ono postoji

5) [NovoStanje]<>[PrethodnoStanje] NovoStanje mora biti različito od PrethodnogStanja

Ovi izrazi koje sam napisao vjerovatno nisu ispravni...


Navedeni izrazi su napisani najbolje sto se moze. Ne trazi se da se napise sintaksno ispravni izraz, trazi se logika, a logika je uglavnom tacna. Da ih malo komentarisemo:

Uslov 1) - tacno, kombinacija ( [BrojRegistratora], [TrenutakPrelaza]) treba da jedinstveno odredjuje red

Uslov 2) i ne mora da se postavi, jer mozemo odluciti da u nekoj buducnosti napravimo prelaz iz stanja u stanje ( Password iz stanja 'aktivan' prelazi u stanje 'istekao' na neki dan u buducnosti).

Uslov 3) Proizilazi iz uslova 1

Uslov 4) proizilazi iz uslova 1, a NULL bi vazilo za pocetno stanje (Iza stanja NEPOZNATO presli smo u neko pocetno stanle) Nepoznato = NULL, to je to

Uslov 5) zavisi od toga kako definisemo dozvoljena stanja. Ako je trenutno stanje "Radovi u toku" zasto ne bi bilo i buduce stanje "Radovi u toku", samo sa razlicitim datumom, i moza komentarem?

Mozete da napravite jos dve tabele:

Stanja, sa vrednostinma: {'oštećeno','rezerva', 'na polici', 'izdati registratori'}
i i DozvoljenePromeneSTanja
Code:

IzStanja                UStanje
-------------------------------------
NULL,            'na polici'
'na polici',            'izdati registratori'
'izdati registratori',    'oštećeno'
'izdati registratori',    'na polici'
---------------------------------------

Ogranicenja:
PRIMARY KEY (IzStanja,    UStanje)
FK1 FOREIGN IzSTanja REFERENCES Stanja (Stanje)
FK1 FOREIGN USTanja REFERENCES Stanja (Stanje)

Prelazi stanja znace:
NULL -> 'na polici' znaci 'Novi registrator je stavljen na policu. Prethodno stanje - nopznat = NULL'
'na polici' -> 'izdati registratori' znaci 'sa police registrator je presao u stanje 'izdati registrator''
'izdati registratori' -> 'oštećeno' 'znaci registrator koji smo izdali vracen je ostecen i nije na polici (dobro bi doslo i stanje 'izgubljen' i/ili 'unisten''
'izdati registratori' -> 'na polici' znaci 'ono sto smo izdali varceno je na policu'

Ovde je problem sto PK nece da prihvati NULL vredost za pocetno stanje..... E tu pocinje resavanje problema. Za sada, napravite tabele STanja i DozvoljenePromeneStanja. TAbele popunite kako mislite da treba - stanja koja mislite da ce trebati i koji su prelazi dozvoljeni. Dozvoljeni prelazi su dobar kandidat za kontrolu kolona 'PrethodnoStanje','NovoStanje' u tabeli koju smo definisali ugrubo na pocetku....

Dosta je za danas, sutra cemo dalje.









 
Odgovor na temu

nenadmarkoni
zaposlen
Pljevlja,Crna Gora

Član broj: 268419
Poruke: 705
*.crnagora.net.



+3 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 20:55 - pre 124 meseci
Evo ja sam malo majstorisao, mada ne znam da li je to dobro... nemam više vremena za večeras a sjutra sam zauzet. Pratiću vas sa telefona...
Sve sam fino smislio...
Još samo da propadne. :-)
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 21:24 - pre 124 meseci
Odlicno, hvala Nenadu jos jednom. ne mogu da te stignem

Format baze je MDB, odlicno, i svi ostali primeri bice MDB.

Tabele su dobro postavljene, kao i relacije. Dobri test podaci. Ne dirati nista vise do daljnjeg.

Kveriji su OK, mada mi se ne svidaj upotreba operatora LAST. Deluje da radi, iako ne znamo sta u stvari znaci LAST - poslednji uneti podatak? poslednji u redosledu PK? U ovom slucaju verovatno nema veze, jer je redosled po PK isti kao i redosled unosenja, ali generalno LAST ne treba previse upotrebljavati. Ovo sto vazi u Accesu vazi i za ostale RDBMS - MS SQL, ORACLE, a tamo nema lSAT/FIRST, ima samo MAX i MIN.

Sutra cemo da nastavimo.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 23:00 - pre 124 meseci
Kao prvo, Zidar svaka čast!

Citat:
Zidar:
Citat:

Validaciju ne umijem baš napisati ali evo šta ja primjećujem:

1) PrimaryKey definitivno mora biti [BrojRegistratora]+[TrenutakPrelaza]

3) [TrenutakPrelaza]>Last[TrenutakPrelaza] - TrenutakPrelaza mora biti veći od zadnjeg TrenutkaPrelaza



Uslov 3) Proizilazi iz uslova 1



Moram ovdje primijetiti da uslov 3) baš i ne proizlazi iz uslova 1) (ili sam ja krivo shvatio šta si mislio reći =) )
Jer, uzmimo ovaj primjer:

Code:
Broj_registratora Vrijeme_izmjene
1                        15.01.2013 11:11
1                        20.01.2013 12:12


Nekome padne na pamet ubaciti unutra podatak [1, 17.01.2013 11:14]
Dakle, primarni ključ jest dobro definiran ali ipak mislim da bi trebalo postaviti validaciju da novo Vrijeme_izmjene ne može biti manje od MAX[Vrijeme_izmjene]
F
 
Odgovor na temu

salvatore.

Član broj: 55550
Poruke: 66
*.adsl-1.sezampro.rs.

ICQ: 36635734
Sajt: www.zlatnosidro.rs/kerami..


+5 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)04.02.2014. u 23:50 - pre 124 meseci
Auuu, ne mogu da verujem... Hvala svim učesnicima u diskusiji a posebno Zidaru!
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)05.02.2014. u 06:37 - pre 124 meseci
Query-je bi trebalo imenovati:
1 PromenePoRegistratoru
2 PoslednjaStanjaZaSve
3 TrenutnoNaPolici
4 TrenutnoIzdati
Funkcija LAST u kombinaciji sa GroupBy nad BrojRegistratora radi odlično. Ona koristi redosled unetih zapisa. MIN/MAX može nad kolonom TrenutakPrelaza.
 
Odgovor na temu

Dexxxl
Dejan Stojanovic
Blagi uzas
Knjazevac

Član broj: 252836
Poruke: 212
109-92-127-212.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)05.02.2014. u 08:24 - pre 124 meseci
U redu je ova logika sa sa dozvoljenim promenama stanja, ali bi trebalo (bar na pocetku) dozvoliti prelaz iz null u bilo koje stanje, jer cemo u pocetku, kad baza zazivi imati registratore koji se trenutno nalaze u raznim stanjima (izdat, na polici...) po unosenju stanja svih registratora mogu se vratiti ogranicenja koja je Zidar dao.
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)05.02.2014. u 14:14 - pre 124 meseci
Hvala svima na interesovanju i zapazanjima Nismo gotovi sa postavljanjem ogranicenja, niti smo poakzali kako ce sve da radi. tabela koju smo dali jeste ono sto bi korisnik verovatno hteo i trebao da vidi. Bice jos kolona, koje sluze da se garantuju uslovi ogranicenja, a koje korisnik ne mora da zna uopste.

Citat:

Moram ovdje primijetiti da uslov 3) baš i ne proizlazi iz uslova 1) (ili sam ja krivo shvatio šta si mislio reći =) )
OK, nisam bio dovoljno precizan. Zanemarite za trenutak ovu tvrdnju, nije ni bitno sta odakle proizilazi. Ovo sto sledi je bitnije:

Citat:

Nekome padne na pamet ubaciti unutra podatak [1, 17.01.2013 11:14]
Dakle, primarni ključ jest dobro definiran ali ipak mislim da bi trebalo postaviti validaciju da novo Vrijeme_izmjene ne može biti manje od MAX[Vrijeme_izmjene]
Odlicno zapazanje, pokazacemo kako se sprecava da se naknadno ubaci nova promena izmedju dve postojece.

Jos jedno ispravno zapazanje, zahtev ako hocete:
Citat:
U redu je ova logika sa sa dozvoljenim promenama stanja, ali bi trebalo (bar na pocetku) dozvoliti prelaz iz null u bilo koje stanje, jer cemo u pocetku, kad baza zazivi imati registratore koji se trenutno nalaze u raznim stanjima (izdat, na polici...) po unosenju stanja svih registratora mogu se vratiti ogranicenja koja je Zidar dao.
Naravno da cemo moci uneti pocetna stanja, i bez NULL vrednosti, a postojeca ogranicenja za prelaz is ztanja u stanje mozemo modifikovati bez promene strukture tabela i promene conatraints.

Dajte mi samo malo vremena, tek sam dosao na posao...
 
Odgovor na temu

salvatore.

Član broj: 55550
Poruke: 66
*.adsl-1.sezampro.rs.

ICQ: 36635734
Sajt: www.zlatnosidro.rs/kerami..


+5 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)05.02.2014. u 16:13 - pre 124 meseci
Citat:
nenadmarkoni:
Neka cudna arhiva!? Koliko ja shvatam poslovanje arhive, radnik u arhivi bi trebao u svakom trenutku da zna sadrzaj arhive, tj. u kojem registratoru se nalazi koji dokument. Trebalo bi da je njegova ,cak krivicna,odgovornost za dokumente koji se u tim registratorima nalaze.
Znaci ja kao korisnik uzmem od Vas registrator sa 20 strana vaznih dokumenata, izdvojim 5 strana i zapalim ih, a na njihovo mjesto stavim neke druge(nevazne) i to 7 strana i vratim arhivi. Vi evidentirate da sam ih ja uzimao i da sada ima u registratoru 22 strane. Posle mene taj registrator uzme Laza, pa Mika , pa Zika i tako prodje pola godine. Onda Vama dodje kontrola i ustanovi da vaznih dokumenata nema. I Vi idete u zatvor.... The End! :-)



U svoj gužvi, trudeći de da shvatim sve napisano i ostanem u toku zaboravio sam da odgovorim na nenadmarkoni-jeva pitanja.

Pretpostavljam da postoje razne arhive, ova moja služi da skladišti registratore u kojima su tabele sa podacima merenja.

Ono što sam ja hteo da pratim je:

- Gde je registrator (može biti: na polici, zadužen , u rezervi ili oštećen). Ako je na polici zanima me broj police i broj mesta na polici. Mesta na polici nisu rezervisana i nikad nisu prazna. Kada jedan registrator ode sa police (na zaduženje, ili se ošteti) na njegovo mesto stavljam neki iz rezerve (bilo koji). Rezerva je ustvari rezervno mesto (pod druge prostorije) gde se nalazi samo nekoliko registratora za koje nema mesta na policama. Pošto su registratori malo kvalitetniji, kada se desi da se neki ošteti ne bacam ih već ih odlažem (takođe pod druge prostorije) za slučaj da može da se uklopi sa nekim drugim oštećenim (negde se ošteti mehanizam negde kutija negde se iskidaju "gaće" za kartice).
- Koliko kartica registrator ima u sebi (broj kartica se može menjati kod svake promene lokacije)

Hteo sam da vodim i evidenciju, kad je registrator menjao lokaciju, gde je bio, zašto, i koliko je stranica imao u tom trenutku.

Sve mi je to delovalo jednostavno, pa sam se latio Access-a. Krenuo sam sa dve tabele. Zatim sam obrisao obe pa napravio tri nove i tako je moja baza rasla do trenutka kada sam postavio pitanje.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)05.02.2014. u 16:27 - pre 124 meseci
Mislim da je bitno definirati šta podrazumijevaš pod tim gdje je bio i zašto. Jesu to opisna polja ili su to možda osobe, uredi, sektori?

Citat:

Hteo sam da vodim i evidenciju, kad je registrator menjao lokaciju, gde je bio, zašto, i koliko je stranica imao u tom trenutku.

F
 
Odgovor na temu

[es] :: Access :: Pracenje promene statusa nekog objekta (Baza za vođenje arhive)

Strane: 1 2 3

[ Pregleda: 11996 | Odgovora: 53 ] > FB > Twit

Postavi temu Odgovori

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