Non esiste un database di default in Delphi.
Delphi accede ai dati usando diverse tecnologie, quali BDE (Borland Database Engine), ADO di Microsoft, dbExpress e InterBase Express, nella dotazione standard.
Oltre alle librerie elencate, ve ne sono tante altre fornite da terze parti e installabili in Delphi, completamente integrabili nell'ambiente poichè sfruttano l'ereditarietà, principio della programmazione orientata agli oggetti, per estendere le robuste classi già disponibili e implementate da Borland.
Il database Paradox è uno dei tanti database con i quali si può accedere attraverso il BDE, una piattaforma dichiarata da diverso tempo "obsoleta", poichè discretamente lenta, poco compatta e poco portabile.
Si tratta di un database di tipo desktop, basato su file, pertanto come hai giustamente notato non supporta transazioni e tante altre funzionalità di cui sono invece dotati i database di tipo client/server, come InterBase e FireBird.
InterBase è un prodotto commerciale di Borland, del quale sono stati resi pubblici i sorgenti della versione 6.0 qualche anno fa. In seguito, la Borland ha proseguito lo sviluppo di InterBase in modo chiuso, realizzando le versioni 6.5 e 7.0, mentre dai sorgenti resi pubblici è nato il progetto FireBird, un database (compatibile quasi al 100% con InterBase) a mio avviso molto ricco di funzionalità, performante e sicuro.
Usare un database client/server al posto di un database desktop richiede alcuni accorgimenti poichè il meccanismo di funzionamento è diverso, ma i risultati vengono premiati dall'affidabilità, dalla scalabilità e dalla sicurezza ottenuti.
Io al momento sto utilizzando FireBird: puoi scaricarlo dal sito ufficiale.
Il sito dovrebbe contenere una "Quick Start Guide" per imparare ad usarlo. Uso questo database anche nei progetti più semplici.
All'interno di Delphi, è possibile accedere a FireBird usando sia i componenti IBX (InterBase Express), nativamente progettati per InterBase, con il quale FireBird è compatibile, oppure i componenti dbExpress, una piattaforma dedicata a database server basati su SQL che utilizza driver appositi e pertanto è indipendente dal database server utilizzato.
Come ogni database server basato su SQL, FireBird accetta comandi impartiti in questo linguaggio per interrogare la base dati e statement DDL per definire la struttura dei database con i quali si intende operare. Per semplificare le operazioni di manipolazione dei database esistono dei tool che operano in modo visuale traducendo le azioni compiute dall'utente in statement di definizione della struttura del database e interrogazione dei dati, semplificando così il lavoro di manipolazione.
Uno tra i più potenti - a mio avviso - è IB Expert, del quale si può scaricare sia una trial che un'edizione Personal dal sito ufficiale.
Ultima raccomandazione, ma non meno importante: procurati della documentazione acquistando libri che trattano questi argomenti oppure cercando materiale su Internet, fruibile soprattutto in lingua inglese.
Prima di iniziare ad utilizzare componenti e database, credo sia necessaria una buona visione d'insieme sulle relative problematiche.
Purtroppo il discorso, come vedi, è particolarmente esteso e complesso, quindi non ho il tempo di dilungarmi oltre.
Ciao!![]()


Rispondi quotando