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

Trigger - pocetnik

[es] :: Baze podataka :: Trigger - pocetnik

[ Pregleda: 4083 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kloi
Klaudija Klo
Novi Sad

Član broj: 162688
Poruke: 3
195.252.101.*



Profil

icon Trigger - pocetnik12.11.2007. u 14:14 - pre 200 meseci
Prilicno sam nova u bazama, pa vas molim za pomoc oko sledeceg:
Imam 3 tabele: Radnik({jmbg,...sifsek},{jmbg})
Sektor({sifsek,...},{sifsek})
Odeljenje({sifodelj,...sifsek, jmbg},{sifodelj})
Radnici su rasporedjeni po sektorima, a unutar sektora su organizovana odeljenja koja vode radnici iz tog sektora.
Odeljenje moze da pripada samo jednom sektoru i moze da ga vodi samo jedan radnik koji radi u tom sektoru.

Treba mi triger koji ce prilikom unosa u tabelu Odeljenje da proveri da li dati radnik radi u datom sektoru unutar koga se nalazi odeljenje za koje postavljam triger.

Nadam se da sam dovoljno jasno objasnila.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Trigger - pocetnik12.11.2007. u 15:59 - pre 200 meseci
Ne treba ti triger. Dovoljan je referencijalni integritet:

Odeljenje[sifsek, jmbg] JE_PODSKUP_OD Radnik[sifsek, jmbg]
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

Kloi
Klaudija Klo
Novi Sad

Član broj: 162688
Poruke: 3
195.252.101.*



Profil

icon Re: Trigger - pocetnik13.11.2007. u 08:34 - pre 200 meseci
E ovo mi nije palo na pamet. Hvala ti chachka.

Imam jos jednu nedoumicu koju ne znam da li mogu da resim pomocu trigera.

Dalje tabele glase:

Proizvod ({sifproiz,...sifodelj},{sifproiz})
Otpremnica({sifproiz, rbotprem,...jmbg},{sifproiz+rbotprem})

U svakom odeljenju se proizvode razliciti proizvodi i za svaki proizvod se izdaju otpremnice koje izdaje radnik koji vodi odeljenje unutar kog se proizvodi dati proizvod.

Pitanje je da li moze i kako da se napravi triger za tabelu Otpremnica koji bi proveravao da li radnik koji izdaje otpremnicu vodi odeljenje unutar kog se proizvodi taj proizvod i za koji se izdaje data otpremnica i ukoliko to nije da prijavi gresku tj. ne dozvoli insert.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.simex-su.co.yu.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Trigger - pocetnik13.11.2007. u 09:50 - pre 200 meseci
Da li si ti napravila prikazane relacije ili si ih dobila u okviru zadatka?
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Trigger - pocetnik13.11.2007. u 09:57 - pre 200 meseci
> Pitanje je da li moze i kako da se napravi triger za tabelu Otpremnica koji bi proveravao da li radnik koji izdaje otpremnicu vodi odeljenje unutar kog
> se proizvodi taj proizvod i za koji se izdaje data otpremnica i ukoliko to nije da prijavi gresku tj. ne dozvoli insert.

Ako imamo upit koji sprovodi željeni uslov trigger je jednostavan samo se podigne exception, konkretna sintaksa zavisi od baze koju koristiš. Nisam najbolje shvatio uslov koji tražiš a i nemam jasan uvid u strukturu tabela tako da ne mogu pomoći oko pisanja upita. Pokušaj sama da ga napišeš (nezavisno od triggera) pa ako ne ide pošalji koje tabele i polja su u igri i neko će već napisati. BTW. po meni se provere ovog tipa lakše rade prilikom dodavanja artikla u samom programu (dakle na klijentu) nego prilikom upisa u bazu. Pretpostavljam da odeljenje kojim upravlja radnik ima neki ID i da se taj ID upisuje i u tabelu proizvoda, u tom slučaju korisniku možeš ponuditi samo one artikle koji unapred ispunjavaju zadati uslov. Naravno uz pretpostavku da ti i pišeš program.
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Trigger - pocetnik13.11.2007. u 14:02 - pre 200 meseci
>Pitanje je da li moze i kako da se napravi triger za tabelu Otpremnica koji bi proveravao da li radnik koji izdaje otpremnicu vodi odeljenje unutar kog se >proizvodi taj proizvod i za koji se izdaje data otpremnica i ukoliko to nije da prijavi gresku tj. ne dozvoli insert.

I ovo se u prinicpu resava referenciajlnim integritetom. jedino sto mi nesto tabela Otpremnice ne izgleda uopste dobro. Zaboravi na trigere, ti imas veci problem. Logicki dizajn baze nije kako treba. Pravilo koje sam naucio s mukom posle mnogo godina rada:"ako imas potrebu da cesto programiranjem (triggeri, front end) obezbedis postovanje poslovnih pravila, nesto ne valja sa modelom podataka". Vec u dva uzastopna koraka mislis da ti treba trigger, znaci, nesto ne valja. Rekao bih da si u ranoj fazi projektovanaj, pa ima vremena da se stvari isprave.

Ukoliko je svrha zahteva da se nauci pisanje trigera, onda nije izabran dobar primer za tako nesto.

[Ovu poruku je menjao misk0 dana 14.11.2007. u 11:33 GMT+1]
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Trigger - pocetnik13.11.2007. u 15:35 - pre 200 meseci
Evo ja ću malo da budem crtač.
Ovako sam ja shvatio tabele u naznakama i poslovna pravila koja je koleginica dala. Ne zamerite što sam dodao neke atribute, a nekima proširio naziv radi jasnoće.

Dakle kao što rekoše i chachka i Zidar, ovo se rešava referencijalnim inegritetom.
 
Odgovor na temu

Kloi
Klaudija Klo
Novi Sad

Član broj: 162688
Poruke: 3
195.252.101.*



Profil

icon Re: Trigger - pocetnik14.11.2007. u 12:13 - pre 200 meseci
Hvala vam svima na pomoci.

Ja sam zaista u odnosu na sve vas djak prvak u bazama.
Ovo mi treba za projekat na faksu, tako da je moj domet za sada samo pisanje ER dijagram, rel.sema, ref.integriteti i sql script. Pri tom se ne snalazim bas najbolje u ovakvom izgledu ERD, posto sam naucila na oznacene min. i max. kardinalite. Ako sam dobro napravila ERD u dizajneru koji sam uspela da nabavim, on izgleda ovako.


 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 576
*.simex-su.co.yu.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Trigger - pocetnik15.11.2007. u 06:48 - pre 200 meseci
Besmisleno je komentarisati prikazane modele bez specifikacije zadatka.
@Kloi: Postavi kompletan zadatak pa tek onda možemo dalje da pričamo.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
 
Odgovor na temu

[es] :: Baze podataka :: Trigger - pocetnik

[ Pregleda: 4083 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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