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

Brisanje podataka ( nepotrebnih) iz tabele ??!!!

[es] :: Access :: Brisanje podataka ( nepotrebnih) iz tabele ??!!!

[ Pregleda: 1422 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 12:17 - pre 16 meseci
Poštovani
Potrebna mi je pomoć za rad u MS Access-u .
Napravio sam bazu podataka koja evidentira troškove domačinstva.
Podatke unosim prema datumu nastanka troška.
Tabela ima kolone : datum, ko je napravio trošak ( supruga ili ja ) vrsta troška ( sta je kupljeno?) , iznos troška , da li ima račun , etc..
U ovu tabelu podatke unosim kroz odgovarajuću formu .
Napravio sam i odgovarajuci query koji mi izmedju ostalog iz te tabele pokazuje koliko novaca je ukupno potrošeno u toku svakog mjeseca ( prema datumu ) etc...
Pošto svaki mjesec ima dosta unosa , tabela postaje sve "teža" i sadrži u stvari nepotrebne podatke iz ranijih perioda .

Želim da imam mogucnost obrisati nepotrebne unose ( iz ranijiih mjeseci ), ali da mi u Query-ju (volsebno) ostane podatak o ukupnoj potrošnji po mjesecima.
( ne mogu ni sam da logicki razumijem to sto mi je potrebno : " da obrišem , ali da ostane ", medjutim pretpostavljam da postoji neka "vratolomija " ili prelazna faza ,
pomoću koje se to moze izvesti.
Pročitao sam "Slične teme" i koliko vidim najsličnija bi bila "SQL upit i brisanje podataka iz tabele", ali ona ipak ne daje rješenje za ovo sto meni treba.
Vidim na forumu da ima momaka kojima je to "piece of cake".
Ljubazno molim za uputu, pomoć, savjet ili sl. kako da rješim ovaj "problem".
Bio bi zahvalan.
Pozdrav svima.
 
Odgovor na temu

Branimir Maksimovic
Senior Software Engineer

Član broj: 64947
Poruke: 4730
82.117.201.*



+968 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 12:20 - pre 16 meseci
Napravi jednu tabelu gde ces cuvati statistiku na mesecnom nivou.
press any key to continue or any other to quit....
 
Odgovor na temu

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 12:28 - pre 16 meseci
Dolazi u obzir.
Hvala lijepo.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1327
*.dynamic.sbb.rs.



+308 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 12:36 - pre 16 meseci
Tabela postaje "teža" - jel to zaista tako, kako se to meri :)
Jel stvarno imaš problem sa performansama i kakav?
Ili pak misliš da ćeš ga imati u budućnosti?

Ako još uvek nemaš problem a misliš da ćeš ga imati
onda se uglavnom radi o "premature" optimization:

https://stackify.com/premature-optimization-evil/
https://sr.wikipedia.org/wiki/...%D0%B8%D0%B7%D1%83%D1%98%D0%B5

Dakle, ne bi trebao da spekulišeš o budućnosti i o problemima koje nemaš
i unapred komplikuješ trenutno jednostavno rešenje.
 
Odgovor na temu

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 12:49 - pre 16 meseci
Potpuno si u pravu.
Nemam problem sa performansama.
Mislio sam da cu ga imati u buducnosti.

Ali nije mi lako odustati od "premature optimization"
iako nakon tvog posta i nakon sto sam procitao tekst , vidim da je to
potpuno ispravan stav.
Imam jos toliko toga da naucim prije nego ovo postane stvarni problem.
Mozda usput i sam dodjem do rješenja !?!?!

Hvala obojci na odgovorima i savjetima.
Prihvatiti cu oba iz razloga sto je prvi savjet veoma jednostavno rješenje,
a drugi savjet je pametan .


 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 429



+39 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 18:20 - pre 16 meseci
Mozda isto dodati polje 'status zapisa' u tabeli/bazi i na osnovu toga vrsiti odredjenu operaciju nad istim zapisom prilikom generisanja upita/izvestaja ali i obracuna.
Na primer ako je status 4 - onda zapis uzeti u zbirni obracun ali ga ne prikazivati il' kako vec se odradi uslovni nacin obrade - po potrebi.
Vise razlicitih situacija vise uslova i grananja za nacin kako se koji odredjeni zapis obradjuje a mozda cak i odredjeno polje u okviru zapisa procesira.
 
Odgovor na temu

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 18:58 - pre 16 meseci
Interesantno.
Hvala lijepo.
 
Odgovor na temu

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 20:44 - pre 16 meseci
http://www.elitesecurity.org/t...odjenje-poslovanja-po-godinama
Slican "problem" .
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1327
*.dynamic.sbb.rs.



+308 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 21:00 - pre 16 meseci
Citat:
bokinet:
Mozda isto dodati polje 'status zapisa' u tabeli/bazi i na osnovu toga vrsiti odredjenu operaciju nad istim zapisom prilikom generisanja upita/izvestaja ali i obracuna.
Na primer ako je status 4 - onda zapis uzeti u zbirni obracun ali ga ne prikazivati il' kako vec se odradi uslovni nacin obrade - po potrebi.
Vise razlicitih situacija vise uslova i grananja za nacin kako se koji odredjeni zapis obradjuje a mozda cak i odredjeno polje u okviru zapisa procesira.


Kada bolje razmislim, ovo polje 'status_zapisa' (u stvari tip zapisa) samo "maskira" činjenicu
da ta jedna tabela suštinski u sebi "skriva" nekoliko tabela.
U ovom dizajnu, ne samo da su različiti zapisi mogu imati različitu semantiku (značenje),
već sa sobom na dalje vuku i različito ponašanje.

Čak i kada su strukture različitih tipova slične (pa i iste) i "pašu" tako da se mogu ugurati u jednu tabelu,
to ne znači da to treba stvatno i raditi - obično je razbijanje na više tabela u debeloj prednosti.

Upravo ovakve stvari kao što je ovakva "tip" kolona u DB ili programska struktura sa poljem "tip"
su izazivači where-ovanja, if-ovanja, else-vanja, case-ovanja i ostalog grananja u SQL-u i programu
a to usložnjava rešenje i simptom je lošeg dizajna.

To se lepo rešava tako što u DB uvedu posebne tabele a u programu posebni tipovi (strukture/klase).

http://wiki.c2.com/?FearOfAddingTables

A kada ocenjuješ složenost rešenja...
- U Sql-u više gledaj kako izgledaju upiti a manje kako izgleda DB dijagram :)
- U programu više gledaj kako izgleda kod a manje kako izgleda dijagram klasa :)


[Ovu poruku je menjao dusans dana 31.05.2019. u 10:37 GMT+1]
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1327
*.dynamic.sbb.rs.



+308 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 21:23 - pre 16 meseci
@ziponja

Svaki ozbiljniji RDBMS podržava table partitioning
tako da u suštini nije potrebno, na primer, razbijanje
podataka po vremenskoj komponenti u različite tabele.

Tako da ne moraš da praviš tabele npr
Troskovi2016
Troskovi2017
Trsokovi2018
Troskovi2019
...

Već se sama tabela Troskovi particioniše
po polju Godina i dobiješ nekakav ekvivalent
onog iznad bez komplikacija sa sufiksima itd...

Na žalost, mislim da Access ne podržava partitioning.

 
Odgovor na temu

ziponja

Član broj: 85910
Poruke: 6
92.36.177.*



Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!30.05.2019. u 21:35 - pre 16 meseci
Zahvaljujem vam na objašnjenju i trudu koji ste ulozili.
Za sada cu uraditi kako sam rekao, a Vi i Maksimovic sugerisali.
Pozdrav
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 429



+39 Profil

icon Re: Brisanje podataka ( nepotrebnih) iz tabele ??!!!31.05.2019. u 13:37 - pre 16 meseci
@dusans

Sve zavisi kakav koncept se forsira sto se tice celog projekta.

Za pomenuti ovo je razumnije jer ako covek evidentira licne troskove lako moze da sracuna koliko ce zapisa biti u bazi sto se tice obima podataka gde opet kolicina zapisa nije velika.

2 osobe x 365 dana x 10 troskova dnevno x 20 godina x 1.1 = ?

Oko pomenutih uslova provera u sklopu upita i svega toga opet je bolje da to bude u sklopu DBMS i da se posle preko upita i stored procedure-s poziva iz poslovne logike a ne da se u poslovnoj logici dodatno preradjuju podaci - razlog sutra kada treba da se odradi promena onda bi se promena radila i na dbms i u poslovnoj logici.

Inace, ja nisam pomenuo da treba da bude sve u jednoj tabeli. Cak sta vise i za polje status promene bi mogla da se doradi pomocna tabela gde bi bili definisani svi moguci statusi sa propratnim opisom, nazivom i sl.

S' druge strane, kako god da se resenje primeni za ovaj mini projekat to iz ugla performansi nece biti nesto znacajno.

Na kraju termin brisanje jednostavno se moze preinaciti u promenu statusa zapisa sto je prakticnije mnogo nego bilo kakav drugi lom koji MOZDA iziskuje i neke doddatne stvari koje mozda nisu prakticne sutra za odrzavanje... Prost primer je APR i brisanje na primer privrednog drustva (DOO) iz registra gde i nakon brisanja i likvidacije ostaju podaci - sto je po nacinu blisko ovom mini projektu.

Permanentno (trajno) brisanje podataka naspram da li je moguce imati istoriju promenu je stvari koju sam projekat treba da zastupa?

Takodje, moze se primeniti model formiranja pocetnog stanja za vremenski period koji se recimo radi uvek na prvi dan svake godine za prethodnu godinu odnosno za vremenski period od do i da se onda stariji podaci ili arhiviraju ili trajno brisi ili im se promeni status kako je vec opisino s' moje strane. To pocetno stanje bi ustvari bio prvi zapis u tekucoj godini koji bi se evidentirao kroz unos od strane korisnika ili recimo generisao nekim upitom ili procesom preko aplikacije automatski.


U nastavku prilazem link za pravljenje particija tabela za MySQL
Obratiti paznju na poslednji deo tj. broj 5. da se ne ponavljam, kada je vec napisano.

acmeextension.com/mysql-table-partitioning/

 
Odgovor na temu

[es] :: Access :: Brisanje podataka ( nepotrebnih) iz tabele ??!!!

[ Pregleda: 1422 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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