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

Triger u SQL-u kako,zasto i cemu sluzi???

[es] :: Baze podataka :: Triger u SQL-u kako,zasto i cemu sluzi???

Strane: 1 2

[ Pregleda: 12495 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 876
*.sksyu.net.



+170 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???05.12.2005. u 19:57 - pre 160 meseci
Hoce li neko objasniti sta to znaci da su trigeri skriveni na MSSQL Serveru?
 
Odgovor na temu

ventura

Član broj: 32
Poruke: 7781
213.244.222.*



+6453 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???05.12.2005. u 20:05 - pre 160 meseci
Citat:
franjo_tahi:  Ja ih obavezno korsitim za kreiranje primari key-a (ako nemam neki suvisli podatak za to) npr: ID koji je autoincremental.


A zar nije bolje resenje koristiti GUID, nego incremental ID?
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
194.126.213.*



+1 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???06.12.2005. u 10:01 - pre 160 meseci
GUID je OK, ali autoincremental ima prednost što znam redosljed dodavalja slogova, a bez uvođenja polja datetime. Zbog administriranja mi je nekada bitan redosljed, pa da ne bih imao malo GUID, malo autinc. zato koristim samo autoinc.
Trigeri su veći problem za kasnije održavanje i izmjene programa koji su na bazama, a ako ga radi netko drugi, a ne onaj tko je napravio program - u velikim bazama se lako previde.
 
Odgovor na temu

branimir.ts
Beograd

Član broj: 56661
Poruke: 127
*.

Sajt: www.geocities.com/brankob..


Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???06.12.2005. u 10:24 - pre 160 meseci
Citat:
franjo_tahi: GUID je OK, ali autoincremental ima prednost što znam redosljed dodavalja slogova, a bez uvođenja polja datetime.


Kakva je to prednost?

Preko auto incrementa ne mozes znati tacan redosled izmene slogova.

Na MSSQL se za takve stvari koristi binarno polje tipa timestamp.

Pozdrav
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.leased.neobee.net.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???07.12.2005. u 07:16 - pre 160 meseci
Da se i ja malo ukljucim u raspravu. U firmi u kojoj radim se slabo koriste ali ipak koriste okidači. Moj savet je: očuvanje integriteta baze je uvek na prvom mestu bez obzira na sve. Postoje stvari koje se jednostavno drugačije ne mogu rešiti (tada treba koristiti okidače) u suprotnom izbegavati ih.

Sad se setih R.Viera je u knjizi "Professional SqlServer 2000" poglavlje koje se bavi okidačima započeo nesto ovako (izvinjavam se zbog eventualnih gresaka u citatu, davno sam to čitao): "Okidači su dobri, okidači su korisni i okidači su vaši prijatelji. U isto vreme okidači okidači su ruzni, okidači su zli i okidači su vaši najgori neprijatelji."

Šta više reći??

A što se auto incrementa tiče zašto ne koristiti IDENTITY polje umesto da se kodira u okidačima?
Every hamster has his day.
 
Odgovor na temu

neki_adsl
Novi Sad

Član broj: 280700
Poruke: 21
*.adsl-a-1.sezampro.rs.



+1 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???24.12.2016. u 15:00 - pre 26 meseci
Cao, ja sam pocetnik u sql...i pokusavam da razumem sta su tacno transakcije? Negde sam shvatila da se vec postojeca baza menja,prilikom transakcija i da te akcije su izolovane...ali nisam najsigurnija..ako moze neko s lepim primerom da mi pojasni tacno sta je i kada je potrebna?

Pozdrav!
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2212

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+434 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???24.12.2016. u 18:24 - pre 26 meseci
http://lmgtfy.com/?q=database+transaction
Please do not feed the Trolls!

Profesionalni sport je oksimoron. Profesionalni sportista je, najcesce, samo moron.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4860
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+622 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???24.12.2016. u 18:43 - pre 26 meseci
Sa Wikipedije, prvi link koji daje Krgovićev link ;)

Citat:

Primer koji ilustruje korišćenje transakcija je prenos novca sa jednog bankovnog računa na drugi. Prilikom prenosa novca dolazi do dve odvojene akcije:

Izvesna količina novca se uklanja sa jednog računa
Izvesna količina novca se dodaje na drugi račun (ne obavezno ista količina novca jer banka može da naplati proviziju)
Ukoliko se dogodi da usled neke greške u sistemu (prekid veze, softverska greška, nestanak struje...) bude izvršena samo jedna od ove dve akcije, dolazi do neprihvatljive situacije. Ili će novac biti uklonjen sa prvog računa a neće leći na drugi račun (klijent na gubitku), ili će novac leći na drugi račun a neće biti uklonjen sa prvog računa (banka na gubitku). Da bi se ovakve neželjene situacije izbegle, koristi se transakcioni sistem koji će se postarati da ili obe akcije uspeju ili da nijedna ne bude izvršena.

...


Jednostavna transakcija se obično zadaje sistemu terminima jezika kao što je SQL obavijenim u transakciju, po šablonu koji nalikuje sledećem:

započni transakciju
izvrši nekoliko iskaza za manipulisanje podacima i upita
ako nije došlo do grešaka, sačuvaj (komituj) transakciju i završi je
ako je došlo do grešaka, poništi (rolbekuj) transakciju i završi je


Pogledaj komande COMMIT i ROLLBACK, a ima i drugačijih, sve je dato u linku.


Ukratko, transakcija je grupa operacija nad bazom, sa idejom "sve ili ništa". Ako su sve operacije izvrsene OK, onda se stanje baze stvarno i menja (COMMIT). Ako makar jedna operacija nije prosla kako treba, baza ostaje kava je i bila, nepromenjena (ROLLBACK).
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2212

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+434 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???25.12.2016. u 08:38 - pre 26 meseci
Moja ideja je bila da @neki_adsl pokaze malo truda, procita, eventualno skine neku free bazu (postgre, mysql, sta god), proba elementarno i pita KAD ZAPNE, kad ne razume i kad pokaze elemntaran trud ulozen u razumevanje, pre pitanja na forumu.
Please do not feed the Trolls!

Profesionalni sport je oksimoron. Profesionalni sportista je, najcesce, samo moron.
 
Odgovor na temu

neki_adsl
Novi Sad

Član broj: 280700
Poruke: 21
*.adsl-a-7.sezampro.rs.



+1 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???27.12.2016. u 13:22 - pre 26 meseci
Hvala vam :) @nkrgovic ...probala sam sve to :) imam mysql instaliran, zajedno sa javom to ucim. Jednostavno nisam razumela...i cini mi se da nije toliko opste pitanje,da sam npr pitala sta je SQL e onda jbg :) . @X Files znaci to je grupacija akcija u kojoj sve akcije moraju da budu uspesne da bi promene bile permanentne? Jel moze da se desi npr da imam neku grupaciju akcija, tipa unos podataka u bazu,izmena podatka..a da se te dve akcije ne smatraju transakcijom?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4860
89.216.51.*

Jabber: xfiles@elitesecurity.org


+622 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???27.12.2016. u 13:31 - pre 26 meseci
Naravno, elementrani iskazi tipa INSERT, UPDATE ili DELETE nisu sami po sebi transakcije, korisntiš ih po želji.
 
Odgovor na temu

neki_adsl
Novi Sad

Član broj: 280700
Poruke: 21
*.adsl-a-7.sezampro.rs.



+1 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???27.12.2016. u 13:42 - pre 26 meseci
E to je mene zbunjivalo,mislila sam da je onda sve transakcija...danak neiskustvu :) . A evo jos jedno pitanje xD , da li index moze da bude primary key? Npr ja sad imam artikl s sifrom 34...da li bi bilo besmisleno staviti unikatan index 1 na taj artikl? Kad vec on sam ima tu sifru?
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2212

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+434 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???28.12.2016. u 08:56 - pre 26 meseci
- Ako drugacije nije postavljeno, elementarni iskazi tipa "INSERT...." jesu transakcije, u smislu da ce, ako insert iz nekog razloga pukne biti uradjen rollback, zapravo si dobro shvatila. Cilj transakcije je da napravi grupu izjava koje, delimicno izvrsene nemaju smisla, tj. napravice stanje koje logicki nije ispravno, tako da developer moze da garantuje da ce one biti izvrsene u paketu, tipa "Sve ili Nista".

Dodatne prednosti mogu da budu vezane za optimizacije storage engine-a, tj. internog rada baze. Ako pustis par stotina UPDATE statementa kao transakciju mozes usput reci bazi (ili moze ona sama, mozda, ako je dovojlno pametna) da ne radi update index-a posle svakog UPDATE-a, vec samo jednom, kad se transakcija zavrsi. Ako update-ujes par hiljada slogova u tabeli od par miliona i gde svaki update traje zbog regenerisanja index-a, dobices znacajno ubrzanje operativnog rada.

- Primary key mora da bude non-null i unique. Ako ti tvoj index sasvim sigurno to obezbedjuje logicki je sasvim ispravno da ga stavis kao primarni kljuc. S'druge strane, nije besmisleno uvesti unikatan dodatni slog, neki "ID", tipa integer, autoincrement koji ce da bude primarni kljuc, stavise dobra ti je logika.

Prednost je sto npr. bas mysql koristi primarni kljuc za replikaciju, tako da mu bas prija da bude integer. S'druge strane, ako tvoj index (sifra proizvoda, sta god), nekad bude morala da iz netehnickih razloga bude varchar (videces vremenom, imaces glupe zahteve), taj ALTER ce ti posle napraviti veliki problem.

Takodje, svi indexi koje mysql pravi (dodatni indexi), kao prvo polje imaju primarni kljuc - ako ga ti ne stavis, on ga nalepi implicitno, jer mu treba. Samim tim, ziva je zgoda da to bude prosto integer a ne neko duze polje. Iz tog, i nekih drugih razloga, sve InnoDB tabele MORAJU da imaju primarni kljuc, vodi racuna o tome. Ako ga nemaju, opet, mysql ce ga napraviti implicitno. Ako ne moze da ga identifikuje (nema odgovarajuceg polja), napravice kompozitni, nekad od SVIH polja zajedno - i onda em to update-ovati svaki put, em to lepiti na sve ostale indexe. Sustina je: Uvek imaj primarni kljuc, kao ID, integer.

Konacno, cisto napomena: Ako stavis primarni kljuc neki ID, koji je autoincrement, baza ce ti garantovati da se inkrement svaki put inkrementira. Nece ti garantovati da je taj inkrement tacno 1 niti za koliko raste - samo da raste. Postoje razlozi vezani za replikaciju kad je meni ovo bas trebalo, tako da vodi racuna kako razmisljas i sta ti jeste a sta nije garantovano. :D

Kad lepo pitas i pokazes ama bas malo truda, odma vecini nije tesko da se potrudi i objasni ti sve sto moze. :D
Please do not feed the Trolls!

Profesionalni sport je oksimoron. Profesionalni sportista je, najcesce, samo moron.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4860
89.216.51.*

Jabber: xfiles@elitesecurity.org


+622 Profil

icon Re: Triger u SQL-u kako,zasto i cemu sluzi???28.12.2016. u 12:03 - pre 26 meseci
Citat:
nkrgovic: - Ako drugacije nije postavljeno, elementarni iskazi tipa "INSERT...." jesu transakcije, u smislu da ce, ako insert iz nekog razloga pukne biti uradjen rollback, zapravo si dobro shvatila. Cilj transakcije je da napravi grupu izjava koje, delimicno izvrsene nemaju smisla, tj. napravice stanje koje logicki nije ispravno, tako da developer moze da garantuje da ce one biti izvrsene u paketu, tipa "Sve ili Nista".

U pravu si! Kada sam ono gore napisao, razmišljao sam da li da objašnjavam baš to što si napisao, ali nisam hteo da komplikujem i dodatno zbunjujem ("kako sad to, kada nema reči TRANSACTION") ;) U svakom slučaju, dobro je da je i to sada izrečeno...


@neki_adsl
Uvek otvori novu temu za novo pitanje, da se tema ne pretvori u Chat room :)

 
Odgovor na temu

[es] :: Baze podataka :: Triger u SQL-u kako,zasto i cemu sluzi???

Strane: 1 2

[ Pregleda: 12495 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

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