Newsgroup: it.comp.software.database
Titolo: MySql sconsigliato perchè?

Salve ragazzi, frequento il quinto anno di ITIS informatico e da qualche
tempo come da programma, sto studiando la progettazione e l'interrogazione
dei database, quello più usato alle superiori è Access (vorrei sapere
proprio il perchè) , essendo poco favorevole al database della Microsoft,
sto studiando da solo MySql, ma molti miei amici universitari, mi hanno
detto che è fortemente sconsigliato, soprattutto se andrò avanti con gli
studi, non conosco ancora bene MySql, ma non mi sembra di certo un database
da sconsigliare, qualcuno mi potrebbe spiegare i motivi per cui tante
università sconsigliano MySql? Grazie a chi vorrà rispondermi
-- 
ICQ # 84624356

 sconsigliano MySql?
Perché con mysql non rischi che un db si intasi o si corrompa, quindi una
volta che lo hai progettato, non puoi più guadagnarci facendoci assistenza.
Seriamente, oggi come oggi ha effettivamente dei limiti che non lo rendono
esattamente "general purpose", ma secondo me è un ottimo database, anche per
imparare.
Fossi in te darei un'occhiata anche a Firebird.
A parte tutto questo, Access è l'antitesi dei database... ma è Microsoft.
Sinceramente credevo che, almeno in ambito universitario, si cercassero
alternative valide a M$.
-- 
Jax
====
"Os X è la mia distribuzione Linux preferita" - (Blake Stone,
responsabile dei sistemi informatici di Borland)

 alternative valide a M$.
ci sono le tangenti cosa credi !!!


 da sconsigliare
Ti posso dire che nel nostro corso di laurea è ci è permesso utilizzare un 
qualsiasi DBMS che sia relazionale e supporti lo standard SQL 2 almeno in 
grandi linee.
MySQL è ottimo strumento (se usi le innodb hai tutti i vantaggi del 
relazionale) per i casi di studio e per piccole, medie applicazioni 
(commercialmente MySql è molto utilizzato sui server web, per permettere 
l'interazione dei siti con un DB).
Se vuoi un prodotto commerciale penso che tutti ti diranno di usare Oracle.
Il mio consiglio è quello di imparare lo standard SQL e capire come 
progettare un database ralazionale, lo strumento per implementare il tutto 
dipenderà dalle specifiche dell'applicazione che devi realizzare. Infondo si 
tratta di una semplice traduzione nel "linguaggio" del server.
ReDiCuori
-- 
L'informatica è un' arte
---------------------------------------------------------
 
www.pascallike.too.it
 
http://utenti.lycos.it/pascallike
 il sito sulla programmazione pascal
 sorgenti, tutorial ed utility
------------------------------------------------------------
www.treves-srl.com
Libreria Internazionale Treves
Via Toledo 249/250 Napoli
------------------------------------------------------------
www.alphalibri.com
Vendita ingrosso di libri
Via S.Anna dei Lombardi 10 , Napoli
--------------------------------------------------------- 

 ha scritto nel messaggio
|
|
|>sto studiando da solo MySql, ma molti miei amici universitari, mi hanno
|>detto che è fortemente sconsigliato, soprattutto se andrò avanti con gli
|>studi, non conosco ancora bene MySql, ma non mi sembra di certo un
|>database
|>da sconsigliare
|
|
| Ti posso dire che nel nostro corso di laurea è ci è permesso utilizzare un
| qualsiasi DBMS che sia relazionale e supporti lo standard SQL 2 almeno in
| grandi linee.
SQL 2 ?  Io conoscevo SQL99 e tra un po uscira SQL2000. Bo
| MySQL è ottimo strumento (se usi le innodb hai tutti i vantaggi del
| relazionale) per i casi di studio e per piccole, medie applicazioni
| (commercialmente MySql è molto utilizzato sui server web, per permettere
| l'interazione dei siti con un DB).
Forse stai confondendo "relazionale" con "transazionale" che sono due cose
diverse.
| Se vuoi un prodotto commerciale penso che tutti ti diranno di usare Oracle.
Cosa vuol dire commerciale ? Che devi pagare allora Oracle e' la risposta
giusta. Se poi volevi dire "enterprise level" allora le cose cambiano e ci sono
valide alternative: Postgresql ad esempio.
| Il mio consiglio è quello di imparare lo standard SQL e capire come
| progettare un database ralazionale, lo strumento per implementare il tutto
| dipenderà dalle specifiche dell'applicazione che devi realizzare. Infondo si
| tratta di una semplice traduzione nel "linguaggio" del server.
E questa e' la vera risposta del perche' MySQL e' sconsigliato.
Non ha tutto quello che un RDBMS dovrebbe avere:
Triggers, Viste, Store Procedure, Rules e per finire deve essere veramente
ACID compliant.
Ad ogni modo MySQL se lo conosci lo eviti:
http://sql-info.de/mysql/gotchas.html
Alcuni punti sono veramente orripilanti:  
http://sql-info.de/mysql/gotchas.html#1_13
Ancora dubbi sul perche' ?
Gaetano Mendola
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBVz307UpzwH2SGd4RAohWAJ963GVpgFcZmDT5lTqtm2MZF41YIwCeP3YL
IY8ypKD4t+NBpKYMd7kgM1Y=
=J4G9
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gaetano Mendola wrote:
|
| E questa e' la vera risposta del perche' MySQL e' sconsigliato.
| Non ha tutto quello che un RDBMS dovrebbe avere:
|
| Triggers, Viste, Store Procedure, Rules e per finire deve essere veramente
| ACID compliant.
Avevo scordato: subselect, subtransaction, PITR.
Notare che ti sto dicendo tutte cose che un altro RDMBS free ( veramente free )
per inciso Postgresql  invece ha.
Gaetano Mendola
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBV0AX7UpzwH2SGd4RAkLRAJ98nMP5SSasKNL6O9juCKoBJ+xo8gCfaVm1
BDiVKI1cJVfJQuLiHC7jwgo=
=0gwl
-----END PGP SIGNATURE-----

 SQL 2 ?  Io conoscevo SQL99 e tra un po uscira SQL2000. Bo
Scusami volevo scrivere SQL3 che poi è lo standard 99
http://database.sarang.net/database/postgres/doc/practicalpostgresql/c1140.htm
Cmq Tux se vuoi imparare a progettare e realizzare una base di dati 
relazionale il mio consiglio : prendi un buon libro(fai due che è meglio :P) 
studialo in modo da far tuoi i concetti che sono alla base del relazionale, 
il software di sviluppo non è fondamentale, domani potresti lavorare con un 
software relazionale di nicchia ! E poi cosidera che ci sono  cad che da uno 
schema relazionale possono creati l'intera base di dati.
Gaetano Mendola scusami ma perchè una copia anche in privato della tua 
risposta sul NG ? :)
Ciao


 alternative valide a M$.
Le alternative a M$ si cercano eccome, solo che Access non un database
server e per piccolissimi progetti va benissimo, non c'è bisogno di
utilizzare
Mysql.
Non sono un fan di zio Bill, ma parlare male a priori di Access non mi
piace.
Per il mio programmino sul fantacalcio Access va benissimo, per vari
motivi e utilizzare Mysql sarebbe stato solo uno spreco e un incremento
di intoppi e difficoltà.
Non esiste il database giusto per tutto.
        danilo (fan di Oracle)

 università sconsigliano MySql?
Il problema non e' tanto che sconsiglino MySQL.
Il problema e' che ti hanno consigliato M$ Access !
Tra i due, cento volte meglio MySQL (IMHO).
 Raffaello

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
ReDiCuori wrote:
|>Forse stai confondendo "relazionale" con "transazionale" che sono due cose
|>diverse.
|
|
| Riassumo perchè ci sono 3 capitoli sul Navate e 3 sull' Atzeni che
| definiscono un DBMS relazionale :
Giusto ma tu avevi detto che MySQL con innodb e' relazionale, invece se non
usi innodb non lo e' piu' ? Forse quello che volevi dire e' che se usi le
innodb oltre che ad essere relazionale e' anche "transazionale"
|>Cosa vuol dire commerciale ? Che devi pagare allora Oracle e' la risposta
|>giusta. Se poi volevi dire "enterprise level" allora le cose cambiano e ci
|>sono
|>valide alternative: Postgresql ad esempio.
|
|
| Beh il fatto che per usarlo devi comprarlo non lo rende un prodotto non
| commerciale.
Giusto, ma di solito non si sceglie un prodotto solo se devi pagarlo.
|>E questa e' la vera risposta del perche' MySQL e' sconsigliato.
|>Non ha tutto quello che un RDBMS dovrebbe avere:
|>
|>Triggers, Viste, Store Procedure, Rules e per finire deve essere veramente
|>ACID compliant.
|
|
| Triggers : dal sito 
mysql.com
 "Triggers are currently being implemented,
| with basic functionality in MySQL version 5.0, with further development
| planned for version 5.1".
| Viste : non ci sono, le implementeranno nella versione 5.1
| Store Procedure : ci sono  dalla versione 5.0
Che comunque e' sempre "under development".
| Rules ?!? Che tipo di regole
Questa credo si spieghi da sola:
CREATE RULE "_RETURN" AS
~    ON SELECT TO t1
~    DO INSTEAD
SELECT * FROM t2;
Praticamente facendo select * from t1 in realta' vengon presentati i dati che
stanno su t2.
Con questa ad esempio tracci tutti quello che fanno select:
CREATE RULE "_RETURN" AS
~    ON SELECT TO t1
~    DO INSTEAD
( INSERT INTO logs VALUES ( current_user); SELECT * FROM t1; )
| ACID compliant :  le caratteristiche acide delle trasazioni, sono totalmente
| supportate sulle innodb che sono standard in Mysql
Letto MySQL gotchas? ti ricrederai sull' ACIDita' di MySQL.
|
| Gaetano Mendola scusami ma perchè una copia anche in privato della tua
| risposta sul NG ? :)
Perche' di solito faccio reply to all.
Gaetano Mendola
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBWKOZ7UpzwH2SGd4RAvXZAKDpo7SqHzzgmlkFKtsdQN09KRZoeACfYR2h
1Wn0XDsIPPM8q6tH3oeC51Q=
=Ardb
-----END PGP SIGNATURE-----

 Letto MySQL gotchas? ti ricrederai sull' ACIDita' di MySQL.
Non ne faccio una crociata pro MySql, il prodotto da utilizzare va sempre 
scelto secondo le specifiche del problema.


 Tra i due, cento volte meglio MySQL (IMHO).
Ciao Raffaello,
non credi che si stia parlando di due prodotti un pochino diversi tra 
loro e destinati a fare cose diverse?
IMHO Access va bene per piccoli progetti e per sviluppare 
velocissimamente, MySql è più robusto ma più grezzo, e va bene per 
progetti più grossi ma che non richiedono uno sviluppo in poche ore.
David

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
ReDiCuori wrote:
| Scusate non è per far polemica, infatti è l'ultima mia puntualizzazione ....
|
|
|>Giusto ma tu avevi detto che MySQL con innodb e' relazionale, invece se
|>non
|>usi innodb non lo e' piu' ? Forse quello che volevi dire e' che se usi le
|>innodb oltre che ad essere relazionale e' anche "transazionale"
|
|
| In realtà ho detto "hai tutti i vantaggi del relazionale" con un abuso
| volevo dire che tramite le tabelle innodb puoi
| implementare l'integrità referenziale senza dover scrivere codice aggiuntivo
| di controllo (sorry).  Utilizzando una tabella MyIsam rimane comunque un
| DBMS relazionale, ma senza il controllo di integrità.
|
|
|>Letto MySQL gotchas? ti ricrederai sull' ACIDita' di MySQL.
|
|
| Non ne faccio una crociata pro MySql, il prodotto da utilizzare va sempre
| scelto secondo le specifiche del problema.
Anche qui sono dalla tua parte con l'aggiunta che devi stare attento a come ti
muovi e di certo non puoi sviluppare un DB con MySQL e poi dare il DB in pasto
agli utenti, rischi in un paio di update/insert di mandare tutto a monte.
Se usi MySQL o devi essere tu a scrivere l'applicazione che lo usa o fidarti
a morte di chi lo sta usando. Ripeto dai un'occhiata al documento che trovi
usando google e la stringa "mysql gotchas".
Gaetano
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBWX5+7UpzwH2SGd4RAlblAKDwJwt9Gm+o+rHXQrplEjPB0m8/LACgiZLb
dVE2jlbHVLi2c6qY5lmVoXw=
=wPol
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Diciamo che MySQL e' una sorta di Access piu' robusto. Poi per il resto
non ha nulla in piu'.
G.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBWX6+7UpzwH2SGd4RAowTAKCOaDG2ePeLGAbgf7D7FXXgH66XBQCgjivQ
gGUlWwr8vEK6oSeGofApOng=
=Dv2x
-----END PGP SIGNATURE-----

 G.
Scusa la domanda, che ti sei fumato, prima di affermare questo? :-D
-- 
ICQ # 84624356

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Forse ho esagerato un po, pero' dimmi cosa ha in piu'. E non parlarmi di fantomatiche
versioni 4.1, 5.0, 5.1.
Ti dico cosa hanno in comune:
1) Corrompono entrambi i dati
2) Sotto carico di letture e scritture vanno in palla entrambi
3) Se devi distribuire del lavoro fatto, devi pagare entrambi.
4) Non hai viste
5) Non hai stored procedure
6) Non puoi definire tipi
7) Non puoi definire domini
8) Non hai triggers
Insomma se devi fare un serio RDBMS sono entrambi giocattoli.
Sulla retta tra access e mssql  mysql si colloca molto vicino ad access.
Scordavo l'altra cosa che hanno in comune: gli sviluppatori che li producono,
da un lato M$ che non ha bisogno di presentazioni, dall'altro MySQL Inc. che
snobba altre soluzioni free (veramente free ) dicendo: i nostri clienti non hanno
bisogno di queste cose ( leggi la nostra base di utenti e' cosi' ignorante che non conosce
nemmeno l'esistenza di quello che non diamo ).
Gaetano
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBWdKO7UpzwH2SGd4RAp/DAKCLP7CXDBf3igl4WXK9TVtPJFhbRACg6chK
V2w4dsx+xjiQDWtyrrBljI4=
=rOMC
-----END PGP SIGNATURE-----

 e vedere se regge
Beh, se e'per questo ho visto db access occupare piu' di 2Gb, enon credo
che le tabelle che lo componevano erano vuote
Henryx
-- 
Signore e signori! Lo avete letto sui giornali! E ora fremerete d'orrore
osservando con i vostri stessi occhi il piu` raro e tragico degli
scherzi di natura! .. l'uomo medio!
                                    Joker (Batman: the killing joke)

 Insomma se devi fare un serio RDBMS sono entrambi giocattoli.
Falso. Se devo fare un serio RDBMS _prima_ valuto il lavoro, e _poi_
utilizzo il db piu' opportuno (a che pro utilizzare Oracle o Postgres
per un db in cui si collegheranno massimo tre persone in croce?).
Ah, nonostante il mio intervento pro Access, non l'ho mai utilizzato
seriamente per un lavoro (ergo, lo conosco perche' ci ho fatto delle
cosette, ma mai qualcosa che debbaessere utilizzato da altri in maniera
massiccia)
Henryx
P.S. ti faccio notare che molte delle cose che hai detto su MySQL non
sono valide, in quanto tale db e' alla versione 5 ed ha colmato alcuni
dei gap che hai fatto notare
P.P.S. potresti quotare un po' meglio?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Henryx wrote:
| Gaetano Mendola ha scritto il Tue, 28 Sep 2004 23:07:28 +0200:
|
| Premetto che non ho maiusato MySQL mentre ho usato Access
Be quindi le tue sono solo sensazioni.
|>1) Corrompono entrambi i dati
|
|
| Sinceramente non mi e' mai capitato di corrompere un db Access, anche se
| so che e' molto sempliceche cio' avvenga
Insomma ti ritieni fortunato.
|>2) Sotto carico di letture e scritture vanno in palla entrambi
|
|
| Nonostante venga pubblicizzato come prodotto che fa tutto, Access e' un
| db file based, e come tale e' seriamente difficile pensare che possa
| reggere un numero alto di connessioni (ovviamente ci sara' sempre
| l'utente che pensa che Access sia un mostro di potenza...)
quindi concordi
|>3) Se devi distribuire del lavoro fatto, devi pagare entrambi.
|
|
| Falso in entrambi i casi. Il motore di Access e' incorporato in windows
| (addirittura e' possibile creare db Access senza avere il programma),
| mentre MySQL e' coperto da due licenze con vantaggi e svantaggi annessi
Si ? Prova a fare girare un db Access con crossover su Linux e fallo sapere
a M$.
Prova a distribuire un prodotto che non sia opensource che usi MySQL e fallo
sapere a MySQL Inc.
|>4) Non hai viste
|
|
| In Access hai le query, che sono sostanzialmente delle viste chiamate in
| altra maniera
Bene. Controllero' meglio per sapere se sono la stessa cosa.
|>5) Non hai stored procedure
|
| In Access hai i moduli e le macro, che sono in sostanza delle stored
| procedure potenziate (puoi addirittura creare interfacce)
Fanno parte del DDL ? Quando dumpi un DBaccess ti porti dietro loro ?
|>6) Non puoi definire tipi
|>7) Non puoi definire domini
|
|
| Mai uilizzati
Ecco. Come fai a definire un campo di tipo email ed essere sicuro che nessuno
ti ci ficchi dentro garbage ?
|>8) Non hai triggers
|
|
| Oddio, forse mi ricordo male, pero' mi sembrache si potevano definire
| delle condizioni in Access
Ti ricordi male.
|>Insomma se devi fare un serio RDBMS sono entrambi giocattoli.
|
|
| Falso. Se devo fare un serio RDBMS _prima_ valuto il lavoro, e _poi_
| utilizzo il db piu' opportuno (a che pro utilizzare Oracle o Postgres
| per un db in cui si collegheranno massimo tre persone in croce?).
Giusto, se tu non tenessi ai tuoi dati.
| Ah, nonostante il mio intervento pro Access, non l'ho mai utilizzato
| seriamente per un lavoro (ergo, lo conosco perche' ci ho fatto delle
| cosette, ma mai qualcosa che debbaessere utilizzato da altri in maniera
| massiccia)
Ecco.
| Henryx
| P.S. ti faccio notare che molte delle cose che hai detto su MySQL non
| sono valide, in quanto tale db e' alla versione 5 ed ha colmato alcuni
| dei gap che hai fatto notare
La versione 5 non e' uscita ed e' da una vita sento parlare di sta fantomatica
versione 5. Dal sito di MySQL:
# MySQL 4.1 -- Gamma release (use this for new development)
# MySQL 5.0 -- Alpha release (use this for previewing and testing new features)
# MySQL 5.0.1 -- Snapshot release (use this for previewing and testing new features)
Se vuoi usare una Gamma release o una Alpha release vuol dire che non tieni veramente ai
tuoi dati. Anche se uscisse domani comunque non affiderei i miei dati ad una versione
di engine che non e' stato collaudato abbastanza.
| P.P.S. potresti quotare un po' meglio?
Cosa ha la mia quotatura che non va ?
G.
PS: Perche' non usi il tuo nome reale ?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - 
http://enigmail.mozdev.org
iD8DBQFBWy0S7UpzwH2SGd4RAiwhAKCjm0CXOUEinGkgy/n2KKO9c9MekACgmCJD
yw4fpMQkauJtWi/4L+HIA9E=
=jM1M
-----END PGP SIGNATURE-----

 che le tabelle che lo componevano erano vuote
E invece è possibile che fossero vuote, come pure che no,
accade spesso che sia di dimensioni spropositate rispetto
al contenuto effettivo, access necessita comunque di essere
"riorganizzato" spesso.

 PS: Perche' non usi il tuo nome reale ?
Abitudine. Oramai sono otto anni che bazzico per interne e, dato che una
marea di gente mi conosce con questo soprannome, non mi sembra il caso
di cambiarlo o di presentarmi con il mio vero nome di battesimo 
Henryx
[1] a meno di non utilizzare barbatrucchi durante la scrittura del
programma (e.g.letture ad intervalli regolari e scritture con lock del
database) 

 "riorganizzato" spesso.
Questo lo sapevo ma, nonostante sappia che Access e' capace di tutto, non 
penso che possa arrivare ad occupare cosi' tanto con tabelle vuote
Henryx