• 32 odgovora
  • 14.953 pregleda
Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 11:49 · pre 277 meseci #1
Pozdrav !

Treba da napravim evidencioni program koji treba da radi sa podacima o automobilima, tehnickim pregledima itd... kao i stampanje raznih izvestaja, popunjavanje obrazaca, rokovnik...

Znam da java nije najsrecnije resenje za ovako nesto, ali posto sam vec poceo da je ucim, a i na faxu mi sleduje u neko dogledno vreme, odlucio sam se za nju kao razvojnu platformu. Sada sam u dilemi da li da za skladistenje podataka koristim XML ili MySQL. Sta vi mislite ?
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 12:33 · pre 277 meseci #2
moraš dati više detalja o implementaciji.. npr, da li app treba da bude client-server ili desktop, u kojoj tehnologiji nameravaš da je radiš (GUI ili web app), itd..
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 12:41 · pre 277 meseci #3
ok, sorry

trebalo bi da bude gui, iskljucivo desktop aplikacija.
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 12:57 · pre 277 meseci #4
u tom slučaju, osim ako količina podataka ne prelazi neku baš veliku cifru, jedan xml fajl će ti biti verovatno najelegantnije rešenje (ako prelazi, onda bolje da to ispodeliš na par xml fajlova).

prednosti u odnosu na sql server su što ti je od deploya dovoljan JVM da bi ti app radio, a i moguće lakša manipulacija podacima. još ako nađeš neki xml2java code generator (ne znam stručan naziv za ovo), ima da ti bude pesma da radiš ;)
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 14:45 · pre 277 meseci #5
Znaci da mi treba po jedan xml fajl da zameni svaku potencijalnu tabelu u bazi ?
Ili samo jedan fajl, pa da idem sa <tabela1> ... </tabela><tabela2>... ?
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 14:48 · pre 277 meseci #6
Kakav xml2code generator?

Ne znam kakve biblioteke imaš za javu, ali znam da na xml.apache.org ima puno softvera za xml (sve u javi). Čini mi se da bi ti bili neophodni neki DOM, XPath i/ili XQuery. Pogledaj na w3.org/TR/xpath20, w3.org/TR/xquery. Generalno sve možeš da uradiš i sa DOM-om, ali nema razloga da se maltretiraš ako već postoje xpath procesori (primer xpath-a je npr "//person[fname='John']", sto generalno ima slicnu funkcionalnost kao "select * from person where fname='John'" u SQLu).

Pozdrav
Filip
Potpis
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 07.01.2004. u 16:15 · pre 277 meseci #7
I sta vi cenite, moze li aplikacija tog tipa (desktop/GUI) lepo da radi na Celeronu450Mhz, cini mi se 98MB Ram-a ?
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 02:57 · pre 277 meseci #8
Citat:
I sta vi cenite, moze li aplikacija tog tipa (desktop/GUI) lepo da radi na Celeronu450Mhz, cini mi se 98MB Ram-a ?


Moj savet je da tu aplikaciju ipak napišeš u C-u ili C++-u. Mislim da Java neće najbolje da se pokaže na takvoj mašini, mada ne mogu zasigurno da tvrdim :) Skini neku Java aplikaciju slične kompleksnosti pa probaj kako radi, pa ako bude ok, onda piši u Javi. A u suprotnom uzmi GTK i libXML i uživaj.
Potpis
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 09:48 · pre 277 meseci #9
Citat:
NikolaVeber:
Znaci da mi treba po jedan xml fajl da zameni svaku potencijalnu tabelu u bazi ?
Ili samo jedan fajl, pa da idem sa <tabela1> ... </tabela><tabela2>... ?


naravno da ne. iskoristi činjenicu da podatke u XMLu možeš da ugnježdavaš do proizvoljne dubine. zato recimo umesto dve tabele, Servisi i Delovi (zamenjeni u svakom servisu):

Code:

Servisi
-------
id 
datum
opis
...

Delovi
------
servis_id
naziv
kolicina
...


ti u XMLu imaš lepo stablo:

Code:

Servisi
    1. servis (prvi child nod)
        Datum
        Opis
        Delovi
            1. deo (child nod)
                Naziv
                Kolicina
                ...
            2. deo (child)
            ...
    2. servis 
    ...


pošto u XMLu nemaš join kao u SQLu (a najčešće ti i ne treba).


Citat:
brcha:
Kakav xml2code generator?


ma mislio sam na one wizarde koji na osnovu DTDa ili šeme generišu c++/delphi/java/* kod koji se obmota oko samog DOMa za lakši pristup podacima. npr umesto domnode.childNode[7].Text pišeš job.person[7].Name ili slično.

ne znam kako se tačno ta opcija zove, ali valjda kapirate..


a, naravno da i ja preporučujem xpath. bez njega bi ceo posao bio prilično mukotrpan..


inače, na toj mašini će app raditi solidno, mada bih preporučio još koji Mb rama..
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 12:35 · pre 277 meseci #10
Znaci li to da xml-om mogu da potpuno izbegnem relacione tabele i sl., tj da sve podatke drzim na "gomili", po logici medjusobne pripadnosti tih podataka.

I kako je resen rad sa podacima u xml parserima (sortiranje, pretrage i sl.)?
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 13:20 · pre 277 meseci #11
Citat:
NikolaVeber:
Znaci li to da xml-om mogu da potpuno izbegnem relacione tabele i sl., tj da sve podatke drzim na "gomili", po logici medjusobne pripadnosti tih podataka.

Slicno mozes da postignes i sa LDAP bazom:)
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 13:48 · pre 277 meseci #12
Mada ne verujem da cu se upustati u tako nesto... ali hvala :)
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 14:27 · pre 277 meseci #13
Citat:
NikolaVeber:
Znaci li to da xml-om mogu da potpuno izbegnem relacione tabele i sl., tj da sve podatke drzim na "gomili", po logici medjusobne pripadnosti tih podataka.

I kako je resen rad sa podacima u xml parserima (sortiranje, pretrage i sl.)?


pa otprilike znači to. za neke stvari (pretraga) ti posao završava xpath, a recimo sortiranje možeš i u javi lako da odradiš (pogledaj Comparable interfejs).

(a sa XSL može da se radi i sortiranje, ali se ne sećam da li je to deo xpath-a ili XSLa, i da li se/kako može iskoristiti u javi)
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 16:42 · pre 277 meseci #14
Evo linka ka stranici punoj informacija na ovu temu. Samo me kopka da li SDK moze isto to (posto je ovo za enterprise edition)...

http://www.j2eeolympus.com/J2EE/JavaXml/JavaXSL.jsp
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 08.01.2004. u 23:57 · pre 277 meseci #15
Mozda je bolje da se drzis resenja koja su vec godinama proverena u praksi. Bilo koja ozbiljnija poslovna aplikacija mora da radi sa vise tabela (te je potrebno normalizovati potrebne relacije/tabele kako bi se izbegle anomalije pri manipulaciji podacima) a DBMS-ovi su dusu dali za te setuacije.
Sumnjam da upotrebom XML-a bilo sta dobijas (pogotovo ako se to razvije u klijent/server resenje).
Potpis
Owl
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 09.01.2004. u 12:39 · pre 277 meseci #16
Ovo se sigurno nece razviti u klijent/server aplikaciju. Inace, struktura podataka ide ovako:
Svaka musterija(korisnik) ima podatke (broj licne karte it.d.) koji su potrebni. Takodje, svaki od njih ima jedan ili vise automobila sa podacima tipa kubikaza, snaga motora, godina prizvodnje i sl.
Imaju podaci o kucama koje rade osiguranje (razlicite tarife, sema popunjavanja obrazaca za svaku od njih), i podaci o ostvarenim ugovorima sa klijentima (mada se i za svaki auto moraju cuvati podaci o registraciji i osiguranju).
Znaci imam prilicno strukturiranu semu... zato je mozda dobro koristiti xml, jer bi islo
Code:
<auto>
 <podaci>...</podaci>
<registracija>...</registracija>
<osiguranje>...<osiguranje>
</auto>
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 10.01.2004. u 14:02 · pre 277 meseci #17
Nije dobro da sve strpaš u isti XML tag. Bolje je da neke stvari odvojiš. Na primer ovako:
Code:

<bazaPodataka>
 <musterije>
  <musterija id="mid1">
   <podaci><ime>...</ime><telefon>...</telefon>...</podaci>
   <automobili>
    <auto id="aid1">
     ... podaci o automobilu ...
     <ugovori>
      <ugovor id="uid1" tip="registracija">
       <tekst>tekst ugovora</tekst>
      </ugovor>
      <ugovor id="uid2" tip="osiguranje">
       <ref id="oid1" /> <!-- ovo je id osiguravajuce kuce -->
       <tekst>tekst ugovora</tekst>
      </ugovor>
      ...
     </ugovori>
    </auto>
    ...
   </automobili>
  </musterija>
  ...
 </musterije>
 <osiguranje>
  <osiguravajucaKuca id="oid1">
   ...
  </osiguravajucaKuca>
  ...
 </osiguranje>
</bazaPodataka>


Možda bi još trebalo da bude odvojenih "tabela", mada, po onome što si rekao, čini mi se da je ovo dovoljno. A selektovanje odgovarajućeg ID-a vršiš preko XPath-a, kao što sam napisao u prethodnom postu.

Pozdrav
Filip
Potpis
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 14.01.2004. u 21:23 · pre 277 meseci #19
Ovo je samo moje licno misljenje: Ja ipak mislim da je najlaganiji
moguci DB engine bolji od bilo kakve "XML baze". XML-u nije mesto medju
bazama, zasto ga trpaju tamo gde mu nije mesto je opstepoznato...
Mozda sam konzervativan, ali ipak XML-u tu zaista nije mesto.

Citat:
Za ovako nešto bih ti savetovao da koristiš npr SQLite ili sličan
"lagani" DB engine.
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: Sta je bolje u ovom slucaju - XML ili neka baza (MySQL) 15.01.2004. u 12:07 · pre 277 meseci #20
Znaci li to da u aplikaciji ovog tipa xml predstavlja lose resenje za skladistenje podataka?
Potpis
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme