[ ravicon @ 02.11.2005. 11:25 ] @
Ja sam stari programewr sa 20 g. iskustva ali u cliperu, fortranu, cobolu I to na vise masina i operativnih sistema. Sada zelim da predjem na win xp i na Delphi 2005 sa nekom od sql baza kao recimo MySQl ili FIREBIRD, pa mi je potreban savet da znam kako da isprojektujem baze kljuceve I pristupe. Molim da mi pomognete I odgovorite na donja pitanja. Treba da formiram 3 tabele kao dole.

Tabela : glavna knjiga
nalog Konto Opis stavke Dug pot
1 20200 12345 200

Tabela : kupci
Nalog Konto Sifra kupca Opis stavke Dug pot
1 202000 000001 Rac. 1 30
1 202000 000002 Rac. 2 20
2 202000 000003 Rac 2 150

Tabela :prodaja
Nalog Konto Kupac Sifra artikla Kol iznos
1 202000 000001 1 1 10
1 202000 000001 2 3 20
1 202000 000002 a 2 20
2 202000 000003 ff 6 150
Zadnja tabela nastaje pri svakoj prodaji a gornje moraju da se formiraju zbog knjigovodstva. Znaci u zadnju tabelu moram da upisem svaku stavku o prodaji a gornje tabele mogu da popunim na kraju kada se zavrsi nalog ili da stalno sabiram stavke u tabelu kupci I tabelu glavna knjiga pri svakom upoisu u tabelu prodaja. To znam kako se radi sa pomenutim jezicima I sta je bolje sta ima vecu sigurnost ili brzinu. Sa SQL nisam radio pa su mi potrebna mala objasnjenja.
Pitanja :
1. koju bazuod SQL izabrati a da je besplatna?
2. sta je bolje da upisujem pri svakom knjizenju PRODAJE ili kada se zavrsi NALOG sto se tice brzine i sigurnosti?
3. da li postoji mogucnost da sa SQL naredbom definisem da se podaci iz tabele PRODAJA automatsku upisuju u KUPCU I GLAVNA KNJIGA bez da to ja uradim nekom naredbom DELPHI2005?
4. ako je pod 3 moguce kako ta naredba glasi I kako definisati tabelu I kljuceve?
[ misk0 @ 02.11.2005. 14:00 ] @
Dobro doshao prvo :)

Citat:
ravicon:
1.koju bazuod SQL izabrati a da je besplatna?

Ima ih poprilicno... preporuke : mySQL, postgreSQL, firebird. Najbolje je da posjetis njihove officijelne stranice i procitas mogucnosti i zahtjeve i onda odaberes onu koja odgovara najvishe tvojih zahtjevima.

Citat:

2.sta je bolje da upisujem pri svakom knjizenju PRODAJE ili kada se zavrsi NALOG sto se tice brzine i sigurnosti?

Koliko sam ja skontao, moras sabrati vrijednost svih stavk i snimiti je u Glavnu knjigu?
Ako imas event kad je popunjen nalog, onda je najbolje na kraju, jer umjesto 5 puta azurirati, bolje je to uraditi 1om.

Citat:

3.da li postoji mogucnost da sa SQL naredbom definisem da se podaci iz tabele PRODAJA automatsku upisuju u KUPCU I GLAVNA KNJIGA bez da to ja uradim nekom naredbom DELPHI2005?
4.ako je pod 3 moguce kako ta naredba glasi I kako definisati tabelu I kljuceve?


Da, zavisno od baze.
Odredjene baze imaju triggere i stored procedure.
Triggeri su pozivi koji se desavaju na osnovu nekog dogadjaja u bazi. U tvom slucaju mozes na trigger AFTER_INSERT INTO PRODAJA da pozoves neku proceduru koja ce odraditi odredjenu racunicu i te vrijednosti upisati u neke druge tabele.
Tako ti ne moras brinuti o tome, vec je to mehanizam same baze. Naravno, nemaju sve baze te mehanizme odnosno mogucnosti.
[ nik79 @ 03.11.2005. 10:13 ] @
MySql nije besplatna vec je pod GPL licencom sto znaci da takav mora biti i tvoj softver, a ako zelis da prodajes svoj program onda je licenciranje 600$/po godini/po serveru.
Moja preporuka PostgrSQL jer je izdat pod BSD licencom pa si u principu slobodan da ga koristis kako zelis.
Jedino ne znam kako ces se snaci sa kombinacijom Delphi+PostgreSql, cini mi se da je trebalo skidati neke dodatne komponente sa neta. Mene je to na kraju mrzelo da radim i odlucio sam se za kombinaciju Java+PostgreSql.
[ Zidar @ 04.11.2005. 21:49 ] @
Zar ne treba malo da se normalizuju tabele? SQL jezici nasu namenjeni da prepisuju jedne te iste podatke iz tabele u tabelu kao Cobol, iako je i to moguce.

:-)