Zdravim,
rozhodl jsem se udelat si jednoduchou databazi propisek(sbiram je) v Jave.
V Jave se teprve zacinam ucit a tohle mam jako semestralni praci. Cetl sem o moznosti "provazani" s databazi MYSQL, ale jelikoz MYSQL neumim(a nemam cas se ucit.......), tak to pada.....
Databaze by mela byt jednoducha- propiska: IDcislo, nazev firmy, barva. Mela by mit moznost ukladani(do textove souboru), vyhledavani(podle nazvu firmy).
Vubec netusim jak to udelat:-(. Tak bych chtel poprosit o rady zkusenejsich, pripadne typy, kde najit info......
Napadalo me ukladat data do pole Stringu, to zapisovat do textoveho souboru, ale jak vnem pak vyhledavat, ....... netusim.
Predem diky za rady:-)
Fórum › Java
Jednoducha databaze
To SeraphCZ :
Zdravim,
jak vyhledavat v poli Stringu si najdu vtom nebude problem, jen se ptam jake sou moznosti pri tvorbe databazi.....?
Zda-li to jde resit pomoci 2-rozmerneho pole Stringu, do ktereho budu zapisovat, a to pozdeji nejak zapisovat do textoveho souboru, pote v textovem souboru vyhledavat nake vyrazy......?
Nebo jestli znate nejakou jinou moznost(krome provazani s MYSQL) .......?
predem diky za rady
Udělej si třídu reprezentující každý záznam. Jednotlivé položky budeš mít uložené v poli/seznamu/... Budeš mít texťák a do něj budeš psát jednotlivé záznamy oddělené znakem, který se v nich nebude objevovat. Můžeš mít třeba každý záznam na nový řádek a ve formátu id|firma|barva. Ale v ascii tabulce je na tohle myšleno a existují znaky 0x1E Record Separator a 0x1F Unit Separator.
Při spuštění programu si pak otevřeš tento soubor, načteš jeho obsah, rozparsuješ a uložíš do vnitřní reprezentace.
Ale hezčí by bylo mít to buď v té databázi(SQLite) anebo třeba v xml souboru. ;-)
To H4wk.cz :
SQL ani XML neumim, a proto bych to do toho nerad motal........
ted hledam informace okolu linkedlist, hashmap, array,........myslim, ze byse toho zde dalo vyuzit......?
takze:
vytvorim tridu propisky, jeji instance(objekty) budou jednotlive propisky.
pri kazdem vytvoreni noveho objektu(instance) budu zapisovat do *.txt jeji parametry(ID,firma,barva,)a zarovne si to budu ukladat do pole ArrayList(2 rozmerne pole Stringu- sloupce ID, firma, barva....... pocet radku = pocet propisek) .
pri vyhledani budu prochazet textovy soubour po radcich a porovnavat nazvy stim co chci hledat
jen mi neni moc jasne nacitani z *.txt......? budu nacitat po radcich a to budu zase ukladat do pole, a zaroven kazdej dalsi radek = novej objekt(instance)
chapu to dobre?
diky za rady
Pavel
Upřímně mi už přijde rychlejší se naučit např. s tím SQLkem (byť by ses třeba vůbec nezajímal o normalizaci[1]), nebo zpracovat XML pomocí DOM[2] (podíváš se na příklady a změníš jenom pár věcí). Pro tenhle problém by byla relační databáze asi nejlepším řešením – SQLite[3] rozhodně není špatnou volbou.
Jinak jsem se ukládáním dat do souboru poslední dobou docela zabýval a vyšla z toho metatable[4][5] a btree[6][7]. Obojí je sice v PHP, ale neměl by být velký problém po zkouknutí kódu zjistit, jak to funguje a implementovat to v Javě. Hlavně metatable, jelikož její formát je (doufám že) dobře popsán[8].
Ještě abych nezapomněl, můžeš se vydat směrem objektových databází. Naprostý luxus. Prostě si vytvoříš objekty, předáš je databázi a o nějaký marshalling a unmashalling se nemusíš vůbec starat. Takovým zástupcem může být kupř. db4o[9].
[1] http://programujte.com/?akce=clanek&cl=2008071900-normalizace-relacnich-databazi
[2] http://www.google.cz/search?q=java+dom
[3] http://stackoverflow.com/questions/41233/java-and-sqlite
[4] http://programujte.com/?akce=clanek&cl=2009053100-metatable-%2596-ukladame-a-vybirame-data-v-php
[5] http://github.com/jakubkulhan/metatable
[6] http://bukaj.netuje.cz/blog/btree-v-php
[7] http://github.com/jakubkulhan/btree
[8] http://jakubkulhan.github.com/metatable/format.html
[9] http://www.db4o.com/
To bukaj_001 :
jelikoz je to ukol na programovani kde bereme Javu, tak bych do toho SQL ani XML motat nechtel(neumim je)......rad bych to udelal ciste jen pomoci Javy....myslite, ze to co jsem napsal vyse(pole stringu, trida propisky, ukaldani do txt) je nerealne a spatne?
http://www.zaachi.com/cs/items/java-jednoduchy-cesko-anglicky-slovnik.html
zkusim pouzit toto, a predelat to (jine sloupce, nebudu zrejme delat GUI - asi na to nebude cas,.....)
co si otom myslite?
diky za rady
Pavel
jelikoz je to ukol na programovani kde bereme Javu, tak bych do toho SQL ani XML motat nechtel(neumim je)
Pouze jsem psal, že to podle mě bude *rychlejší* než napsat dobrou implementaci flat file databáze[1].
myslite, ze to co jsem napsal vyse(pole stringu, trida propisky, ukaldani do txt) je nerealne a spatne?
Záleží na implementaci.
Jen jsem chtěl říct, že pokud někde nemáš výslovně v zadání, že musíš implementovat flat file databázi, nebo že nesmíš použít již nějakou hotovou databázi, měl bys být *líný* a použít již něco hotového. Taky tu samozřejmě hraje roli faktor „vlastního kódu“ (aneb „jo, tak tohle jsem všechno udělal já“) – pokud se chceš naučit něco z implementace databází, implementuj nějakou, jestliže ale chceš jenom nějakým způsobem ukládat data pro svou aplikaci, vyprdni se na to to dělat sám a použij něco, co už udělal někdo jiný.
[1] http://en.wikipedia.org/wiki/Flat_file_database
To bukaj_001 :
Dobre, zkusim nastudovat neco o XML nebo SQL....V zadani neni receno ze nemuzu pouzit JDBC(provazani s SQL ) tak byto nemel bejt problem.........a pokusim se oto......
Moc diky za rady a odkazy
Pavel
zkusim nastudovat neco o XML nebo SQL
Zrovna tohle… Vážně, podívej se na db4o[1]. Sice jsem s ní nikdy nepracoval, ale ten tutoriál vypadá pěkně[2]!
[1] http://www.db4o.com/
[2] http://developer.db4o.com/Resources/view.aspx/Formula_One_Tutorial/Tutorial_Java_Version
To bukaj_001 :
Ja tohle bohuzel moc nechapu- neni mi jasne kam se mi data ukladaji, jak bych je pote tridil, jak bych nacital z teextoveho soboru,.....:-(
potreboval bych to vystvetlit v cestine a tak trochu jako pro blbce abych to pochopil:-(
Pavel
neni mi jasne kam se mi data ukladaji
Do souboru, který si vybereš.
jak bych je pote tridil
http://developer.db4o.com/Resources/view.aspx/Reference/Object_Lifecycle/Querying/Sorting_Query_Results
jak bych nacital z teextoveho soboru
Načítat nic nemusíš – otevřeš databázový soubor a knihovna za tebe veškeré načítání a ukládání zařídí.
potreboval bych to vystvetlit v cestine
http://translate.google.cz/translate?u=http%3A%2F%2Fdeveloper.db4o.com%2FResources%2Fview.aspx%2FFormula_One_Tutorial%2FTutorial_Java_Version&tl=cs
Pokud je pro tebe angličtina na úrovni porozumění dokumentace problém, tak zaber – prostě se bez ní neobejdeš.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Tabulky databáze, relační databáze a relace — založil mger789
Jednoduchá aplikace. — založil Morpheus
Jednoduchá práce v C — založil Marek
Jednoducha uloha — založil Trebor
Jednoduchá grafika — založil Grungy
Moderátoři diskuze