Newsgroup: it.comp.lang.delphi
Titolo: Quale DataBase?!?

Salve a tutti!!!
Mi volevo accingere a scivere il mio primo programma basato su DB, ma
non ne so proprio niente :-(((
Mi piacerebbe sapere quindi quale e' preferibile usare, visto che
Delphi ne supporta un fracco, e non ho idea delle differenze.
Il programma che vorrei realizzare non dovra' fare grandi operazioni
sui dati nel DB, ma mi piacerebbe che usasse un DB portabile (nel
senso leggibile anche con altri programmi/piattaforme), e magari free
se ci sono delle soluzioni che valgono...
E soprattutto, ci sono dei tutorial on-line che facciano da
introduzione all'uso dei DB in Delphi? ...in particolare proprio sulla
loro logica di utilizzo/funzionamento, che mi e' completamente ignota
(ho provato a pasticciare da solo, ma non son venuto a capo di
nulla...)
Grazie!
Bye!
-- 
        <<* VeGeTa_CuBe *>>
 
http://members.xoom.it/vegeta3/

<<* VeGeTa_CuBe *>> ha scritto:

La risposta è una = Firebird
vai su 
www.firebirdsql.it
Ciao by Enzo
www.scozzaro.it

 nulla...)
se quello che ti manca la teoria sui database, e' meglio se inizi a studiare
da un buon libro di informatica prima di mettere le mani sulla tastiera.
Anzi, la tastiera dimenticatela proprio per un paio di mesi :)

 se ci sono delle soluzioni che valgono...
[CUT]
Firebird, e non ci pensi più! (Sembra una pubblicità vero?)
Ciao Daniele

Anzi, la tastiera dimenticatela proprio per un paio di mesi :)
Ma, insomma, non pernso di aver bisogno di studiare su libri x quello
che devo realizzare, almeno x ora... conta che ho imparato delphi dopo
aver letto solo un piccolo tutorial on-line (consigliatomi su questo
NG) che pero' all'epoca non aveva la parte sui DB, che cmq era
prevista (ma ora non ricordo + il nome, e' stato 2 anni fa...), e
prima conoscevo solo pascal base base x dos, quindi niente OO o
interfaccia grafica ;-)
Quello che mi serve, mooolto brutalmente, e' sapere in che ordine
aggiungere al progetto i vari elementi del DB presenti in Delphi, e
sapere come leggere e scrivere sul DB in maniera elementare... in modo
da poter iniziare a creare qualcosa di funzionante x poter fare delle
prove, il resto lo scopriro' da solo ;-)


)

InterBase Express (IBX), più performanti.
Grazie, gli daro' una lettura!


 Posso chiederti perche'? E' complicato? Funziona male?
Io lo scarto principalmente per una questione di prestazioni e una certa
scomodità d'uso (odio gli alias). :-)


qualcosa di gią esistente e collaudato.
Mah, ti diro', non e'tanto il fatto di dover salvare che mi ha spinto
a pensare di usare un DB, quanto lo speranza che ci fosse (coi DB) una
funzione automatica di ordinamento... c'e' vero?!? ;-)


 funzione automatica di ordinamento... c'e' vero?!? ;-)
Io uso dbExpress + FireBird: puoi ordinare i dati sia sul server prima
della ricezione (specificando uno statement SQL appropriato) oppure sul
client.
Io uso il componente TClientDataSet per rendere i dati modificabili ed
eseguire le query di aggiornamento appropriate sul server sfruttando il
componente TDataProvider.
Attraverso degli indici opportunamente definiti, il ClientDataSet può
ordinare i dati in diversi modi differenti selezionabili definendo
l'indice da utilizzare.
Come è stato più volte riportato su questo NG, forse il riferimento più
valido e "pubblico" sul componente TClientDataSet e sulle sue
funzionalità si trova nella "soapbox" del sito Borland, nella colonna
redatta da Cary Jensen:
http://community.borland.com/soapbox/professionaldeveloper/
Leggere...per credere.
Ciao!


> Io non userei il BDE nemmeno per la più semplice delle applicazioni.
io invece ad un principiante non consiglierei mai Firebird, vista la
complessita' intrinseca e la necessita' imprescindibile di usare l'SQL. Per
carita', poi magari il principiante in questione e' in gamba e se la cava
comunque, ma se deve fare una rubrichetta telefonica con due criteri di
ordinamento, meglio se va su qualcosa di semplice che mette in piedi con due
righe di codice e senza doversi studiare manualoni.

righe di codice e senza doversi studiare manualoni.
Access, ad esempio.
Per una rubrica e' piu' che adatto.
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 Per una rubrica e' piu' che adatto.
sono d'accordo. Sempre che il principiante abbia installato Office e conosca
gia' l'SQL, altrimenti meglio il classico (ed elementare) Paradox.

 doversi studiare manualoni.
E' vero che FireBird nasconde sicuramente delle complessitŕ che sono tra
l'altro "esterne" al suo uso in Delphi (ad esempio, la creazione di
trigger e stored procedure), ma considerando che l'SQL deve essere
affrontato non appena si desidera effettuare un ordinamento dei dati,
anche nella piů semplice delle query con BDE, tanto vale studiarlo per
applicarlo efficacemente ad un database server piuttosto che ad un
database file based e obsoleto, nonchč poco performante.
Se la semplicitŕ di utilizzo rappresenta poi un fattore davvero cosě
critico, volendo semplificare le cose al massimo lavorando con una
soluzione file based facile e immediata, adatta a salvare una ristretta
mole di dati, allora adotterei solamente il componente ClientDataSet,
introducendo gli indici che servono per ordinare i dati e salvando su
file separati le tabelle che costituiscono il mio semplice database.
Con questa soluzione nessun c'č bisogno di eseguire statement SQL, non
vi sono alias da configurare, nessun "accrocchio" da introdurre nel
setup del programma per copiare librerie o chiavi di registro, una
portabilitŕ massima e performance accettabili.


Leggendo le vostre risposte mi e' venuto in mente un quesito: se uso
SQL, il mio programma poi richiedera' l'istallazione di altri
programmi per funzionare? o cmq potra' girare da solo cosi' com'e'?
Questo e' un fatto importante, xche' vorrei che fosse il + semplice
possibile da passare da un computer all'altro...
PS: Se puo' servire, il programma che voglio fare non e' una ribrica,
ma un programma che stila diverse classifiche in base a diversi
punteggi ricevuti dai nominativi...


 punteggi ricevuti dai nominativi...
Una domanda: il tuo programma prevede l'accesso concorrente da più
utenti per supportare qualcosa come l'inserimento "simultaneo" dei
nominativi da più postazioni o compiti di questo tipo?
Ciao!


nominativi da più postazioni o compiti di questo tipo?
No no, nulla di tutto cio' :)


 altro (includendo nella clausola "uses" la unit MidasLib), giusto?
Il componente TClientDataSet faceva parte di un gruppo di componenti
(Midas) che veniva incluso nelle versioni Enterprise e superiori di
Delphi; con l'avvento della piattaforma dbExpress, che utilizza
principalmente DataSet di tipo unidirezionale, si è reso necessario
usare il componente anche nelle versioni "minori" per avere la
possibilità di immagazzinare i dati da qualche parte per poter
eventualmente modificarli con una DBGrid o un DBNavigator, ottimizzando
il più possibile gli statement SQL da eseguire per applicare le
modifiche eseguite lato client al database server.
Se assegni la proprietà Provider al CDS, utilizzi il componente per
prelevare dati da un DataSet e memorizzarli in memoria per effettuare
ordinamenti, filtri e apportare modifiche.
Se assegni la proprietà FileName, puoi assegnare al CDS un file esterno
(.XML o .CDS) che contiene struttura e dati di una tabella.
Dai un'occhiata agli articoli che ti ho indicato nei messaggi
precedenti...quelli introduttivi parlano degli ambiti di utilizzo di
questo componente, così puoi verificare subito se fa al caso tuo facendo
il confronto con le tue esigenze specifiche.


 altro (includendo nella clausola "uses" la unit MidasLib), giusto?
se ti interessa un exe da prendere e copiare su un'altra macchina perche'
funzioni, senza deploy di dll, chiavi di registro e pasticci vari, ti
consiglio il DBISAM: e' un motore di database che si integra totalmente
nell'exe, gia' pronto - volendo - per il client-server, e supporta sia l'sql
che l'accesso tramite table e relativi metodi.