Tworzenie archiwum i wyszukiwarka

0

Witam,
Nie mam pojęcia, czy był tutaj już taki temat, ale jestem ciekaw następującej sprawy. Mianowicie mam za zadanie napisać archiwum dokumentów i interesuje mnie wasz zdanie odnośnie w jakim formacie napisać plik przetrzymujący informacje na temat archiwum - XML czy SQL. Dodam, ze program ma być odpalany w komputrze, który nie ma zainstalowanego Delphi. Dodatkowo program ma posiadać wyszukiwarkę, która po wpisaniu danej frazy znajdzie odpowiadający jej dokument? Czy takie coś jest możliwe w delphi? Pewnie tak, jakbyście mogli podrzucić jakiś temat, który jest związany z tym.

Za wszelkiego rodzaju nie domówienia z góry przepraszam i jeżeli temat się powtórzył.

Pozdrawiam!

0
cleim_3103 napisał(a):

Witam,
Nie mam pojęcia, czy był tutaj już taki temat, ale jestem ciekaw następującej sprawy. Mianowicie mam za zadanie napisać archiwum dokumentów i interesuje mnie wasz zdanie odnośnie w jakim formacie napisać plik przetrzymujący informacje na temat archiwum - XML czy SQL.

Jeżeli informacje o archiwum będą ustandaryzowane, czyli każdy dokument będzie opisany w ten sam określony sposób to baza danych.
Jeżeli nie - to baza danych się średnio nadaje, no chyba że będzie to baza typu NoSQL.

Dodam, ze program ma być odpalany w komputrze, który nie ma zainstalowanego Delphi.

Nie ma żadnego znaczenia, Delphi to nie .NET ani Java :D

Dodatkowo program ma posiadać wyszukiwarkę, która po wpisaniu danej frazy znajdzie odpowiadający jej dokument? Czy takie coś jest możliwe w delphi?

Oczywiście.

Pewnie tak, jakbyście mogli podrzucić jakiś temat, który jest związany z tym.

Z tym, czyli z czym? Bo napisałeś tak ogólnie, że nie ma się do czego odnieść...
Jeśli chcesz napisać aplikację obsługującą bazę danych o dokumentach - to proszę bardzo, pisz! :)

0

Jaka jest ilość danych? Jaki jest ich miesięczny przyrost?
Wszystko zależy od tego ile tych danych jest.

Aplikacja teraz jest bazodanowa czy nie?
Jeśli aplikacja nie jest bazodanowa to pchanie archiwum do bazy jest bez sensu.
Co najwyżej dobrze byłoby zrobić indeks na bazie (np. SQLite).

Jeśli natomiast aplikacja jest bazodanowa to archiwum można wykonać na kilka sposobów.
Najprościej: przerzucać archiwizowane dane do osobnej tabelki i wyszukiwać z obu (unia).
Zaleta: zwiększa się wydajność codziennych operacji OLTP.
Wada: ograniczone zastosowanie (przy pewnej liczbie rekordów przestaje to mieć sens).

0

Dane muszę na razie wprowadzić, bo są one w postaci segregatorów na półkach. Jest około 200(i stale rośnie) segregatorów, i to ma być tylko wyszukiwane po dwóch frazach, żeby wiedzieć gdzie na jakim regale się znajduje dany segregator.

Bazodanowa?

0

tak, bazodanowa bo nie będziesz przecież przechowywał skanów tych dokumentów.
A gdybyś musiał - to i tak bazodanowa ze wsparciem dla FileStream.

0

tam ma być tylko tekst: który regał, półka i nazwa dokumentu i nic więcej? To co polecacie? XML?

<quote="1060375">

cleim_3103 napisał(a):

Z tym, czyli z czym? Bo napisałeś tak ogólnie, że nie ma się do czego odnieść...
Jeśli chcesz napisać aplikację obsługującą bazę danych o dokumentach - to proszę bardzo, pisz! :)

Chodzi mi o wyszukiwarke - z tym. Generalnie program będzie miał cały czas ten sam schemat. Regał półka nazwa dokumentu. Chodzi o to, czy na XML zdziałam coś, czy raczej coś lepszego polecacie i prostszego e ewentualnej edycji. Jeżeli tak, to proszę o podanie. Również byłbym wdzięczny jakby któryś z kolegów przedstawił lub podesłał link do strony gdzie jest omawiany temat wyszukiwarki.

0
  1. Baza danych będzie najprostsza.
  2. Wyszukiwarka? Zacznij od najprostszej metody, czyli od LIKE - poczytaj sobie jak się tego używa i co to jest.
0

Czyli danych będziesz miał ok. 3x300x100 pól powiedzmy po 30 znaków, tj. 2.5 MB danych.
Wystarczy zwykła baza danych.

Zajrzyj tutaj:
Jakiej technologii użyć? BAZA DANYCH
http://4programmers.net/Forum/Delphi_Pascal/104790-Delphi_Firebird_Embedded_i_ZEOS_-_brak_polaczenia
InterBase i Delphi 7 - programowanie baz danych

oraz
http://www.flamerobin.org/

0

Baza danych - to ja rozumiem SQL, tak?

0

Tak jest "SQL"; dla Delphi najprostszym i darmowym rozwiązaniem będzie pewnie Firebird SQL Server.
http://www.firebirdsql.org/en/server-packages/#Win32

Do jakiej wersji Delphi masz dostęp?
Aplikacja ma działać na jednym komputerze czy w sieci?

0

Na dwóch komputerach, góra trzech. Nie byłoby lżejsze działanie w sieci? czy za bardzo skomplikowane?

0

Tak jak pisali przedmówcy , postawisz sobie bazę na serwerze , a na tych dwóch czy trzech komputerach będzie odpalana aplikacja,
która będzie się łączyła z bazą danych i na niech pracowała .

0

A ta baza to zwykły SQL? Mógłby mi powiedzieć ktoś jak obsłużyć Firebird?

0

Firebird to system zarządzania bazą danych , pobierasz go z ** http://www.firebirdsql.org/en/downloads/ **
a następnie instalujesz . Do tworzenia bazy , tabel , zapytań etc masz ** http://sourceforge.net/projects/flamerobin/files/ **
to już jest taki programik w którym się to wszystko robi za pomocą kreatora

0

O ile dobrze pamiętam, to podczas instalacji friebirda jest tam do wyboru, aplikacja czy usługa - co wybrać? Jakbyś mógł jeszcze opisać spsób konfiguracji flameRobin

0

Ja u siebie mam zainstalowanego firebird'a jako usługę .
co do flamerobina to instalacja przebiega w zasadzie tak jak każdego innego programu .
Pierw sobie zainstaluj firebirda a następnie flamerobina.

Odnośnie flamerobina możesz się zapoznać z tym :

może to ci rozjaśni sytuacje :)

0

a możecie mi jeszcze podpowiedzieć jak wczytać tekst z pliku xml. Bo jestem na etapie wczytywania pliku xml i wczytuje mi tylko znacznik, nic więcej.

0
XML:=LoadXMLDocument('D:\Moje dokumenty\program archiwum\baza1.xml');
XML.Active := True;
  begin
  for i:= 0 to XML.DocumentElement.ChildNodes.Count - 1 do
  memo1.Lines.Add(XML.DocumentElement.ChildNodes[i].Attributes['Regal']);
  end;

XML:

<?xml version="1.0" encoding="UTF-8"?>
<Archiwum>
  <Regal nr="1"> 1 
    <poziom>Poziom 1
		<segregator>Nr 1
			<sprawa nr ="sprawa"></sprawa>
		</segregator>
	</poziom>	
  </Regal>
</Archiwum>

dodanie znaczników <code class="delphi"> i <code class="xml"> - furious programming

Nie chce zeby mi czytał nazwy znaczników, tylko tekst, ktory jest w obrębie znacznika. Szczerze powiem, że mam pierwszy raz styczność z XML w delphi jak i z SQL.

Doszedełm do momentu gdzie wczytuje mi sie artybut pierwszego poziomu, czy wiecie jak dostac się głębiej w pozostałe poziomy: "poziom", "segregator" "sprawa"?

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