PDA

Visualizza la versione completa : [DELPHI] Soluzioni per l'accesso ai dati


verardoelvis
17-05-2004, 09:43
:bhò: Ciao, sto tentando di imparare delphi e ho capito (aiutatemi voi!) che di default si può utilizzare il suo db incorporato chiamato Paradox. Se non sbaglio non è un buon db, perchè non supporta transazioni, ecc. e mi è stato detto di usare interbase che ora dovrebbe chiamarsi firebird. Inoltre mi hanno detto che si può scaricare da internet e con lui (il motore) anche un utility grafica che aiuta a creare le tabelle. è tutto verò ciò che mi hanno detto? sapete indicarmi i link per poterlo scaricare? illuminatemi per favore? :master:
grazie

alka
17-05-2004, 10:00
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 (http://www.firebirdsql.org).
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 (http://www.ibexpert.com).

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! :ciauz:

verardoelvis
17-05-2004, 10:42
grazie. Secondo te, vale la pena imparare Delphi?
Sono andato ad una presentazione di un corso e il tipo che spiegava ci ha fatto vedere come lui programma usando i componenti aggiuntivi e per fare una piccola applicazione (3 tabelle) avrà scritto 10 righe di codice. Tutto il resto con i componenti. Ma è una programmazione corretta? Mah, se mi puoi dare qualche consiglio...GRAZIE MILLE

alka
17-05-2004, 11:01
Originariamente inviato da verardoelvis
Secondo te, vale la pena imparare Delphi?
Non mi ricordo se l'hai proposta tu o qualcun altro, ad ogni modo questa sembra essere la più frequente delle domande, tra l'altro senza una risposta. :)


Originariamente inviato da verardoelvis
Sono andato ad una presentazione di un corso e il tipo che spiegava ci ha fatto vedere come lui programma usando i componenti aggiuntivi e per fare una piccola applicazione (3 tabelle) avrà scritto 10 righe di codice. Tutto il resto con i componenti. Ma è una programmazione corretta? Mah, se mi puoi dare qualche consiglio...
Immagino si tratti di una presentazione della Borland. :)

Ad ogni modo, le applicazioni che vengono costruite ai seminari sono molto semplici, quindi fanno poco testo per quanto riguarda i "casi reali" di applicazione; tuttavia, è anche vero che i componenti, le librerie e le piattaforme fornite con Delphi riducono notevolmente i tempi di sviluppo poichè costituiscono una soluzione già pronta per risolvere le problematiche di accesso ai dati.

Ovviamente, il programmatore deve poi provvedere ad introdurre tutto il codice rimanente per rendere l'applicazione specifica per la risoluzione del proprio problema.

Non capisco cosa intendi per "programmazione corretta".

Ciascun linguaggio e/o ambiente di sviluppo rappresenta uno strumento, prodotto da terzi, che ha lo scopo di velocizzare la realizzazione di un'applicazione software; se qualcuno, come Borland, ha già sviluppato e introdotto componenti in grado di implementare molte delle necessità che sono richieste nello sviluppo di un software, non ci trovo nulla di male.

Le problematiche dello sviluppo software sono inoltre vastissime, quindi credimi che non sarà sufficiente, nella maggior parte dei casi, appoggiare due componenti e collegarli tra loro per funzionare.

Non per niente, anche qui in azienda tengo spesso corsi privati e individuali su argomenti che, all'esterno, vengono affrontati in 1 ora, magari accennati, mentre si potrebbe tranquillamente dedicare loro 1 settimana intera di trattazione. :)

Per la risposta definitiva, insomma, ripeto quella che avevo già dato in questa discussione (http://forum.html.it/forum/showthread.php?s=&threadid=650547).

Secondo me, Delphi è un valido compromesso tra gli ambienti di sviluppo per piattaforma Win32; al di là della dotazione dei componenti, il linguaggio è semplice, ma potente in quanto supporta pienamente la programmazione ad oggetti e pertanto consente al programmatore di organizzare meglio il proprio progetto e di estendere i componenti disponibili creandone di propri, onde ridurre al massimo la duplicazione di codice e quindi lo spargersi di errori, magari aggiungendoli alla Palette dei componenti e riutilizzandoli in più applicazioni, le quali possono allo stesso modo essere sviluppate secondo i principi dell'OOP che si applicano anche a livello di "progettazione visuale" dell'interfaccia.

Insomma, un ambiente molto valido e da scoprire. ;)

Loading