baza danych / program do przeszukiwania danych

0

Witam serdecznie.
Jestem 'świeża' zarówno jeśli chodzi o programowanie w Javie jak i o obecność na tym forum. Bardzo proszę o zrozumienie jeśli coś niejasno napiszę.
Chciałabym stworzyć bazę danych, najlepiej znajdującą się tylko na jednym komputerze, by może z możliwością późniejszego udostępnienia jej w sieci.
Chodzi mi o to, żeby za pomocą takiej bazy były tworzone (dodawane np. z przenośnych dysków) i przechowywane dane tekstowe, pliki pdf i obrazy w różnych formatach, z możliwością np. ich podglądu (w jakimś dodatkowym oknie) przed otwarciem czy wydrukowaniem.
Chciałabym się dowiedzieć czy kod takiej bazy musi wyglądać jak taka 'typowa' baza (z łączeniem się, hasłami itp. - większość jest tak w necie opisywana) czy może to być np. w formie prostego programu, którego będzie się uruchamiało z jednego pliku .jar i który będzie 'działał' odpowiednio na plikach znajdujących się na danym komputerze. Chodzi mi głównie o szybkie przeszukiwanie i przeglądanie dosyć sporej ilości danych znajdujących się na komputerze bez konieczności 'ręcznego' przeszukiwania wszystkich folderów.
Nigdy nie tworzyłam czegoś takiego także ciężko mi jest dokładnie wyjaśnić o co chodzi. Mam nadzieję, że w miarę logicznie opisałam swój problem.
Z góry bardzo dziękuję za odpowiedź. Pozdrawiam.

0

Może by tak użyć SQLite?

0

H2 i HSQLDB też dają rade

0

Dziękuję.
A wiecie może z własnego doświadczenia czy działałaby któraś z nich na Win7? Nie mogę znaleźć na ten temat pewnej informacji w necie.
Czy pisanie takiej bazy za pomocą np. H2 jest bardzo skomplikowane? Nigdy z żadnymi takimi bazami danych nie miałam do czynienia. Czym sam kod (jego główne 'części') różnią się od normalnego programu pisanego w javie? Jest dużo nowych rzeczy do ogarnięcia? Będzie możliwość stworzenia w niej takiego np. podglądu obrazów? Jeśli jest taka opcja to rozumiem, że byłaby pisana w javie tak jak normalna aplikacja?

0

Powinno działać na 7. No normalnie piszesz kod w Javie, który oczywiście wykonuje połączenia do bazy.

0

A czy ktoś mógłby mi tak od cepa wytłumaczyć na czym dokładnie polega cały proces tworzenia takiej bazy? Od czego powinnam zacząć żeby taką podstawową bazę utworzyć i jak ją dalej rozwijać? Szukam po necie informacji ale nie umiem tego posklejać w logiczną całość i sobie wyobrazić... :(
H2 jest jakąś podstawową bazą? W jaki sposób się z niej korzysta żeby ją rozbudować czy w ogóle uruchomić, i jaki ma związek z całością programu? Nie bardzo rozumiem w jakim celu się to H2 stosuje, skoro i tak się pisze w javie np. pod Eclipsem.

0

No masz tutaj jak używać bazę H2 http://www.h2database.com/html/tutorial.html

0

Z punktu widzenia samej javy i programu to te bazy niczym się nie różnią od MySQL/PGSQL/MSSQL/Oracle, no może poza ConnectionStringiem :) Osobiście polecam użycie JPA i nie ruszać JDBC bezpośrednio.

0

Zaciekawiło mnie JPA, także zaraz się wezmę za szukanie bliższych informacji:)
Jeszcze mam takie pytanie: czy mogłabym stworzyć najpierw samą bardzo prostą aplikację, która wykonywałaby działania na plikach na dysku (obsługa danych tylko na tym komputerze, na którym znajdują się dane i aplikacja) a dopiero później zająć się bawieniem w udostępnianie tej aplikacji i plików w sieci? Dużo zmian by było potrzebnych w kodzie żeby udostępnić taką bazę w sieci? Dla początkującej osoby będzie to wymagało dużo pracy (to udostępnianie) czy są może jakieś podstawowe fragmenty kodu, które w tym pomogą?
Naprawdę jestem zielona w tym temacie a troszkę zależy mi na czasie..

0

Jeśli to ma być aplikacja działająca w jednej sieci lokalnej to wygodniejsza będzie tradycyjna baza(np. MySQL) otwarta na całą sieć. Wtedy po prostu łączysz się aplikacją do bazy na innym komputerze. Po prostu inne IP wpiszesz zamiast localhost. Ale jeśli jesteś zielona w temacie baz danych i masz mało czasu to możesz mieć problem z napisaniem tego :)
Od siebie mogę polecić http://helion.pl/ksiazki/enterprise_javabeans_3_0_wydanie_v_bill_burke_richard_monson_haefel,enjab5.htm - bardzo fajna książka. Między innymi jest tam rozdział o JPA

0

Hm, czyli rozumiem, że jest szansa, że skumam o co chodzi po dokładnym jej przeczytaniu?:)
Napisanie aplikacji nie powinno stanowić dla mnie problemu, tylko jakoś samej zasady działania tej bazy i połączenia jej z aplikacją nie bardzo umiem pojąć.

0

Mi pomogła zrozumieć JPA :) Polecam ci też dodatkowo poszukać informacji czym właściwie jest ORM no i o samym JDBC też pewnie by się przydało poczytać.

0

:) Dzięki, zaraz się wezmę za czytanie:)
Jeszcze tak na szybko prosiłabym o odpowiedź na nurtującą mnie sprawę:
Da się w Javie dostać do plików udostępnionych z innego komputera za pomocą jakiejś aplikacji? Żeby nie robić tego ręcznie przez grzebanie w udostępnionym dysku tylko np odpalić aplikację, która by się tym zajęła.

0

Wszystko zależy od tego jak udostępniasz. Jeśli po SMB to tak samo jak plik lokalny, jeśli po HTTP to są strumienie do obsługi takich plików. Napisz jak chcesz to udostępniać. Ale jeśli myślisz o udostępnianiu jednowarstwowej bazy danych typu H2 to jest to bardzo zły pomysł. Po prostu postaw serwer DB.

0

Myślałam o SMB. Dostęp z innych komputerów do głównego kompa z danymi ma się ograniczać tylko do podglądu znajdujących się tam plików bez możliwości ich zmian czy dodawania nowych plików do bazy (w sumie samo otwieranie tych plików). Chodzi głównie o ułatwienie szukania i przeglądania znajdujących się tam plików. Wpadłam na być może trochę dziwny pomysł żeby po prostu na tych zewnętrznych komputerach umieścić aplikację, która by się tym zajmowała. Wydaje mi się, że to będzie mnie kosztowało mniej wysiłku niż uczenie się od podstaw tworzenia baz danych a przy ogromnej ilości danych będzie też dosyć sprawnie działać. W Javie można przecież napisać całkiem ładną i zgrabną aplikację do podglądu i szukania danych z dysku lokalnego. A jeśli SMB dałoby się tak obsłużyć to to znacznie ułatwia całą zabawę.

0

Zachowanie plików udostępnionych po SMB niczym się nie różni od tych lokalnych, mają po prostu inny URL. Ale mimo wszystko namawiałbym do nauczenia się baz danych :)

0

O, to fajnie, czyli taki patent mógłby się udać. Dzięki wielkie :)
A za bazy i tak się wezmę ale na spokojnie i powoli. I z tej okazji pewnie też się tu jeszcze pojawię ;P
Bardzo dziękuję za wszystkie rady! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1