Newsgroup: it.comp.lang.delphi
Titolo: Sviluppo applicazione con D2011 XE e scelta DB

Salve a tutti
Sto iniziando lo sviluppo di applicazioni con Delphi 2011 (sono alle
prime armi) e devo valutare quale DB utilizzare e quale "tecnologia"
per l'accesso al DB (considerando tool che supporteranno i 64bit)
ho letto in giro di varie possiblità tra MS SQL , MYSQL , FIREBIRD etc
e i vari ADO , dbexpress e "terze parti" gratuite e no
sono un po confuso in quanto non riesco a fare una valutazione
chiara , volevo chiedere qualche consiglio agli esperti che hanno già
sviluppato gestionali con Delphi
l'applicazione dovrebbe gestire in rete un DB che arriva a massimo
10000 record per anno , stavo pensando di separare il DB uno per ogni
anno per semplificare la gestione dei dati vecchi
ho la necessità di creare un tool di visualizzazione/scorrimento dei
dati per l'utente finale dove , con varie selezioni, poter
visualizzare solo una parte dei record e su questi poter effettuare
direttamente modifiche , cancellazioni e duplicazioni
attualmente ho un programma che fa questo e che ha un tool di
visualizzazione avanzato che scorre i record "in tempo" reale , cioè ,
nel caso di installazione in rete , se un utente inserisce o aggiorna
da altra postazione un nuovo record e questo rientra nella query di
ricerca dell'utente che sta scorrendo i record, quest'ultimo se lo
ritrova direttamente nel suo "scorrimento" appena preme un tasto (up,
down)
vorrei chiedere consigli su quale DB dirigermi e con quale tipo di
accesso
in generale se ho capito bene dbexpress rende indipendenti dal DB ma
richiede l'acquisto di una licenza più costosa di Delphi
mi sono state suggerite soluzioni del tipo MYSQL , ma sostanzialmente
la mia applicazione non sarà weboriented. sono anche un po scettico su
MYSQL che è gratuito ma non lo è in realtà quando si vende una
applicazione a terzi (se ho capito bene)
oppure MS SQL express che è gratuito fino a 5 postazioni (dovrebbero
bastare salvo qualche caso raro)
trovandomi a sviluppare ex novo stavo pensando di evitare di
utilizzare ADO (o altri tool terzi gratuiti e non) x evitare in un
prossimo futuro di dover "correggere e portare" verso dbexpress
in ogni caso considerando la capacità della tecnologia/db di
scorrimento dei record
so che ci sono anche molti tools di terze parti (gratuiti e non )ma
bisognerebbe avere esperienza in merito per poterli valutare
grazie per gli eventuali consigli
saluti
Alessandro

Accesso dati : IBX/Zeos
Forse pi� Zeos che IBX cos� ti sleghi dal motore db.
Database : Firebird
Pro:
- Gratuito per tutte i tipi di programmi che vuoi creare
- Di facilissima manutenzione
- Multipiattaforma (il server pu� anche essere Linux il che ha i suoi 
vantaggi)
- Leggero e veloce (almeno per le necessit� che hai descritto)
- � client/server (niente directory condivise, basta conoscere l'IP del 
server dove gira il servizio di FB e l'alias assegnato al db o, in 
alternativa, il suo percorso)
- Buona documentazione
Contro:
- Un client installato su ogni PC che si connette (non � un "contro" ma 
� una necessit�)
- � client/server (devi studiarti le transazioni altrimenti il prossimo 
messaggio che posti sar� "Come mai il client X non vede quello che salva 
il client Y?" :) )
- Dovrai sostenere inutili discussioni con quelli che continueranno a 
dirti "Ma come?! Non usi XXXSiquel?! Ma � meraviglioso, potentissimo, 
ultrafighissimo, stravelocissimo, va bene anche per le uebapplicascions" 
(a me capita ad ogni nuovo progetto e quelli che m'hanno detto la frase 
si ricredono sempre alla fine)
Se non si fosse capito uso FB + IBX/Zeos da tempo e non ho mai avuto 
ragione di cambiare.


Usi la versione unicode?
Se posso, come ti trovi?
la trovi abbastanza affidabile per la produzione?
Io sto usando la 6.6.6 ma con D5
Grazie, ciao.

 il client Y?" :) )
Questo mi interessa: stai dicendo che con zeos c'� un meccanismo di 
obesrving che mostra i dati live proprio come il caso proposto dall'OP ?
Cio�, mentre scorro il dataset, se un altro client aggiunge un record, 
me lo ritrovo automaticamente nella mia griglia ?
Con l'adodataset per vedere il record aggiunto bisognava farsi un "refresh".
-- 
morde
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database


Zeos o IBX c'entrano poco.
Ci� che pu� rendere immediata la visualizzazione della modifica operata 
ad una tabella dopo il Commit (o il CommiRetaining) � il sistema di 
eventi di Firebird.
L'applicazione rimane in ascolto di questi eventi tramite un componente 
(negli IBX c'� TIBevents) e quando arriva l'evento opera le azioni 
richieste.

 Io sto usando la 6.6.6 ma con D5
Io l'ho usata con D7 per un mio personale software di conversione 
archivi Access -> FB visto che ero stufo di scrivere un software apposta 
per ogni conversione.
L'ho fatto pi� per curiosit� che per vera necessit� e prima o poi 
compir� il grande passo di sostituire i componenti IBX con Zeos in tutti 
i miei progetti.
Per ora vale ancora il detto "se funziona non toccare". :)

 anno per semplificare la gestione dei dati vecchi
Questo dipende da cosa ci sar� negli archivi dei singoli anni.
Non si pu� dare un consiglio in un senso o nell'altro.
Io ho iniziato un progetto nel 1997 (peccato di giovent� :) ) dividendo 
gli archivi per anni ed ora sto pensando di riunire tutti gli archivi in 
un unico db. In tutti i progetti nuovi, memore dell'errore, parto sempre 
con un unico db e divido gli anni all'interno del db segnando 
l'appartenenza dei vari record all'anno (fatture, movimenti, 
rottamazioni ecc...).
Per farti un esempio legato al progetto del 1997 io identifico ogni 
materiale con un ID automatico generato da FB. Nei vari anni lo stesso 
ID pu� fare riferimento a materiali diversi perch�, nel periodo di 
passaggio, vengono creati nuovi materiali sia nell'anno precedente sia 
in quello attuale. Il programma opera solo in un anno alla volta e 
quindi non ci sono problemi ma � un problema al quale devo porre rimedio 
per poter unire tutto insieme.
Tieni conto, poi, che se vuoi far usare pi� ambienti (come capiter� 
senz'altro) dovrai memorizzare da qualche parte (TXT, INI, altro db,...) 
i percorsi (o gli alias). Usando un solo db, invece, hai un unico 
percorso (o alias) e puoi far gestire l'anno pi� semplicemente. Inoltre 
fai il backup di un solo db.

 richieste.
Ok ho capito: � proprio quello che voglio fare anche io per il mio 
programma in qt.
http://www.firebirdsql.org/file/documentation/papers_presentations/Power_Firebird_events.pdf


 richiede l'acquisto di una licenza più costosa di Delphi
Questa cosa e' vera in parte.
Se hai la stessa struttura di tabelle e stored procedure che hanno gli
stessi parametri anche se il codice sorgente e' diverso, SI.
Ma va detto che non tutti i db sono uguali...
Oracle, Db2 e Firebird hanno sequences/generators, ma SqlServer di
certo fino a qualche versione fa questa cosa non l'aveva...
Ergo, se hai una stored procedure su un db Oracle che usa una
sequence, per spostarla su SqlServer dovrai inventarti TU qualcosa per
calcolarti un ID...
Generalizzando, l'accesso ai dati e' solo un pezzo.
Anche la applicazione dovrebbe eve essere *pensata*, progettata e
scritta per essere indipendente dal db.
Questa cosa si chiama MDA (Model Driver Architecture).
A.

Aggiungo una cosa: il crosspost non e' bello.
A.


Salve a tutti, mi inserisco perchï¿œ non riesco proprio a capire come non 
venga preso in considerazione Postgresql (o Postgres).
Ha una potenza paragonabile a Oracle, gira su Windows e su Linux, ha 
una comunitï¿œ molto attiva (vedi versione 9.1 che ha cose strabilianti) 
ed ï¿œ completamente gratuito.
-- 
Trasformare i sudditi in cittadini ï¿œ miracolo che solo la scuola puï¿œ 
compiere. (Piero Calamandrei)

 venga preso in considerazione Postgresql (o Postgres).
Per il tipo di applicazione che è stato indicato, ci si può stupire di qualsiasi database non venga citato, data la genericità della richiesta. :)
-- 
Marco Breveglieri
   (
http://www.marco.breveglieri.name
)

 completamente gratuito.
Sono interessato a postgres: hai qualche link di 
risorse/community/gruppi in italiano ?


 italiano ?
Non ho link a risorse in italiano. In genere la documentazione e 
qualche forum come stackoverflow ecc. mi sono sufficienti a risolvere i 
problemi, ma sono in inglese.



Tu dici che non si possono escludere nemmeno dbIII, dbIV e FileMaker? :)

 qualsiasi database non venga citato, data la genericitï¿œ della richiesta. :)
In realtï¿œ mi riferivo in generale. Postgres ï¿œ un db ignorato e non ne 
comprendo francamente il motivo.
Lo uso da anni in applicazioni impegnative e ho avuto solo 
soddisfazioni. L'unica cosa ï¿œ che, con Delphi ho camprato il PgDAC 
della Devart cosï¿œ ci accedo direttamente.


Allora aggiungo qualche dettaglio in piu e ringrazio tutti x il
momento...... divertente è vedere che il post "viaggia da solo" verso
altri ambiti non richiesti !!:) cmq.
So cosa sono le transazioni ma non ci ho mai avuto a che fare quindi
al momento ignoro tutte le fasi necessarie per far si che il db si
aggiorni dopo che l'utente ha convalidato un form e renda disponibile
il record anche agli altri utenti che , se ho capito bene , dovranno
cmq rieffettuare la query per vedere il record ? oppure , ad esempio,
alla pressione di un tasto o ogni x secondi l'altro client puo
controllare se il db è stato modificato e rifare da se la query
aggiornando il dbgrid ?  (cosi attualmente lavoro)
Si parla di 10000 record x anno e fortunatamente non ho mai avuto
necessità di confronti con gli anni passati. Se l'utente ha necessità
entra nel vecchio archivio che semplicemente di chiama 200x.dat
potrebbe essere un vantaggio ma , anche uno svantaggio nel caso le
dimensioni del DB sono uniche e non archiviabili per anno mettendone a
parte "pezzi alla volta". Avendo un DB unico consente di effettuare
ricerche e confronti su tutti i record ma anche avere un db enorme e
che dovrebbe essere piu lento nelle ricerche immagino? !
normalmente ho 2 o 3 utenti che simultaneamente inseriscono record ma
parliamo di 1 record ogni 5/10 minuti piu varie funzioni di ricerca
sul db per duplicare record etc. Potrei arrivare ad un massimo di 10
client che fanno ricerche e inseriscono sempre 1 o 2 record ogni 5
minuti e quindi "quest'è"
altro parametro per me importante è la longevità. Ovvio che MS SQL non
morirà mai se non per il nome che ha e che varierà nel tempo ...... e
i suoi driver nativi e qui mi viente in mente Firebird e forse anche
Postregre ma ripeto non ho esperienze in merito
Parametro fondamentali sono la longevità+la possibilità di avere
facilmente su 5000 record una estrapolazione degli stessi in una
DBgrid che ad esempio si autoaggiorna sul pc-utente1 se qualcuno da
altra postazione aggiunge un record che rientra nella ricerca fatta
dall'utente pc-utente1. Se pc-utente1 duplica uno dei 5000 record
ritroverà automaticamente il nuovo record nella sua ricerca e puo
entrarci in modifica.
(considerando ovviamente la mia mole di dati e gli accessi simultanei)
Quello che mi preoccupa è che attualmente i moderni SQL hanno una
serie di funzioni che forse a me non servono (tipo gestione controllo
etc) e mi complicherebbero solo la vita nel caso di crash macchina che
danneggia il db o crash applicazione che danneggia sempre il db. Io ho
un "archivio pratiche" con 100 campi e faccio ricerche su 15 di questi
(campi numerici o testo da 35 caratteri max). Ognuna di queste
pratiche puo avere da 1 a 100 sottopratiche collegate alla pratica
madre.

 altro parametro per me importante � la longevit�.
Longevit�... longevit�...
Allora vediamo:
- dBase (dbIII, dbIV e Clipper 1987-1997)
- Access (VB, Delphi 1994-2011 ebbene s�, lo ammetto, ho ancora qualcosa 
in Access, ma sto cercando di smettere :) )
- DB2 (2001 un unico progetto)
- Paradox (brevissima parentesi tra Access e Firebird)
- MSSQL (2002 guardato e lasciato subito da parte a favore di Firebird)
- Firebird (2002-2011)
S�, il concetto di db � longevo. :)
Se trovi qualcosa di meglio � ovvio che porti i tuoi dati verso altri 
lidi dove possono essere gestiti meglio, altrimenti saremmo ancora tutti 
ai file di testo. :)

 risorse/community/gruppi in italiano ?
Qua trovi la mailing list: 
http://lists.psql.it/mailman/listinfo/postgresql-
it
Enrico

 Qua trovi la mailing list:
:/
http://lists.psql.it/mailman/listinfo/postgresql-it
Enrico

 è una necessità)
Uh? Non dovrebbe bastare fbclient.(dll|so) e amen?
Enrico


Sì.
L'ho messo nei "contro" perché, anche se è un solo file, è pur sempre 
qualcosa da fornire che sul PC del client non è detto ci sia.
È qualcosa a cui pensare quando si crea l'installazione, insomma.

 - MSSQL (2002 guardato e lasciato subito da parte a favore di Firebird)
posso chiederti come mai ? che parametri di valutazione hai usato


Infatti
sempre perchè sono completamente allo scuro  volevo chiedere :
per utilizzare un DB
bisogna :
1) installare il motore del DB su un server e accerdervi tramite IP
(l'ho visto fare 1 volta con MSSQL)
2) installare il motore in locale nel caso di installazione su singola
postazione ?
3) installare eventuale client oppure DLL come per FB per dialogare
via ANYDAC con il client del DB
giusto ?
Ma il DB come si crea la prima volta ? ci sono tool stesso del DB che
consentono la creazione la prima volta ?
se in futuro c'è bisogno di aggiungere campi al record bisogna
progettare routines ad hoc oppure ci sono funzionalità apposte già nel
motore ?

Mi piacerebbe sentire anche il parere di qualcuno che usa in maniera
soddisfacente MSSQL
tra l'altro mi chiedevo, se ho 6 postazioni nel caso di MSSQL EXPRESS
posso cmq utilizzare ma non accedere contemporaneamente in 6 al DB
immagino
ma ......se volessi acquistare una licenza del DB per max 10 utenti
qualcuno puo dirmi quanto potrebbe costare ?

 motore ?
Io faccio tutto a livello di codice anche perch� non ho accesso fisico 
al server.
In una try...except controllo che il campo che devo creare esista gi�, 
se cos� non � lo creo tramite ALTER TABLE...
Se devo creare una tabella nuova controllo, tramite un TIBDatabaseInfo, 
che esista un unico utente connesso e se � cos� creo la tabella sempre 
tramite SQL, altrimenti esco dal programma e dico all'utente di far 
sconnettere gli altri.
La "funzionalit� apposte gi� nel motore" si chiama SQL 
(
http://en.wikipedia.org/wiki/SQL
) che � standard... quasi. :)

 qualcuno puo dirmi quanto potrebbe costare ?
Qui passo. Le licenze MS sono diventate esame obbligatorio nei master di 
enigmistica avanzata. :)

 qualcuno puo dirmi quanto potrebbe costare ?
...un rivenditore...?

 posso chiederti come mai ? che parametri di valutazione hai usato
Prezzo ed elefantiasi del motore.

 qualcuno puo dirmi quanto potrebbe costare ?
La versione pi� economica che vedo nel listino ms segna 1.221,95 al 
netto di iva.
Effettivamente come gi� fatto notare da Warp10 il licensing MS � un 
rebus quindi non vado oltre, prendila come un cut&paste.
Segui i consigli che ti hanno gi� dato su FB/Postgresql che � meglio e 
non solo per il prezzo.
-- 
Design for the future, because it will be here sooner than you think.
(C) Eric S. Raymond, from "The Art of Unix Programming"

>
va bene,  si definisce un Trigger  o StoredProcedure per creare un'evento 
(su Aggiornamento, Inserimento o Cancellazione record) , ma poi qual'e' il 
componente (TDataSetPriver o TClientDataSet) che si fa carico di 
intercettare l'evento ?
usando TSQLConnection, TClientDataSet, TDataSetProvider, TSqlStoredProcedure 
e TDaSource, e sempre con ApplyUpdates(-1), fino a che non faccio un 
refresh, non mi accorgo se un record e' stato variato e eliminato.
Uso Delphi XE, il componente TIBEvent credo usasse un timer per verificare 
le variazioni del db.

Quanta gente nuova che scrive in questo post.....

 le variazioni del db.
TIBEvents e scrivi del codice per gestire l'evento nell'OnEventAlert
Esempio:
if (eventname = 'new_prenotazione') or (eventname = 'del_prenotazione') then
   begin
     main.tbaggiornaClick(sender);
   end;

 Quanta gente nuova che scrive in questo post.....
Se ti riferisci a me ho perso l'attributo di "nuovo" da... oh... da 
prima che tu nascessi. :)

 qualcuno puo dirmi quanto potrebbe costare ?



Tanto, decisamente tanto. Personalmente ti consiglio di utilizzare o 

Firebird o PostgreSQL (preferendo il primo) in modo da non avere alcun 

limite imposto se non quello architetturale della scelta da te fatta (e` 

ovvio che ogni RDBMS ha le sue caratteristiche che lo fanno preferire ad un 

altro RDBMS)



Enrico


 ma la dimensione del DB quindi x le prestazioni non conta ?



Certo che conta. Una tabella che contiene 1m di record e` decisamente piu` 

lenta nel restituire i dati rispetto ad una che ne contiene 1k, soprattutto 

se non vi sono indicizzazioni per la query eseguita



Enrico


 anno per semplificare la gestione dei dati vecchi



Se devi fare per forza una porcata del genere, allora tanto vale che esegui 

un partizionamento logico dei dati su database (ovvero crei una tabella per 

anno) e poi li unisci tramite una vista (non ricordo pero` se Firebird 

gestisce trigger su vista)



Enrico


 record e qui mi sa che "mi faccio male" , dovendoli leggere uno ad uno



Spiegati meglio: cosa intendi per intero record?



 un partizionamento logico dei dati su database



Oracle ha il partizionamento logico ma nei loro documenti invitano a

usarlo se la tabella ha VERAMENTE tanti record....

Data la mole di dati, io accantonerei tutte ste questioni.

Con 10000 record anche SqlServer potrebbe andare... :-D



A.


Allora......  rispondo in un unico post alle varie questioni......e

pongo altri miei dubbi....



1) Alter table per inserire un campo in un db gestito via software dal

client. ok.

Mando il comando e il motore DB ricostruisce il db (con i tempi

debiti) e allo stesso tempo lockko il DB per evitare che altri utenti

vi accendano ? (c'è possibilità di interno lock di un db su FB e

POSTgre? )



2) avevo chiesto pareri sul licensing di MSSQL proprio xke "li

conosco" ....immaginavo il dedalo da districare quindi un parere x chi

aveva già percorso il labirinto ...

In ogni caso mi piacerebbe avere una panoramica completa anche dei DB

non a pagamento.

Un motivo del perchè qualcuno li paga ci sarà?? (a parte il "pushing

politico/requisiti tecnici di winXX".. di microsoft)

magari scopro qualche funzionalità che potrebbe ritornare utile. Non

sono cosi avverso ad acquistare i software di terzi anche i DB (quando

sono accettabili ma sopratutto ne vale la pena o mi servono)



3) Non gestiro' campi blob ma solo date numeri e anche molto testo....

righe da 75 caratteri l'una (per 15 campi e anche piu)



4) pensavo alla "porcata" del dividere il DB proprio per questa

faccenda delle ricerche. Siccome a me sostanzialmente non occorre fare

molti confronti col passato ma invece occorre visualizzare in una GRID

tutti i record che magari in uno dei tanti campi da 75 caratteri c'è

scritto la dicitura "PORCATA" allora gestire questa ricerca su XX anni

con un DB morderno...mi sa che posso lasciare il pc e andare giu al

bar prima di vedere il risultato.

Se ho capito bene si progettano gli indici dall'inizio (questo si fà

all'atto della creazione del DB o anche dopo? magari con quel

FLAMEROBIN citato ?

come faccio ad indicizzare 15 campi che sono da 75 caratteri l'uno ??

mi viene un file indice che non finisce più. e già la ricerca su uno

di questi campi da effettuare su 5000record anno mi sa che ......... i

caffè devono diventare almeno 2 o 3 :) .... ovvio che ipotizzo xke non

ho esperienze in merito

immagino pero' che se devo fare questo tipo di ricercha dovro'

leggermi i record uno ad uno x evitare di avere degli indici

stratosferici su ogni campo da 75car.



Allora a questo punto potrei anche ipotizzare che con l'indice per

anno quantomeno leggo tutti i record uno ad uno ......solo quelli

dell'anno X e quindi forse .... potrei anche pensare di tenere un

unico DB



altro pensiero che facevo è.....se qualcuno come l'antivirus ,,,,il

server che si inceppa ......l'utente che rompe le@@ ..mi sputtana il

DB .....lo farà su tutti gli anni e perde tutto ???







5) richiesta di ulteriore consiglio : attualmente ho un DB fatture, DB

pratiche, DB bolle , DB xxxx, DB yyyyy

che sono collegati tutti da un numero di pratica e hanno ovviamente

dei campii in comune oltre che

in ogni DB ci sono delle tabelle "fisse" (come clienti tariffe etc )

che sono anche in comune ai vari DB

Potrei ipotizzare di mettere tutto in un unico DB ?

la questione è che alcuni utenti usano 4 applicazioni e 4 DB altri

solo alcune. In questo caso non si pone il problema xke alcuni

userebbero tutti i db e altri no che resterebbero vuoti..

Oltrepassate le riflessioni sui costi delle licenze dovrei considerare

la questione delle prestazioni e delle funzionalità specifiche.

Immagino che non è disponibile online qualche documento di qualcuno

che parli di performances

Ora ritorno sullo stesso punto, è il caso di separare i DB principali

anzichè mettere tutti in unico calderone

(sempre per la questione della velocità) ?

Se mettessi tutto nello stesso calderone avrei la sommatoria dei vari

indici cioè indice cliente per le fatture indice cliente per le

pratiche etc etc

Se separo i DB "cosa ci vuole  per andare" ad aprire il DB pratiche ,

prendere una pratica associargli il numero di fattura, aggiornare la

pratica e , un domani dal DB fatture pescare il numero di pratica e

andare ad aprire il DB pratiche con tale numero e cosi "complicato" da

dover scegleire anche qui un DB unico per tutto ?





6) Ultimo quesito e chiudo

Qualcuno conosce forum/siti/documenti dove vengono comparate le

specifiche pecurialità di FB e Postgre ?

almeno potrei farmi una idea se le singole funzioni X o Y mi servono e

quindi poi scegliere... sono cmq orientato su uno dei 2. Ho letto che

FB è il DB piu "vecchio ed utilizzato" da Delphi mentre Postgre è un

DB di data più vecchia ed utilizzato da un numero maggiore di utenti

su varie piattaforme

Mi è stato anche detto che i DB relazionali non si sposano bene con lo

scorrimento in una grid anche se non ne capisco il motivo.





p.s. FB+applicazione delphi  puo essere installato su un sistema

Apple ?  mi pare PostGre si










 Apple ?  mi pare PostGre si



se in questo PS č racchiuso il tuo reale scenario di sviluppo o quello 

operativo dei clienti, allora non c'č scampo: devi usare una macchina 

virtuale. Che io sappia, delphi su MAC non gira nativo.







No era solo l'ultima delle ipotesi nel mio posto ci sono 7 questi

principali .......e cmq il nuovo XE è cross platform .........o almeno

dovrebbe


 usarlo se la tabella ha VERAMENTE tanti record....



Nein, Oracle esegue un partizionamento FISICO dei dati, ovvero la creazione 

di una tabella partizionata suddivide i dati in slice opportunamente 

configurate. Per partizionamento logico intendo la creazione di n tabelle 

identiche unite con una vista a cui viene agganciato un trigger che 

redireziona i dati secondo i criteri scelti (e.g. anno di inserimento)



Enrico

P.S. da questo punto di vista PostgreSQL permette una migliore gestione dei 

partizionamenti logici, ma ancora non implementa quelli fisici


 Un motivo del perchè qualcuno li paga ci sarà??



Di solito non c'e`. Per fare un esempio, per un progettino del cazzo da me 

sviluppato in cui i dati potevano stare benissimo su Firebird (scartato 

all'epoca a causa di problemi con i driver JDBC) o su PostgreSQL, fu scelto 

Oracle perche` "qui usiamo solo Oracle"



Enrico


 Oracle perche` "qui usiamo solo Oracle"



Che si può tradurre in "non abbiamo tempo da perdere imparando un nuovo 

database". Tipico..



 DB .....lo farà su tutti gli anni e perde tutto ???



L'unico db che ho visto "sputtanato" sul serio e' Access.

Per il resto, a anche a rischio di scatenare un flame, sono convinto

che un motore db client/server sia piu' pensato per la sicurezza che

per la velocita'.



Che poi siano foto porno, video porno, documenti legali o illegali,

codice sorgente, fogli di calcolo, etc...L'UTENTE DEVE FARE I BACKUP.





A parte tutto, la difficolta' maggiore e' all'inizio. Si chiama

PREPARAZIONE.

Tu stai partendo in quarta a fare un qualcosa usando strumenti che non

conosci e senza le necessarie basi teoriche.

A differenze del teatro e della cucina, nel campo del software

l'improvvisazione NON VA BENE.



A.






x Henryx ..  cosa intendi per "trigger su vista" ....nel caso di

partizionamento logico "per anno"

credi tra l'altro che le prestazioni sulle ricerche aumentino

separando gli anni in diverse tabelle ?

mi viene un dubbio, si puo creare una nuova tabella da una

preesistente e distinguerla per anno ?



x Alberto

- la preghiera delle copie quotidiane la pratico anch'io da anni

ma ... nessuno a parte aziende di "grosse dimensioni" spendono risorse

nel addestrare qualcuno ALMENO per controllare quotidianamente che

vengano fatte e ....puntualmente..quando serve la copia ...ci si

accorge che l'ultima è di 1 mese fà .....se tutto va bene ....quindi a

mio modesto parere le copie non sono una soluzione ad un DB

inaffidabile e che perde i dati

- non parto in quarta ne "improvviso" , sto solo confrontandomi con

qualcuno che ne sa piu di me e mi puo dirigere con qualche consiglio

verso un DB da installare e testare cosi come giustamente suggerisci e

senza dover fare questa operazione 1 ad uno per almeno 4 5 o 6 DB di

maggiore diffusione partendo dal fatto che dovrei approfondire le basi

teoriche di tutti e 6. Quindi il tuo consiglio lo accetto volentieri.

Devo fare un corso di progettazione DB .......se lo trovo.

Tra l'altro mi risulterebbe difficile senza nemmeno avere una

applicazione a mettere dentro un FB 10000 record "cosi' al volo" ...

devo studiarmi il DB come realizzarlo, scrivere un programmino delphi,

come progettarlo ETC e con i vs consigli sto prendendo idee e vi

ringrazio

- i possibili valori dei campi stringa da 75 caratteri sono INFINITI

visto che si tratta di testo libero e non di campi da compilare a

mezzo tabelle preconfigurate.

- mi capita almeno un paio di volte all'anno di "aggiungere un campo"

visto che non sono io a decidere a priori le necessità dei miei utenti

e nemmeno loro, neanche se avessi una sfera di cristallo purtroppo.

Negli ultimi anni ci ho provato, inserendo dei campi "in previsione" e

a volte mi è andata bene a volte no.



E' cosi problematico aggiungere un campo in una tabella in un DB?

(considerando che fortunatamente ho la possibilità di avere dei fermo

macchina visto che le mie applicazioni non sono usate (purtroppo) da

banche/telecom/etc) ?

Stessa domanda.

Se ho 1 db per le fatture e 1 db per le pratiche quali sono le

controindicazioni nell'avere 2 db separati e leggere i record nei 2 DB

x scambiare parzialmente alcuni dati ?

Qui per rispondere a questa domanda non basta installare ma

bisognerebbe sviluppare tutto e poi capire ....quindi chiedo a chi

magari si è già trovato in una condizione simile per avere spunti e

suggerimenti (anche a questo servono i forum .no ?)



La soluzione dell'unico calderone mi fa un po paura. Avevo ipotizzato

di avere un unico DB con le tabelle relative ai campi in comune come

elenco clienti , elecno codici iva (faccio x esempio) , e che sono in

comune a tutte le applicazioni.

Separare invece il DB fatture da quello delle pratiche.

C'è qualcuno che ha un esempio pratico di una necessità che lo ha

spinto ad avere un unico DB per fatture e pratiche ? (parlo di fatture

e pratiche solo x esempio)

- Mi verrebbe da chiederti di fare un test sul tuo DB da 600.000

record da 58 campi (di cui 15 sono testo a 75 caratteri)

"Scrivi select * from qualchetabella where qualchecmapo=qualevalore -

Non sei TU  as scorrere: ci pensa il motore db. "

Questo l'ho capito che lo scorre lui .......ma quanto impiegherà????


 scorrimento in una grid anche se non ne capisco il motivo.



Uso un termine tecnico: balle.








 x scambiare parzialmente alcuni dati ?



Cerchero' di essere, chiaro, inequivocabile e sintetico:



0) DEVI CHIARIRTI BENE LE IDEE TRA IL CONCETTO DI "DB" E QUELLO DI

"TABELLA".

Quella delle fatture, dei clienti, dei fornitori, dei codici iva,

delle plusvalenze iva sono TABELLE.

Un db clientr/server e' grosso modo un insieme di tabelle, trigger,

indici, stored procedure.



1) FARE QUERY SU PIU' DB DIVERSI NON E' UNA COSA CHE TUTTI I DB FANNO.

E CHI LO FA SPESSO TI COSTRINGE A FARE DEL LAVORO IN PIU'.



2) AVERE PIU' DB NON TI SERVE AD UN KAZEN

Ovviamente, ma non per tutti, se fai girare il motore db su un 286 il

tutto sara' ovviamente lento.



3) L'UNICO MODO CHE HAI PER RENDERTI CONTO DI PERSONA DELLE

PERFORMANCE E' CREARE UN DB CON UNA TABELLA SIMILE A QUELLA PIU'

GROSSA CHE GESTISCI ADESSO E SU DI ESSA CREI DEGLI INDICI SUI CAMPI

CHE TI SERVONO PER LA RICERCA. POI GLI BUTTI DENTRO CON UNA APP

SCRITTA AL VOLTO 600.000 RECORD E POI PROVI A FARE DELLE QUERY. Ti

segni i tempi. Poi, riavvii la macchina e rifai le prove.









A.




 politico/requisiti tecnici di winXX".. di microsoft)



Il motivo principale comunque e` sempre lo stesso: con un RDBMS commerciale, 

oltre al prodotto, di solito hai anche un supporto tecnico fornito 

direttamente dalla casa madre, cosa che per un'azienda si rivela molto 

importante



Enrico


 importante





Uso db commerciali dal 2000: Sybase, SqlServer, Oracle, db2,

pervasive.

Ho cambiato molte aziende ma non ho mai sentito di contatti con i

relativi produttori per avere supporto.





A.


On 19 Ott, 00:50, Enrico 'Henryx' Bianchi


Be questa mi sembra una risposta molto sensata anche se mi viene da

pensare .......con microsoft......

o si ha un supporto che fa pena .....ho ti costa un botto

invece se ho capito bene con FB e/o Postgre bisogna affidarsi ai forum

e alla bontà altrui


 relativi produttori per avere supporto.



A me invece è capitato di vedere interventi mirati da parte di tecnici e consulenti, ad esempio su SQL Server, con il rilascio a volte di "hot fix" dedicate per risolvere un problema specifico.



In altri casi, il solo fatto di avere comunque un supporto tecnico, anche se non viene utilizzato, può essere una obbligatorietà dettata da clausole particolari nei contratti di fornitura del software per cui è obbligatorio individuare un produttore che dia questo tipo di servizio, indipendentemente dal fatto che venga poi sfruttato oppure no.



Ciao,

  Marco.



-- 

MARCO BREVEGLIERI

#Home: 
http://www.marco.breveglieri.name


#Blog: 
http://www.compilaquindiva.net



 Uso un termine tecnico: balle.



heehe magari sarà più complicato gestire le GRID x lo scorrimento?!




alessandro f ha scritto:


Queste sono tue ipotesi o hai conoscenza diretta della questione "supporto 

microsoft/software commerciale VS. supporto software open source" (ma

stiamo 

andando OT)?



ACSH













-- 



questo articolo e` stato inviato via web dal servizio gratuito 

http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it







 con flame robin andrei a creare gli indici



Sinceramente, io ti suggerirei di analizzare bene la struttura del 

vecchio database e ricostruirti tutto da capo usando i dati nativi di 

firebird.

Mi spiego meglio: se nel vecchio codice hai un campo di 10 char, in 

firebird userai un VARCHAR, che viene gestito meglio e ottimizza lo 

spazio. Prendilo con le molle come consiglio, perchè è ovvio che i campi 

devono essere compatibili con il codice che li leggeva dal vecchio db, 

sennò tanto vale riscriversi tutto da capo.



 relativi produttori per avere supporto.



A conferma di quanto detto da Enrico cito la mia esperienza: in passato 

ho lavorato nella produzione di software per la logistica e ad un certo 

punto avemmo un problema sul database (DB2 v7) molto serio.

Dovemmo chiamare IBM e farci mandare un suo super-esperto di DB2 che, 

pagato profumatamente, fece veramente il suo lavoro di superesperto e ci 

analizzò tutto, dalla a alla z, di quel database, aiutandoci a uscirne 

fuori.



 e alla bontà altrui



Grosso modo sì.. ma c'è da fare un distinguo importante: l'aiuto che 

ottieni dipende dalle domande che poni.

Nei progetti OS normalmente uno le cose se non le capisce le deve prima 

studiare, approfondire, poi le può chiedere. Il concetto di RTFM è 

sempre in vigore. Questo perchè nei progetti opensource la gente non 

perde il poco tempo che da volontariamente al progetto per rispondere 

alle domande già contemplate nelle FAQ o nella KB del progetto (o nel 

codice, nei casi più estremi...).



Se invece paghi un servizio di assistenza, allora aspettati che per 100 

euro loro ti rispondano a tutte le domande (anche banali) che tu possa 

fare nel tempo acquistato.



Una cosa certa è che le risposte che ottieni dal team firebird 

sicuramente sono di qualità, non è altrettanto scontato nel caso di 

supporti commerciali.



Per chiudere il discorso: tieni sempre presente questo concetto che 

dietro l'open source ci deve essere sempre una componente di 

autoformazione, quel "darsi da fare" che ti porta a crescere e a 

investire su di te. Se tu decidi di passare a firebird, stai investendo 

su di te e sulle tue capacità di impararlo e gestirlo.



 heehe magari sarà più complicato gestire le GRID x lo scorrimento?!



Quando parli di grid intendi una TStringGrid e non una TDBGrid, vero?






 e alla bontà altrui



Tieni presente che esiste la possibilità di ottenere supporto 

professionale a pagamento anche per firebird. Vedi:



http://www.firebirdsql.org/en/support/




Se guardi nella colonna di sinistra trovi anche un'azienda italiana che 

tra l'altro ha anche organizzato l'ultima firebird conference in Italia 

qualche anno fa.


 > > scorrimento in una grid anche se non ne capisco il motivo.



L'ALTRO IERI UN AMICO MI HA DETTO CHE SI E' SCOPATO NAOMI CAMPBELL.

E PRP STAMATTINA UN IN TRENO RACCONTAVA DI AVER AVUTO MANDATO DA GESU

CRISTO DI PRENDERE IL POSTO DI RATZINGER.

POI C'E' L'ULTIMA...IERI SONO STATO CATTURATO DAGLI ALIENI..HO VISTO

SATURNO DA VICINO.



...



A.


















DON'T FEED THE TROLL.



A.


 L'ALTRO IERI UN AMICO MI HA DETTO CHE SI E' SCOPATO NAOMI CAMPBELL.



Non è possibile: Naomi sta con mio cugggino!

(o forse mio cuggggino è cornuto?)



 qualche anno fa.



Brilliant! :D



 e alla bontà altrui



No, ci sono aziende esterne che supportano PostgreSQL o Firebird, il 

problema e` che, soprattutto in Italia, vengono recepite male dalle aziende 

che dovranno usare il prodotto in ambiente di produzione



Enrico


 relativi produttori per avere supporto.



Si vede che sei stato fortunato :)

Nelle aziende per cui ho fatto il consulente, c'era sempre un consulente 

Oracle chiamato per i piu` disparati motivi (e.g. lanciare le statistiche 

del database). Anzi, un contratto di assistenza Oracle non fu affidato a noi 

perche` all'epoca non avevamo alcuna figura certificata su tale database



Enrico


 database". Tipico..



Direi piu` il caso che ho espresso nell'altro post :(



Enrico


 esempio.



Giusto un consiglio. Se non ho capito male, tu hai sei database in cui vi sono replicati gli stessi dati. In una situazione del 

genere hai uno spreco di spazio non indifferente, in quanto lo stesso dato si ripete per sei volte. Personalmente, risolverei la 

cosa in due modi:



 1) Accorperei i database in un unico solo e rinominerei tutte le tabelle in

    modo che abbiano un prefisso che ne specifichi il settore;

 2) Utilizzerei le query cross database (vedi 
http://www.firebirdfaq.org/faq16/
 e 

http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes251.html#rnfb25-psql-exctstmnt
 )



Da questo punto di vista, SQL Server, Oracle o PostgreSQL hanno risolto la cosa introducendo gli schemi (anche MySQL permette 

query per database, ma da quello che so solo per quelli presenti nell'istanza)


 e proporre 1 DB con 4 tabelle



Perche` non ha senso. E` come se tu utilizzassi una credenza per ogni tipo 

di scatola di cereali che hai in casa quando invece ne basta una. Detto 

questo, ti consiglio decisamente di farti affiancare da un db developer 

nella riprogettazione dell'applicativo (la cosa piu` evidente e` che questo 

thread ha dimostrato che non hai alcuna idea di cosa stai parlando)



Enrico


 Questo l'ho capito che lo scorre lui .......ma quanto impiegherà????



Come prima, dipende da un fottiliardo di fattori



Enrico


 Giusto un consiglio. Se non ho capito male, tu hai sei database in cui vi sono replicati gli stessi dati.



Forse mi sono espresso male.



Ho un DB che si potrebbe definire "principale" dove sono memorizzati, 

tra tante altre cose, gli uffici ognuno con un proprio ID.



Negli altri cinque DB non ho altro dato che identifica l'ufficio che l'ID.



Nessuna ridondanza, se non questa.




 inaffidabile e che perde i dati



Scusate se m'intrometto.



Esistono dei meccanismi automatici per fare il backup del tuo db. Non si 

deve "pregare" nessuno.



Per FB (almeno per la versione 1.5 che uso io) c'è GBAK al quale basta 

passare i parametri corretti e fa tutto lui. Lo metti in esecuzione 

automatica ogni giorno a mezzanotte ed il gioco è fatto.



Certo, il server deve essere acceso e così anche il computer sul quale è 

presente il disco su cui fai la copia (non vorrai mica fare la copia su 

un HD dello stesso server, vero? :) ), ma a quel punto ti sei tutelato 

completamente dalla tua parte.












 automatica ogni giorno a mezzanotte ed il gioco è fatto.



Integro il tuo contributo citando un programma freeware che sto usando 

su un server di produzione:

http://sites.google.com/site/gbakscheduler/home


scritto da un programmatore italiano!



 Devo fare un corso di progettazione DB .......se lo trovo.



- 
http://www.soft-land.org/faq/icsdfaq#manuali


Il primo elencato č a mio parere eccellente.

Se non vado errato č stato pubblicato in italiano anche da Mondadori 

nella collana portatili con il titolo "SQL"... della serie la stampa e 

la presentazione fanno schifo ma il contenuto č quello e per una decina 

di euro č il caso di dire che li vale tutti, anzi molto di piů.



-- 

Design for the future, because it will be here sooner than you think.

(C) Eric S. Raymond, from "The Art of Unix Programming"


 segni i tempi. Poi, riavvii la macchina e rifai le prove.



infatti quello che dovrò fare



saluti


 SATURNO DA VICINO.



......


 query per database, ma da quello che so solo per quelli presenti nell'istanza)



No nei 6 database non sono replicati gli stessi dati ma ci sono solo

riferimenti tra i vari DB

ad esempio, nel DB fatture in un record c'è scritto che la fattura

1234 è stata emessa a fronte del DDT nr. 432



Cio che è identico in tutti i DB è la tabella clienti ed altre tabelle

relative a codici in comune come ad esempio potrebbero essere l'elenco

delle città italiane , le condizioni di trasporto , etc


 Enrico



Cmq accetto il suggerimento



Per quello che mi riguarda , non lavorando per enti e grosse aziende ,

solo proprio pochi che lasciano acceso il server

la notte , forse questo anche dovevo aggiungere nel post iniziale per

evitare equivoci "di visioni" personali



Cmq è sicuro utile cosa (e necessaria!!) quando si può fare






Secondo me una risposta c'è già , se non posso usare tabelle per

compilare i campi da 75 caratteri, e non posso creare tot indici per

quanti sono questi campi da 75char e devo per forza leggerli uno ad

uno ....... chiedere ad un motore DB che pur evoluto e su superserver

che sia ..... da piu client , una ricerca del genere su TABELLE

diverse che sono nello stesso DB ...... secondo me sono dolori ...ma

vale il suggerimento di Alberto.......... devo solo provare o chiedere

in un altro ***forum*** a chi ha già fatto qualche test simile (a

parità di esigenze)



forse il mio post iniziale doveva essere improntato in questo modo x

evitare inutili discussioni.........






 delle città italiane , le condizioni di trasporto , etc



Vuoi dire che hai un elenco clienti, città, condizioni di trasporto... 

in *ogni file di testo*?



Dimmi che non è così, dimmi che ho capito male.



Cosa fai se ti viene cambiata la partita IVA, il numero di telefono, 

l'e-mail, la ragione sociale di un cliente? Spazzoli tutti i file di 

testo per replicare la modifica?



Beh, se è così è di certo ridondante. :)


 delle città italiane , le condizioni di trasporto , etc



Ottimo, motivo in piu` per usare UN solo database in cui vi e` tutto



Enrico


 la notte



Amen, la scheduli all'ora di pranzo. Il problema non e` quando schedulare un 

backup (un negozio sta aperto 8 ore lavorative), ma farlo



Enrico


 Secondo me una risposta c'è già



Secondo me il problema e` dscritto nei minimi termini in quanto ti ho detto 

qualche post fa': non hai idea di come funziona un vero RDBMS (perche`, 

ricordiamolo, quelli che tu chiami "database" non sono altro che file di 

testo strutturati con un file indice fatto chissa` come[1]). Le uniche 

soluzioni a questa situazione sono tre:



 - O paghi qualcuno per farti progettare una base dati come si deve (perche`

   un indice per ogni campo di una tabella non s'e` mai sentito);

 - O ti metti a studiare come funziona un RDBMS (la base SQL e` valida

   praticamente per tutti);

 - O lasci perdere e trovi una soluzione alternativa al tuo problema (anche

   se dubito che esista).



Il tutto senza cattiveria, ovviamente



Enrico



Attualmente ?

No .... ho un file clienti , e lo stesso viene usato in tutte le

procedure che ne fanno uso

infatti pensando al nuovo progetto avevo in mente di avere un unico

*DB* per tutte le tabelle comuni e meno popolate , tipo clienti, città

etc



mente invece quello delle fatture di ridondande rispetto a quello dei

DDT forse ha la p.iva+rag.soc+ind

effettivamente questi 5 dati si ripetono, avrei potuto inserire solo

il codice cliente evvia ma ho preferito lasciare all'utente la

possibilità di inserirlo a manina nel caso fosse un cliente una tantum

senza doverlo inserire nel file di testo (=DB) principale ......



a parte questo , in fatture ho il numero relativo di DDT , di BOLLA ,

etc , penso che una ventina di byte me li posso permettere  :)


On 24 Ott, 21:52, Enrico 'Henryx' Bianchi


Si può fare anche mentre l'utente usa il DB ? (ipotizzando Firebird)

non ci sono orari d'ufficio dove dalle 13 alle 14 sono tutti a

pranzo ........


On 24 Ott, 21:50, Enrico 'Henryx' Bianchi


Mahh... sarebbe utile un esempio pratico.......


On 24 Ott, 22:06, Enrico 'Henryx' Bianchi


Certo , lo so , preferisco la soluzione nr 2 poichè preferisco

scegliere da me in base alle mie reali esigenze anzichè lasciarle

ipotizzare da altri in base alle proprie necessità che non

necessariamente coincidono con le mie

sopratutto per chi non ha mai "testato" le velocità/accessi/ricerche

che ho in mente di realizzare

quindi vale il suggerimento di Antonio , provero' da me



In ogni caso l'obiettivo primario del mio post era un suggerimento sul

DB da scegliere e ora sono orientato verso FB



Scriverò un altro post su un *forum* di chi è specializzato in

sviluppo DB  : )



...per chiedere lumi sulle prestazioni e sulla possibilità di avere DB

separti con un unico DB per le tabelle in comune , specificando :

visto che non ho *relazioni particolari* e pochi dati ridonandanti

quale è il problema a tenerli separati ? ......lo svantaggio di

avviare diverse sessioni per un backup ?

c'è un vantaggio in termini di velocità ?



grazie a tutti cmq !!


DON'T FEED THE TROLL



A.


 Mahh... sarebbe utile un esempio pratico.......



Esempio pratico:



CREATE TABLE clienti (id_cliente INTEGER PRIMARY KEY,

                      nome_cliente VARCHAR(30)

);



CREATE TABLE fatture (num_fattura INTEGER,

                      data_fattura DATE,

                      importo INTEGER,

                      id_cliente INTEGER REFERENCES client(id_cliente),

                      CONSTRAINT pk_fatture PRIMARY KEY(num_fattura,

                                                        data_fattura)

);



In altre parole, sul database ho una tabella clienti e n tabelle (e.g. 

fatture) che si referenziano alla tabella clienti. Nota il vantaggio di 

avere tutto in un database: eventuali integrita` di dati sono fatte dal 

database stesso (e.g. se id_cliente non esiste sulla tabella clienti, il 

database non permette l'inserimento dei dati e ritorna un errore), che e` 

poi la normale gestione di tali operazioni (in altre parole, ho implementato 

sul mio schema quella che viene chiamata integrita` referenziale)



Enrico


 non ci sono orari d'ufficio dove dalle 13 alle 14 sono tutti a pranzo 



Il mio ufficio dalle 13 alle 14 e` a pranzo :)



Enrico


 c'è un vantaggio in termini di velocità ?



No, anzi, se tieni conto che dovresti aprire una connessione per ogni 

database comporta una spesa in termini sia di risorse occupate che di tempo, 

capirai ancora di piu` perche` la tua ostinazione non ha senso



Enrico


On 25 Ott, 23:10, Enrico 'Henryx' Bianchi


:)

Sto "studiando".....relazioni ..e integrità referenziale ...e quindi

inizio a capire un bel po di cose...

non volevo essere presuntuoso , soltanto riflettevo sul fatto che le

mie esigenze nessuno può conoscerle meglio di me ........



Ho capito o quasi .....i motivi per avere un DB unico....... però

sarei disposto a rinunciare ad "alcune cosette" in nome della

velocità...... e qui .....devo solo testare ....



Qualche suggerimento per tools per progettare il DB ?

Se ho capito bene FB propone software di terzi quindi non ha tools

visuali propri



Quello che non sono riuscito a trovare in rete è qualche buon corso

che tratta di creazione indici , tutti coloro che parlano di SQL (in

maniera semplice) si fermano prima !!!



La ricerca full text su tutti i campi è quella che mi rende

ostinato ..... non potrò usare un indice e quindi ....dovendo scorrere

tutti i record del DB fatture o DB XXXX senza poter estrapolare

NESSUNA relazione specifica  TEMO per le  prestazioni di una SELECT

senza nessuna WHERE XX=YY o meglio di una SELECT (e ora me la invento

io ) WHERE ALL FIELDS CONTAIN YXZ (in formato testo libero)




On 25 Ott, 23:10, Enrico 'Henryx' Bianchi


p.s. altro dubbio



Se ho un DB unico con FATTURE e DDT ed ho clienti che usano solo

FATTURE e clienti che usano ENTRAMBI

e credo un DB con relazione tra le tabelle , avrò per il cliente un DB

FATTURE con inutili record relativi al DB DDT che non verrà mai usato

l'unica soluzione sarà di avere a disposizione 2 DB diversi da

installare in base all'occorrenza di installazione oppure potrei

gestire da codice l'inizializzazione del DB all'atto della

installazione?


 io ) WHERE ALL FIELDS CONTAIN YXZ (in formato testo libero)



Se hai 10.000 record come dici la ricerca è praticamente istantanea 

anche senza indici. Eventualmente puoi concatenare i tuoi campi in uno 

fittizio (che usi solo per le ricerche) e fare la where solo su quello 

in modo da evitare una sfilza di OR. Ma - come ti è stato detto più 

volte - bisogna provare.




 
http://www.apress.com/9781590592793




Attenzione al link: quell'edizione *probabilmente* è obsoleta.



Qui si trovano le versioni aggiornate, con un supplemento sulla v.2 del 

motore: 
http://www.ibphoenix.com/products/books/supplement




ciao



 ostinato



Non so se lo hai gią detto prima ma quale informazione contengono questi 

campi di testo?






 Attenzione al link: quell'edizione *probabilmente* è obsoleta.



Effettivamente è vecchia, mi pare relativa a FB 1.5, ma è un ottimo 

punto di partenza. Per aggiornarsi poi è sufficiente leggersi le release 

note delle versioni successive.



P.S. Comunque grazie! non sapevo di quel "book supplement" me lo prendo 

al volo :)


 Qualche suggerimento per tools per progettare il DB ?



Notepad, carta e matita (no, non scherzo)



Enrico



mah.....quando ricevo queste risposte devo per forza di cosa rischiare

di essere presuntuoso......

o quantomeno immaginare che chi risponde o non ha capito o non ha

letto....o mi sono spiegato io male



ripeto :

10.000 record composti da 100 campi di cui 25 sono 75caratteri di

testo e io....devo chiedere al motore :

"mi trovi tutti i record che contengono almeno la parola "UNA PARTE"

in una qualsiasi parte dei 25 campi da 75 char dove non ho creato

indici .... e questa cosa deve essere fatta leggendo 10,000

record  ..... dire che è "istantaneo" .....MAHHHHHHHHHHH


 campi di testo?



Testo "libero" dove ci si possono inserire riferimenti (*importanti*)

codici valute..diciture... chi piu ne può più ne metta

non si puo "tabellizzare" ..... perchè? .. come risponde qualcuno :

perchè non si più



è testo libero che non può essere definito a priori e in campi

prefisatti, e ho la necessità di dare all'utente la possibilità di

ricercare parte del testo in 25campi da 75char ognuno




 Enrico



Ti credo........infatti l'avevo già pensato anch'io e ...... avrei

pensato di poterlo fare anche tramite un tool visuale ma preferisco

prima la carta e penna....matita meglio...che puoi cancellare:)



ma poi? dopo la stesura della bozza ...... un tool informatico ?:)


 Enrico



p.s. proprio x questo mi sono stampato un esempio di progetto con

tabelle e relazioni........ pero' non ne ho trovati molti in

giro........sarebbe interessate se fosse disponibile un esempio

"pratico" per la mia materia ....... vedi fatture clienti ddt bolle

pratiche


 ricercare parte del testo in 25campi da 75char ognuno



Accetta un consiglio. Non dare troppa libertà al tuo cliente perché lui 

non sa mai come risolvere i problemi. Cerca sempre di indirizzarlo verso 

una soluzione logica. Io posso accettare che in un record ci sia uno o 

due campi note con testo libero. Venticinque mi sembrano un'esagerazione.






 record  ..... dire che č "istantaneo" .....MAHHHHHHHHHHH



Fidati, lo č. Anche senza indici.



A meno che il tuo server non sia in Australia collegato tramite una 56K, 

ovviamente. :)



http://www.invoicex.it/




È sviluppato in Java ed usa MySQL ma è gratis e la struttura del DB, 

benché non sia FB ma questo poco importa, è proprio quello che cerchi.


 ovviamente. :)



Si e mi daresti qualche dato o metteresti online un database di prova?

Voglio proprio vedere senza indici una ricerca full text come descritta 

dall'OP quanto viaggia.



(se ho tempo dopo mi faccio io un db di prova, ci carico dentro qualche 

romanzo preso da liberliber e poi lancio qualche ricerca.)



-- 

morde

QT 4.7

Delphi (5,6,7.. expired)

Firebird Database




 romanzo preso da liberliber e poi lancio qualche ricerca.)



Magari non usando Firebird che, a quanto so, non supporta nativamente le 

ricerche fulltext.







-- 



questo articolo e` stato inviato via web dal servizio gratuito 

http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it







 ricerche fulltext.



Appunto, è per questo che voglio dei dati oggettivi.



 Si e mi daresti qualche dato o metteresti online un database di prova?



http://dl.dropbox.com/u/47167783/Embedded.7z




Progetto in Delphi + FB

-----------------------

Struttura del DB presa da FlameRobin:

-----------------------

/********************* ROLES **********************/



/********************* UDFS ***********************/



/****************** GENERATORS ********************/



/******************** DOMAINS *********************/



/******************* PROCEDURES ******************/



/******************** TABLES **********************/



CREATE TABLE TESTI

(

   CAMPO01 Varchar(75),

   CAMPO02 Varchar(75),

   CAMPO03 Varchar(75),

   CAMPO04 Varchar(75),

   CAMPO05 Varchar(75),

   CAMPO06 Varchar(75),

   CAMPO07 Varchar(75),

   CAMPO08 Varchar(75),

   CAMPO09 Varchar(75),

   CAMPO10 Varchar(75),

   CAMPO11 Varchar(75),

   CAMPO12 Varchar(75),

   CAMPO13 Varchar(75),

   CAMPO14 Varchar(75),

   CAMPO15 Varchar(75),

   CAMPO16 Varchar(75),

   CAMPO17 Varchar(75),

   CAMPO18 Varchar(75),

   CAMPO19 Varchar(75),

   CAMPO20 Varchar(75),

   CAMPO21 Varchar(75),

   CAMPO22 Varchar(75),

   CAMPO23 Varchar(75),

   CAMPO24 Varchar(75),

   CAMPO25 Varchar(75)

);

/********************* VIEWS **********************/



/******************* EXCEPTIONS *******************/



/******************** TRIGGERS ********************/





GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE

  ON TESTI TO  SYSDBA WITH GRANT OPTION;

-----------------------



Il pulsante "Riempi" svuota TESTI e lo riempie con 10.000 record 

composti 25 stringhe di 75 caratteri casuali che vanno a riempire ognuna 

un campo.



Scrivi qualcosa nel campo sopra il pulsante "Cerca" e guarda quanto 

tempo ci mette.




 Appunto, è per questo che voglio dei dati oggettivi.



Tutti insieme, in coro:



Benchmark! Benchmark! Benchmark!



 tempo ci mette.



Grazie mi hai preceduto! :-D

Ho preparato un db anche io, ci ho copiato dentro *due volte* la divina 

commedia: 28 mila record, senza indici, e i tempi di ricerca sono 

impressionanti.. :-D



Qui ho preparato il file con dentro il database e il testo importato:

http://www.box.net/shared/dd5x3z3lbslduqszk3gu




Ma la cosa interessante sono i risultati della query:

http://www.box.net/shared/nh0xdao27td5adxseti8




Senza ovviamente avere la pretesa di fare un vero benchmark ;) ci sono 

delle considerazioni interessanti da fare.

1) sono decisamente sorpreso dai risultati

2) dai numeri che escono si vede che lui fa 29mila fetches perchè 

ovviamente deve scorrere tutti i record, ma le performances 

probabilmente derivano dal fatto che il motore si crea degli indici 

interni e fa un consistente uso della cache.



Senza scendere ad esaminare tutti i parametri restituiti dalle 

statistiche, ora si può affermare senza ulteriori dubbi che le ricerche 

full text sono ragionevolmente veloci.



grazie per il programma, l'ho testato ed i tempi di risposta sono 

decisamente in linea coi miei test (praticamente qualche decina di 

millisecondi.. :)



 millisecondi.. :)



Esatto.






 ricerche fulltext.



Perché parli di ricerche fulltext?



Ci sono 25 stringhe di 75 caratteri ciascuna. Un LIKE č piů che sufficiente.



Se ci fosse da ricercare una stringa in un BLOB allora sě che sarebbe 

fulltext e sarebbero dolori senza tool di terze parti 

(
http://www.firebirdfaq.org/faq328/
), ma non č questo il caso.








 >> dall'OP quanto viaggia.



e (mi ricordavo bene, malgrado l'età) Firebird non supporta ricerche 

fulltext, ma una LIKE per 75 caratteri va più che bene



 fulltext, ma una LIKE per 75 caratteri va pi� che bene



Rimane il dubbio sul perch� si debbano usare 25 campi da 75 caratteri 

ciascuno, ma questo esula dal contesto. :)



Spero non siano le righe del documento inserite nel record della 

testata, lo spero proprio tanto.


 ovviamente. :)



eheheh cmq quando sarò riuscito a creare il DB ...... farò un test di

velocità e vi farò sapere!!




 > Fidati, lo è. Anche senza indici.


Ahhh finalmente qualcuno che ha fatto qualche ricerca in full text :)


 > Fidati, lo è. Anche senza indici.


p.s. da premettere che ......ci sono 100 campi attualmente per un

totale di 4000kb x singolo record .....dove ci sono i famigerati 25 da

string[75]


 due campi note con testo libero. Venticinque mi sembrano un'esagerazione.



Qua mi sa che non sono io l'unico ostinato.....

no non mi contraddico ..ho entrambe le tipologie di campi ...se dico :

ho 25 campi da 75 char LIBERI ....... sono 25 campi da 75 char LIBERI

e non parlo dei codici valute .....che ovviamente come il nome di una

città o cap possono essere inseriti in una tabella

ho spiegato nell'altro post che ho dei campi NOTE , COMMENTI ,ETC che

sono testo libero........forse se li espongo con questo nome sono più

chiaro....almeno mi auguro !!:)



Aprezzo molto il tuo consiglio e lo condivido ma se : l'esigenza è

quella poichè sto compilando un "documento ufficiale" che prevede 25

campi da 75 char che sono testo libero .......secondo te posso

OPPORMI?  posso trovare qualche soluzione intermedia ma alla

fine ....occorre il testo libero . e quindi .....devo approntare un DB

che possa dare soddisfacenti risultati per ricerche in tal senso



Grazie

Ho dato uno sguardo... ma io intendevo esempio grafico di progetto di

DB non del software già pronto


 >> Fidati, lo è. Anche senza indici.


bello !!!:)



wow ho scatenato una gara !!:)

una domanda ........ visto che questi record sono pieni , testo della

divina commedia

, al momento non ho ancora le capacità per usarlo, non ho ancora

montato FB , potrei provare le queri "a mano" senda delphi,

ma tira fuori molti record in una db grid o li hai visualizzati

"dentro qualche tool di FB" ?

immagino una ricerca del tipo "PaROLA X" tirami fuori tutti i record

che la contengono




 Esatto.



ehehe a questo punto se davvero sono millisecondi ......io lo farei

aspettare anche qualche secondo in più !!:)

appena ci riesco lo provo anch'io

grazie mille !!!!



Appunto, ho cercato di spiegarlo prima ........ necessità di

specifiche di un form che ha molti campi note



ora mi viene altro dubbio ma chiederò magari a google......... "Like"

di FB e che differenza c'è con una ricerca full text ?


 string[75]



E cosa c'entra?



Se nella SELECT dici al motore di considerare solo i venticinque campi 

lui solo quelli ti vede.



DB <> file_di_testo



LIKE <> full_text


 wrote:


Ho scaricato il progetto ...ho visto che il testo dentro è tutto

casuale .....provato a copiare incollare un pezzetto per fare il test

mahh non riesco a verificare i risultati......troppi geroglifici!!:)

ma cmq è vero.....è una "scheggia"  almeno localmente








 che possa dare soddisfacenti risultati per ricerche in tal senso



UCCS





Il motore FB non è schizzinoso. Non fa differenza tra la Divina Commedia 

ed un testo random. Guarda una sequenza di caratteri e cerca quella.



Per le prestazioni in rete ci sarà senz'altro un degrado ma lì non 

dipende da FB.





Hai il DB MySQL pronto.



Cerchi un tool per MySQL che ti costruisca il grafico e sei a posto.



No, io non ne conosco ma sono abbastanza sicuro ce ne siano. Non so se 

phpMyAdmin lo fa.




Si hai capito bene. nello screenshot non si vede ma c'è una griglia 

nell'altro tabsheet dove si vedono tutti i record tornati.



PEr fare questo senza installare firebird devi scaricarti e installare 

flamerobin. una volta fatto, ti registri il database che ho messo a 

disposizione, e poi inizi a fare query dirette per estrarre i record 

(ogni record è un verso, il mitico "endecasillabo" tanto caro al dolce 

stil novo..)



saluti



 ed un testo random. Guarda una sequenza di caratteri e cerca quella.



I agreed.



una piccola digressione: il mio esempio dovrebbe essere 

computazionalmente più leggero perchè le statistiche di frequenza delle 

parole sono maggiori, trattandosi di un testo logico.



Quello dei caratteri random dovrebbe essere il più impegnativo, visto 

che la probabilità di trovare ridondanze è molto bassa, per via della 

funziona randomica che ha generato le stringhe.



Da un lato, questa discussione ha preso una piega gorsso modo

interessante.

Per contro, ci sono 2 possibilita'...



1) chi ha aperto il th e' un troll

In  tal caso, si e' perso del tempo dietro ad uno che non ha un kaz da

fare



2) chi ha aperto il th NON e' un troll

In  tal caso, si e' perso del tempo dietro ad uno che non sembra

volersi sbattere per studiare, provare, capire, imparare etc...

E questa persona si trova la pappa pronta grazie a chi si e' sbattuto,

ha PROVATO etc.



A dire il vero non so dire quale delle 2 e' meno peggio.



A


 di FB e che differenza c'è con una ricerca full text ?



Semplificando:



 - Il LIKDE e` una istruzione SQL standard, una ricerca full-text viene

   implementata tramite librerie estenre (e.g. Lucene) o funzionalita` previste

   dal database (e.g. PostgreSQL implementa un motore full-text direttamente nel

   database).

 - Il LIKE fa una ricerca effettuando un full scan della tabella, una ricerca

   full-text usa degli indici creati ad hoc.

 - Il LIKE ricerca solo sulla stringa di dati passatagli, una ricerca full-text

   puo` essere basata su stemming (ovvero lemmi che hanno la stessa radice).

 - Il LIKE supporta solo due wildcard, una ricerca full-text di solito ne

   implementa molte di piu`.



Per ora mi vengono in mente solo queste, ma ce ne sono molte di piu`



Enrico

P.S. e` ovvio che ci vogliono dei motivi per scegliere l'uso della ricerca full-

text piuttosto che affidarsi al solo LIKE, visto che la prima richiede 

decisamente piu` risorse per essere implementata


 A dire il vero non so dire quale delle 2 e' meno peggio.



Mettiamola così: il feedback che ho ricevuto riguardo a firebird per me 

è stato positivo, compresi gli approfondimenti sulla ricerca full text.



ciao




mmm

pensavo che cmq il motore dovesse leggere tutti e 100 i campi nel

record e che questo potesse incidere






Io la metto cosi... premesso che per alcuni giorni ero scomparso

proprio x documentarmi almeno in parte.. fortunatamente in questo

thread ha risposto qualcuno "non bruciato" nel dire sempre le stesse

cose e con mille pre-concetti-giudizi ai pivellini di turno che

davvero non volevano documentarsi per pigrizia etc ...

anche io ho avuto esito positivo al mio post iniziale ....



Provare "tutto" avrebbe richiesto mesi (molti) e per questioni e

limiti tecnico/personali non potevo permettermelo.... ringrazio chi mi

ha dato disponibilità in tal senso ... domandare è lecito...

rispondere è cortesia ...e nessuno è obbligato nel farlo cosi come non

è obbligato a investire tempo nel giudicare in maniera spicciola e

senza sapere ...



Del resto se uno chiede... chiede a qualcuno più esperto o che ne sa

di più... diversamente che senso avrebbe ? fare 2 chiacchiere tra

amici ? ..le faccio altrove ..vado in una chat ...



Aggiungo infine che ..se non ricordo male qui non c'è nessun

moderatore "ufficializzato da regole scritte" e che si può erigere a

"GIUDICE UNIVERSALE"

ma tutto è fatto con il contributo di tutti **FORTUNATAMENTE**....

le regole di "OP che bannano" i pivellini o chi non gli sta "simpatico

a pelle"....  da chat da 4 soldi ..fortunatamente valgono altrove



grazie a tutti





grazie:)



Fatti una cortesia.



Dimenticati i file di testo e non cercare inutilmente analogie con un 

db. � come dire che Excel � un db. Non lo �, non lo pu� diventare e non 

lo sar� mai. Sono strumenti diversi che servono per scopi diversi. 

Funzionano in due modi diversi e non sono paragonabili.



Se vuoi prova a fare un esempio di questo tipo. Creati un db ed un 

progetto Delphi per leggerlo e poi usa una TStringGrid ed una TDBGrid 

per leggere i record di una tabella. Quale delle due sar� pi� veloce?




 a pelle"....  da chat da 4 soldi ..fortunatamente valgono altrove



Solo una precisazione: l'OP nominato qui dentro non č l'operatore dei 

canali IRC che ti cickava o bannava a piacimento, bensě l'acronimo di 

Original Poster, cioč di colui che ha aperto il thread.

Ciao



PS:  mitici i tempi dell'IRC war con mirc.. ricordo quando entravamo nei 

canali con mirc potenziato con 7h sphere e ci bombardavamo di pacchetti 

di flooding.

Ai tempi si usava win95 e ricordo uno scontro una volta contro un 

linuxaro.. dopo 30 secondi mi diventň lo schermo verde (veramente!) e 

dovetti fare ctrl+alt+canc perchč mi avevano floodato.

Ai quei tempi il TCP/IP stack di linux era un carroarmato in confronto a 

quelli di windows 95..



 per leggere i record di una tabella. Quale delle due sar pi veloce?



Lo farò !!


 Firebird Database



Propongo un test ....del.......   "Cattivo programmatore" !! :P



http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer



 a pelle"....  



Ecco finalmente il pezzo che mancava: i capricci da bambino viziato.



Magari quel giorno eri a trollare su qualche ng o eri in qualche chat

da 4 soldi e ti sei perso una lezione:



*La simpatia non c'entra niente, mio caro.*

Quando si lavora la cosa importante e' che la squadra, pur essendo

fatta di gente che in condizioni normali eviterebbe gli altri come la

peste, sta li ad affrontare i casini INSIEME, puntando tutti i fucili

nella stessa direzione.

Se poi hai culo e sul lavoro becchi colleghi con i quali le cose vanno

bene anche sul piano personale, ritieniti fortunato e ringrazia le

divinita che ti senti in dovere di ringraziare.





A.






 quelli di windows 95..



eheheh anche io ho avuto qualche problemino a quel tempo :)


 SI DISIMPARA, CI SI SBATTE, SI PROVA.



che vedo... ma allora ipotizzi anche tu ?......... e tu credi ..in 25

anni .. io non l'abbia mai fatto ?

probabilmente se confrontassimo le nostre carriere ....ti

sorprenderesti ......a scoprire che .............. forse l'ho fatto

molte più volte di te !! :)





Continui a dare giudizi a mio parere affrettati secondo la "tua

visione del mondo" ..e secondo cio che tu credi di "chi pretende che

in un NG debba essere aiutato etc" .... dovremmo spostare questo post

in altro NG ma almeno a me ..non interessa.. li potremmo condividere

mille pensieri sulla psicologia di chi dietro un pc sta a fare tutti i

giorni le stesse cose.. ...qui annoiamo solo tutti e si perde il senso



cosa dovrei condividere qui nel NG con voi che ne sapete tutti piu di

me ? che ho capito cos'è una foreign key ? che ho letto della versione

embedded di FB o di quanti e quali componenti di terze parti potrei

utilizzare ?..cos'è un esame ?:) .



lascia perdere.. continua ad esprimere i tuoi liberi pernsieri e vai

tranquillo x la tua strada cosi' come io x la mia



hai dato anche tu a mio LIBERO PENSIERO il tuo contributo psicologico

ad un post tecnico !! e va bene pure questo !! ehehehee

ora basta pero'........... se vuoi continuare i commenti ti prego di

invitarmi ad aprire un altro thread in un altro NG però






 - Mostra testo citato -



Stessa domanda

Quell'esempio è stato sviluppato in Delphi 7 o Xe ?



da tempo seguo le evoluzioni del compilatore e da quando Borland si è

lanciata con le nuove versioni 8 etc  e poi c'è stato il "passaggio ad

Embarcadero" ho notato che molti che sviluppavano in Delphi sono

rimasti fedeli alla V.7  e mi chiedevo perchè



Inizialmente ho pensato "meglio non abbandonare la via vecchia x

quella nuova" .... di sicuro nuove funzionalità tecniche ancora non

affidabili nonchè necessità di dover portare nei nuovi RAD eventuali

applicazioni stabili scritte con D7



Io, dovendo iniziare "da capo" , mi cimenterò direttametne con il

nuovo XE2 ......

(p.s. sto aspettando un nuovo PC e questo è uno dei motivi x i quali

adesso non POSSO PROVARE a sviluppare/installare NULLA purtroppo !!)



ti posso chedere una cosa ? > Delphi(5,6,7.. expired)

tu non usi XE ?

leggo nella tua firma


 invitarmi ad aprire un altro thread in un altro NG però



Ma non era un gruppo senza moderazione in cui a tuo dire si poteva fare tutto quello che si voleva? :)



Questi "troll"... sempre più sfacciati... :D



-- 

MARCO BREVEGLIERI

#Home: 
http://www.marco.breveglieri.name


#Blog: 
http://www.compilaquindiva.net



 rimasti fedeli alla V.7  e mi chiedevo perchè



Posso parlare solo per me. Mi sono fermato a D7 perché non ho sentito 

ancora la necessità d'usare altro. Mi sono creato un mio ambiente di 

lavoro nel quale sguazzo a meraviglia e non lo cambierò finché non mi si 

parerà davanti una reale necessità di farlo ben sapendo, già da adesso, 

che non sarà Delphi la risposta a quella necessità ma una web application.






 leggo nella tua firma



Non uso XE, hai letto giusto.

Sono passato ad "altri lidi" perch� ho cambiato lavoro e volevo imparare 

un nuovo RAD, e devo dire che sto avendo le mie soddisfazioni usando QT. 

Ma questo � un altro discorso, siamo OT.



 - Mostra testo citato -



No parlavo di quel piccolo programmino che scorreva il DB con i 10k

record .....

e..in effetti avevo posto un quesito in piu' ........che andava oltre

al DB !! :)

Sono molto incuriosito da questa cosa del D7 , leggo che in molti non

sono passati alle nuove versioni ...era una curiosità in più



p.s. ti capisco bene xche anche io "sguazzo a meraviglia" in cio che

ho portato avanti x quasi 20 anni ..........ora però mi tocca !!



ehm....in 25 anni ..ho fatto altro !! o meglio mi sono scontrato con

tante altre necessità.............ma perchè il "mondo" dovrebbe essere

uguale per tutti ?

e "visto" allo stesso modo con gli stessi problemi?

"a forza" volete farmi rientrare nel campo della psicologia :



una traccia :

1. pensiero tutto o nulla

2. supergeneralizzazione

3. filtro mentale, minimizziamo il positivo e amplifichiamo il

negativo

4. ricalco negativo sul futuro

5. saltiamo alle conclusioni

6.....etc

7.ragionamento emotivo

..

9.etichettarsi



Ovvio è che io oltre che troll ...... ritornando al mio esempio delle

"vecchie chat" di un tempo......sono l'estraneo ...........e

quindi ............tutti "gli appartenenti fissi al

gruppo" ...............e basta psicologia !!! :)




 al DB !! :)



Allora sì, è D7 + IBX.





Mi verrebbe in mente di ... "scatenare" un'altra serie di test .......

ma FB ......potrebbe essere più veloce con IBX , Dbexpress, Anydac,

etc ?:)



sul forum di embarcadero il rappresentante di Anydac mi ha proposto il

loro tool ........magari .....quando avrò l'opportunità faro un test

simile al tuo utilizzando i diversi tool per capire se e quante

differenze potrebbero esserci nell'accedere ai record. Se ho capito

bene l'accesso "nativo" è il migliore e in piu bisogna considerare

anche i componenti aggiuntivi forniti dal tool per accedere ai dati


 etc ?:)



Io ho provato IBX e Zeos senza rilevare particolari differenze di 

velocità nelle prestazioni.



A far pendere la bilancia nei confronti del secondo pacchetto di 

componenti c'è la possibilità d'interfacciamento a vari motori db che 

non è da trascurare nel momento in cui vai ad operare in un ambiente 

dove potresti non avere il controllo decisionale su quale motore usare.


E si .....sono ancora qui!! ..pensavate me ne fossi andato si?!!:)



proprio ora che mi ero deciso a scegliere Firebird , lo avevo anche

installato dopo non poche problematiche solite del mondo

windows .....e aperto il Db di esempio con Flamerobin .....

mi sono confrontato con uno sviluppatore di software di contabilità

e  :



"""Ovviamente Firebird è infinitamente meno diffuso di MySQL (1 a

10.000? o forse più) con conseguente diversa affidabilità"""



"""Borland ai tempi aveva rilasciato la licenza Open di Interbase (per

poi riprendersela).

Firebird è nato dai quei sorgenti ma successivamente è stato

completamente riscritto dalla fondazione in C++ (Interbase era,

allora, in C).""""



""""costi di licenze  nessun costo per entrambi (FB e MYSQL) ma

comunque con MySQL noi abbiamo un contratto di assistenza con la

struttura di supporto 24x7 per eventuali problemi di difficle

soluzione. Con Firebird che fai?



e su questa riflessione che poi sono rimasto perplesso ....



1) quanto costa st'assistenza..ho visto prezzi esorbitanti sul

sito......e poi ...

2) Con Firebird che fai?





p.s. x Warp ... ti avevo scritto un post "Rispondi all'autore" ma non

so se ti è arrivato

è vero ..scusate se sono un po una frana qui dentro....non vorrei

rischiare altri incidenti diplomatici!!:)))



Prometto che ...sto studiando ..e pure assai ......... fortunatamente

FB e Flamerobin si installano anche sul pc attualmente in uso.....ma

non provo proprio ad installare Delphi XE trial !!! aspetto ancora il

nuovo pc !!


 so se ti è arrivato



No, perché l'indirizzo e-mail non è reale. No, non ti darò mai 

l'indirizzo e-mail reale.




 l'indirizzo e-mail reale.



Non mi azzarderei mai a chiedertelo :)  , pensavo che oscurarlo con le

opzioni qui dentro fosse sufficiente

sarò stato ingenuo a mettere la mia reale ...


 No, perché l'indirizzo e-mail non è reale.



Non che ci sarebbero grossi problemi, almeno in generale, ad usare un

indirizzo reale... per esempio, per altre cose non sara` un granche`,

ma per usenet un indirizzo di posta con gmail e` assi comodo, visto che

filtra lo spam piuttosto bene...

Ma non e` questo l'aspetto che piu` m'interessa comunicarti... c'e`

ormai una diffusa abitudine a falsificare [non semplicemente oscurare

come dice alessandro] il proprio indirizzo, ma c'e` un modo *lecito*

che rende praticamente impossibile il risultare fastidiosi a chi non

c'entra nulla... e si realizza semplicemente aggiungendo ".invalid"

alla fine dell'indirizzo... perche` magari nessuno avra` come mail

warp10(at)
libero.it
, ma difficilmente puoi saperlo per certo e per

sempre... purtroppo se nessuno si prende la briga di ricordarlo almeno

di tanto in tanto, in sempre meno se ne preoccuperanno...



Ciao ciao

Claudio





Sono molto pigro e non sopporto nemmeno i troppi puntini. :)












 Sono molto pigro e non sopporto nemmeno i troppi puntini. :)



Va bene, ma basta davvero poco [trattasi solo di aggiungere ".invalid"

in fondo alla tua email fasulla]... con l'indiscutibile vantaggio di

non dover nemmeno ritrovarsi a leggere fastidiose lamentele dai soliti

rompiballe che infarciscono i messaggi di puntini... :-)



Ciao ciao

Claudio


 soluzione. Con Firebird che fai?



Con Firebird mi affido o a ibphoenix o a una ditta specializzata in supporto 

per tale database (sul sito viene citata una certa P-Soft). Tra l'altro, non 

e` vero che i costi di licenza sono zero per tutti e due, per l'uso di MySQL 

in ambito commerciale dovresti pagare una licenza



Enrico


 ricerche .......  capita...... anche se "google è grande assai"



La prima fonte di condivisione informazioni su un prodotto è Internet. 

Non penso che se non trovi qualcosa lì te lo possa dire l'help desk.



Lo farò quando questa immane cappa di pigrizia si deciderà ad andarsene, 

ma la vedo dura.