Newsgroup: it.comp.macintosh
Titolo: MySql o PostgreSQL questo e` il dilemma ?

Salve a tutti.
Ebbene si anche io mi ritrovo nel gorgo delle web applications :)
Qui dove lavoro hanno deciso finalmente di creare uno strumento per 
tenere tracci di chi sono e cosa fanno i nostri utenti, e visto che sono 
io "l'informatico" hanno scaricato su di me il compito di decidere come 
creare questo strumento.
Lo trumento in realta` sara` piuttosto semplice in quanto si basera` su 
una anagrafica degli utenti, e su un elenco dei compiti e richieste 
fatte da ogniuno di questi utenti.
in pratica ci sarrano un sacco di campi rifeti ad ogni utente con i 
compiti presi da tabelle esterne.
Cosi visto che ne so` ben poco sia di PHP che di database come mySQL e 
simili, ma in compenso potro` dedicare un sacco di tempo al "progetto" 
ho ovviamente deciso di usare questi due strumenti, anche perche` in 
questo modo evito di dover fare il tutto con programmi tipo Filmaker, 4D 
e access che renderebbero il tutto legato ad una piattaforma.
Ed ora la domanda:
Secondo la vostra esperienza quale sistema di database e` meglio usare ? 
postgresql o mysql ?
Io un po' di ricerche le ho gia` fatte ma visto che non ho dimestichezza 
con nessuno dei due non sono riuscito a stabilire queale dei due sia 
migliore nel mio caso.
Potete darmi dei consigli ?
-- 
Riccardo Saettone
Per rispondere togliere Alfa e Beta

 postgresql o mysql ?
Qaunte ricerche devi fare sul database? di che tipo?
EmJey
-- 
Non prendere la vita troppo sul serio...
non ne uscirai mai vivo

 
Ricerche basilari del genere immetto il nome dell'utente e mi viene 
fuori tutto quello che ha fatto, ad esempio il giorno 1 ha chiesto 
questi documenti (segue lista dei documenti richiesti), il giorno due 
quelli ecc, il giorno tre ha richiesto dei servizi (segue lista dei 
servizi richiesti)
Ed ovviamente anche l'inverso, immetto il codice o il nome di un 
documento o servizio, (ogni documento dovra` essere identifacato da 3 o 
4 campi distinti e lo stesso per il servizio) e mi viene fuori l'elenco 
di tutti gli utenti che lo hanno richiesto e quando.
Oppure ricercare tutti gli utenti per si occupano di una particolare 
attivita` insomma le solite ricerche di una anagrafica.
la cosa che va tenuta in mente e che in numero degli utenti non sara` 
enorme anche se aumentera` con il tempo mentre quello dei documenti e 
servizi dovrebbe essere piuttosto grosso.
Diciamo che si parira da un 300 utenti e che in media ogni utente 
chiedera` 4 o 5 documenti al giorno oppure servizi.
Per come l'ho pensato fino ad ora ci saranno diverse tabelle, relativa a 
gli utenti una hai servizi ed una hai documenti, piu` una tabella 
centrale di immissione/ricerca che prendera` i dati da queste tabelle.
Il grosso problema e che a priori so gia` che ci saranno ulteriori 
sviluppi ma per ora non so quali, quindi non vorrei trovarmi a lavorare 
con uno strumento che alla fine non mi permetta di fare questo o quello.


 dei piu' avanzati, sicuramente piu' avanzato di MySQL.
Gia` il problema e che non so se mi saranno utili o no.
Quello che vorrei capire e se a livello di programmazione PostgreSQL sia 
piu` difficile di MySQL ?
La cosa che mi aveva fatto pendere per PostgreSQL e` che a qaunto ho 
letto MySQL non soppurta le select annidate mentre invece PostgreSQL lo 
fa` e questo penso che mi potrebbe tornare parecchio utile in 
determinate ricerche.
In pratica se io dovessi fare solo una semplice anagrafica composta da 
un 30 di campi con delle quesry normalissime, ci sarebbero differenze a 
livello di complicazione di codice a farle con l'uno o coll'altro ?
Tanto piu` che io usero PHP per creare tutta la parte di interfaccia.
Da quanto ho capito io la programmazione dei due e` molto simile simile 
anche se la sintassi di molti comandi e leggermenti differente, questo 
e` vero oppure no ?


 con uno strumento che alla fine non mi permetta di fare questo o quello.
MySQL ti garantisce una prontezza di risposta che non ti serve e ti
limita nelle ricerche.
sebbene io di solito lo preferisca a Psql, credo che tu debba usare psql


 e` vero oppure no ?
a livello di linguaggio SQL ci sono differenze minime, ma se andando avanti
avrai bisogno di trigger (che ti assicuro sono utilissime ... ti permettono di
fare praticamente tutto (con il pl/pgsql) direttamente nel db ... tu mandi i
dati dal php al server postgresql e lui fa i controlli, aggiusta le stringhe
maiuscolo/minuscolo, gestisce dead key ecc) usa postgresql ...
non e' difficile da imparare ... se inizi da 0 con tutti e due, inizia con
postgresql ... alcune funzionalita' che ha da tempo, adesso MySQL le sta
implementando ...
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}

 funzionalita' che ha da tempo, adesso MySQL le sta implementando ...
Mi hai convinto, inizio da Postgres.
E quindi ora la seconda domanda, mi sai indicare un manuale di postgress 
adatto a chi inizia ?
Mi va bene sia in itliano che in inglese, magari anche qualcosa che 
affronti insieme postgres e PHP.
Riccardo Saettone
Per rispondere togliere Alfa e Beta dall'indirizzo

 psql
Si anche grazie a gli altri interventi mi sono rientato verso psql, 
anche perche si saranno un sacco di campi che dovranno essere uniformati, 
e da quanto ho capito postgres in questo caso e migliore.
Una domanda, com PHP e postgres e magari Java e possibile fare dei campi 
ad autocompletamento ? cioe` tu cominci aad imettere una stringa in un 
campo e lui ti fa appire in una finestrella tutte le possibile immisioni 
che cominciano con quello che tu hai gia` digitato.
-- 
Riccardo Saettone
Per rispondere togliere Alfa e Beta dall'indirizzo

 affronti insieme postgres e PHP.
i due manuali "ufficiali" vanno piu' che bene ... cerca quello del php su
www.php.net
, dove trovi anche un link a 
www.postgresql.org
 ... c'e'
praticamente tutto quello che devi sapere ...


 postgresql o mysql ?
MySQL e` piu` veloce su macchine relativamente modeste sotto un grosso
carico di richieste abbastanza semplici.
PostgreSQL e` piu` completo in termini di caratteristiche fondamentali
dei database relazionali.  Non hai bisogno di fare strane configurazioni
e "scelte di tipo di tabelle" (concetto totalmente alieno ai "database
relazionali" in quanto tali!) per avere cose fondamentale come le
transazioni ACID (Atomiche, Coerenti, Indipendenti, Durevoli), e certe
cose fondamentali che MySQL non ti da` proprio (views, query annidate)
in PostgreSQL come in qualsiasi altro DB relazionale vero sono
ovviamente scontate.
Salvo esigenze MOLTO peculiari, io consiglierei dunque PostgreSQL.
Alex
 

 con uno strumento che alla fine non mi permetta di fare questo o quello.
Allora vai su PostgreSQL, che e` un database relazionale COMPLETO.
Alex

 che cominciano con quello che tu hai gia` digitato.
Il PHP e' server side quindi centra poco, se la tua interfaccia e' via
browser devi lavorare di javascript (o di swing se la fai in java) il
compito del database e' minore in questo caso. Pero' devi implementare
la cosa a mano
-- 
Ciao
Fabio

 specifiche...
PHP per quel che ho visto ha un modulo generico che si puo'
interfacciare un po' a qualunque db mentre ha di default un set di
funzioni specifiche per MySQL. Queste ultime sono ovviamente piu'
efficienti ma legate allo specifico db.
-- 
Ciao
Fabio

 postgresql o mysql ?
Postgresql piu' database, piu' *professionale*, nessuno problema con php
e ha tutto: views, triggers, nested queries
Ciao
Virgilio
-- 
Non ricordare e' male ricordare male e' peggio.

 la cosa a mano
Sai se esiste gia` uno Javascript o appletjava che facesse 
l'autocompletamento ?
Ho cercato un po' con google ma non sono riuscito a scoprire gran che.


 Ho cercato un po' con google ma non sono riuscito a scoprire gran che.
Il problema degli autocompletamenti e` che devi avere tutti i dati sul
client  (e questo  a parer  mio  viola un  po' il  concetto di  client
sottile)     e     usa     tecnologie    che     possono     rivelarsi
problematiche. JavaScript,  nonostante Ecma, non e`  ancora uguale per
tutti, le applet possono dare qualche problema e a volte e` Sun stessa
a sconsigliarle...
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico e fancazzista 
\/

 a sconsigliarle...
Gia` per questo speravo che fosse supportato direttamente da postgres 
magari tramite qualche chiamata apposita in PHP, comunque probabilmente 
posso risolvere con una specie di query, in pratica l'utente comincia a 
scrivere la poraola poi clicca su un bottone apposito e si apre una 
piccola finestra secondarti con tutti i termini che soddisfano la query,
Avevo posto la questione perche` ho un campo dove dovra` essere inserita 
una stringa piuttosto grande circa di 15 caratteri e composta da una 
serie di numeri e lettere difficilmente memorizzabili, questa stringa 
pero` in molti casi dovrebbe essere gia` stata inserita in un'altra 
tabella,da qui la mia diea di usare l'atuocompletamento per rendere piu` 
facile la vita a gli utenti ma sopratutto eliminare possibili errori.


 a sconsigliarle...
piu' che altro deve consumare un sacco di banda per caricare sul client
tutti i valori possibili se e' su una lan non dovrebbe essere
problematico ma via internet ....
Per quel che riguarda la potenza di calcolo del client non penso ci
siano problemi.
Anche sul fronte compatiblita' non dovrebbero esserci grandi ostacoli
avvedere ad un campo di una form e' abbastanza standard. 
PS
Sun ha ben poco a che fare con JavaScript, JavaScript e' un linguaggio
di scripting inventato da Netscape che visto il boom di Java gli diede
una sintassi simile e un nome che lo ricordava ma non ha nulla a che
fare con la piattaforma Java.
Per quel che riguarda Java invece direi che gil Applet hanno un ottimo
livello di compatiblita' almeno sulle 3 maggiori piattaforme desktop
quindi proprio non dovrebbero esserci problemi si compatiblita' (non
togliamo anche la compatibilita' a Java poverino, e' il suo cavallo di
battaglia)
-- 
Ciao
Fabio

 Ho cercato un po' con google ma non sono riuscito a scoprire gran che.
Non saprei prova a guardare su 
html.it
 se non lo trovi li temo che
dovrai fartelo a manina
-- 
Ciao
Fabio

 facile la vita a gli utenti ma sopratutto eliminare possibili errori.
Io agirei cosi' nella pagina .php eseguirei la query che mi restituisce
tutti i dati che l'utente potrebbe inserire (ovviamente se non sono dati
sensibili) poi creerei dinamicamente uno script nella pagina che ogni
volta che l'utente cambia il campo della form cerca di completarlo.
In pratica il client si riceve uno scriptone Javascript che conosce gai'
tutti i possibili dati che l'utente puo' inserire
Aggiungo pero' che e' un idea che mi sta venendo adesso e che non ho mai
testato.
-- 
Ciao
Fabio

 piccola finestra
Gia`, una finestrina popup e` la migliore soluzione.


 quindi proprio non dovrebbero esserci problemi si compatiblita'
Ni, un buon supporto Java sotto Linux puo` essere un problema.
Parlo per esperienza personale.


 Parlo per esperienza personale.
Scusa ma non c'e' la distribuzione standard di Sun ?
-- 
Ciao
Fabio

 Scusa ma non c'e' la distribuzione standard di Sun ?
E'  per RH.  Il problema  tra le  varie distribuzioni  e`  che possono
usare, anzi spesso usano, differenti livelli della stessa libreria.
Per la distribuzione di Sun occorre ad esempio una libreria piu` datata
di quella che hai con Debian Unstable. Io ho fatto la sporca (link)
e quasi tutto gira bene. Salvo il client JCVS che uso al lavoro e che
ogni tanto si pianta. Ma li` potrebbero esserci problemi coi thread
dato che ho paura partano i thread nativi di Linux che purtroppo fanno
a cornate con AWT.
Vero, uso applications e non applet.
