[Primipassi] equivalente di access

Marco Ermini markoer@usa.net
Mer 14 Maggio 2003 15:38:13 CEST


Aldo <a.podavini@ldvsrl.it> wrote:
[...]
> MySQL e Access sono MOLTO diversi, tanto da essere pressochè 
> inconfrontabili.

Su questo hai ragione.


> Ma giusto per fare un esercizio proverò:

potevi astenerti, dai ;-)


[...]
> MySQL è uno strumento di uso professionale, totalmente privo di 
> interfaccia grafica ed estremamente veloce

ci sono svariate interfacce grafiche utilizzabili con MySQL. Hai provato a
vedere il sito www.mysql.com ? :-)


> (magari non "performante", ma 
> veloce...),

qual e' la differenza tra performante e veloce per te? :-)


[...]
> MySQL invece ha ricche (e a volte noiose) possibilità di amministrazione 
> degli utenti;

Tutte le funzioni di amministrazione sono noiose, quando non ne capisci il
significato... allora non hai mai usato Oracle o DB2... :-)



[...]
> MySQL (fino alla 3.23) non supporta tantissime funzioni assolutamente 
> essenziali:

NON sono "assolutamente essenziali", altrimenti non lo usarebbe nessuno, non
credi?

Ti consiglio di rileggere i motivi ispiratori del perche' e per come MySQL e'
nato e si e' sviluppato in un certo modo: non manca di feature perche' e' "in
ritardo" ma per precise scelte tecniche, che guardacaso hanno fatto la sua
fortuna. In effetti lo stai giudicando molto, molto male.



> - le UNION (!)
> - le subqueries (!!!)
> - l'integrità referenziale  (!!!!!)

tutte cose che ti paiono essenziali? nel 95% dei casi se subqueries sono
esemplificabili in altro modo, e sia le union che l'integrita' referenziale
sono fattibilissime in altri modi (cosa spesso auspicabile in molti contesti,
per esempio in application server distribuiti).


> - le stored procedures (neppure Access, mi pare)

Puoi tranquillamente creare delle funzioni in C da linkare al db server. Non
puoi agire, per adesso, con linguaggi di scripting perche' questo non e'
facilmente implemetabile in MySQL senza snaturarlo (e chi lo usa vuole
principalmente che rimanga cosi' com'e', te lo assicuro).


> - le transazioni (neppure Access, mi pare)

Le transazioni sono disponibili sia in MySQL che in Access (ti sei perso
qualcosa ;-)

L'unica cosa che sarebbe, casomai, veramente utile e che nessuno dei due ha (e
che ti sei dimenticato di nominare ;-) sono i trigger...



> 4)
> Access ha una funzionalità che per chi sviluppa in ambito web è magica: 
> tratta le queries sql come vere e prorpie viste logiche, che quindi 
> possono essere trattate esattamente (quasi...) come se fossero delle 
> tabelle;

e l'utilita' di questa porcheria sarebbe?....


> MySQL non supporta nulla del genere (a meno che io non le abbia trovate) 
> ; se a questo si aggiunge che non supporta le subqueries, la scomodità 
> diventa enorme.

mah... se lo dici tu!!!


> 5)
> Access possiede un'interfaccia grafica (ma forse dovrei dire un verio e 
> proprio IDE) che permette di fare un macello di cose (creare reports, 
> forms, macro, etc...)

...e permette anche di *disfare* un sacco di cose... ma soprattutto da'
l'*illusione* che sia facile (a portata di cani e porci, che poi in effetti
sono i veri utenti di Microsoft Access ;-) creare un'applicazione
client/server - salvo poi scoprire che, quando dovrai supportare una
multiutenza *decente* e il tuo DB crescera' un po', che devi rifare tutto
daccapo con altri prodotti :-(



> Magari esistono aggeggi simili per MySQL, ma io non ne conosco (e di 
> certo non sarà semplice trovarli/configurarli/usarli).

Si vede che non li hai mai cercati, se non li conosci... e poi "facile" o
"difficile" dipende tutto da chi lo fa... sai come si dice, Unix *e'* user
friendly, e' solo che si sceglie lui amici e nemici ;-)

Hai mai provato ad usare kdevelop o le applicazioni PHP gia' pronte come
PHPNuke o postnuke?


[...]
> In sintesi:
> per me MySQL è stata un piccola delusione... Lo so che la 4.0 ha 
> introdotto qualcosa (credo le transazioni),

No guarda, quelle c'erano gia' con la serie 3.x. Non dipende dalla versione di
MySQL ma dal fatto che utilizzi o meno lo storage innodb.


> la 4.1 introdurrà 
> qualcos'altro (credo le subqueries) e la 5.0 qualcos'altro ancora... Ma 
> per ora la situazione è questa.

La situazione e' che MySQL fa *molto bene* quello che deve fare, e puo' essere
una delusione solo per chi ha frainteso cosa e' MySQL. D'altro canto, Access
continua a fare schifo, anche se possiede utilita' "magiche", di certo
imperdibili "per chi sviluppa in ambito Web" (?!?) come il "trattare le query
(quasi) esattamente come tabelle" (molto utile, certo!?!...)


> E poi: io magari sul mio PC posso sempre downloadare l'ultima versione, 
> ma se poi scrivo del codice PHP che usa le funzioni dell'ultima 
> versione, quante speranze ho che sia utilizzabile sui siti web dove poi 
> andrò a mettere gli scripts ?

Eh?!? e che c'entra MySQL? direi che e' un problema di PHP, non certo del
database!!!



> Ciò che sto valutando adesso ( e su cui chiedo consiglio a voi Guru ) è 
> di "convertirmi" a PostgreSQL, che sulla carta supera tutte le 
> limitazioni di MySQL, senza contropartite (è davvero così ?)

Senti, ma quali "carte" ti leggi? saranno mica quelle su cui poi ti ci
arrotoli quella roba che ti fumi (e passala, dai!!! non fare il bastardo ;-)


> Se non quella di essere meno diffusoi, almeno rpesso gli ISP, e quindi 
> con ancora più problemi di portabilità rispetto a MySQL 4.x
[...]

Senti, ma di quali problemi di portabilita' vai parlando? hai avuto problemi
in questo senso? io francamente, mai. A maggior ragione con PHP di mezzo.

Al limite, quello che fa veramente casino e' quando devi mettere un DB Access
presso un ISP su Windows (tra MDAC, Service Pack e porcherie simili, e il DSN
che deve per forza fartelo l'ISP... quella roba la' si' che non funge mai!)



ciao


-- 
Marco Ermini
http://macchimacchi.net - ICQ 50825709 - GPG KEY 0x64ABF7C6 - L.U. #180221
Di fronte alle sofferenze del mondo tu puoi tirarti indietro, sì, questo è
qualcosa che sei libero di fare e che si accorda con la tua natura, ma
precisamente questo tirarsi indietro è l'unica sofferenza che forse potresti
evitare. (F. Kafka)





Maggiori informazioni sulla lista primipassi