Imparare database

sabato 11 novembre 2006 - 11.56

valetudo Profilo | Newbie

Ciao
diversi anni fa ho imparato ad usare access, ora per motivi di lavoro, dovrei progredire ed imparare qualcosa di più serio e potente, per questo mi hanno consigliato My SQL.
Io tra tanti tipi di "SQL" non so proprio su cosa orientarmi (SQL Server, T-SQL, My SQL ecc.), potete consigliarmi quale sia il migliore?
Ed eventualmente se esistono manuali in rete e quali libri, semplici, da acquistare?
Vi ringrazio

Valetudo

Brainkiller Profilo | Guru

>Io tra tanti tipi di "SQL" non so proprio su cosa orientarmi
>(SQL Server, T-SQL, My SQL ecc.)

Allora un po' di chiarezza, SQL Server è un prodotto (database di Microsoft), T-SQL è il linguaggio usato dentro SQL Server, MySQL è un altro prodotto (sempre un database).

>potete consigliarmi quale sia il migliore?

La battaglia sul database migliore si gioca secondo me tra Oracle e SQL Server, qualcuno potrebbe anche aggiungere Postgres e DB2 di IBM, MySQL per ora lo lascerei dietro.

La scelta deve ricadere un po' sulle tue esigenze. In genere l'accoppiata SQL Server - .NET vince, così come l'accoppiata PHP - MySQL. Non si consiglia mai di incrociare per esempio tecnologie di un vendor con quelle di un altro esempio .NET - MySQL o PHP-SQL anche se può capitare per varie esigenze (costi di solito) di incrociarle. Quindi se hai intenzione di programmare in .NET meglio imparare SQL Server, se pensi che programmerai in PHP meglio usare MySQL.

>Ed eventualmente se esistono manuali in rete e quali libri, semplici,
>da acquistare?

Prima decidi cosa vuoi fare poi vediamo sui libri.
In ogni caso posso dirti che sia con SQL Server che con MySQL in allegato al prodotto c'è molta molta documentazione ed è anche fatta molto bene, se non erro per entrambi sia in Italiano che in Inglese.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lbenaglia Profilo | Guru

>diversi anni fa ho imparato ad usare access, ora per motivi di
>lavoro, dovrei progredire ed imparare qualcosa di più serio e
>potente, per questo mi hanno consigliato My SQL.
>Io tra tanti tipi di "SQL" non so proprio su cosa orientarmi
>(SQL Server, T-SQL, My SQL ecc.), potete consigliarmi quale sia
>il migliore?
>Ed eventualmente se esistono manuali in rete e quali libri, semplici,
>da acquistare?

Ciao Valetudo,

a differenza di Microsoft Access, Microsoft SQL Server, MySQL, PostgreSQL, Oracle, DB2, ecc. sono tutti database server, ovvero servizi che gestiscono il funzionamento dei database in essi definiti.
In parole povere, con questi Database Management Systems (DBMS) il "motore" risiede generalmente su un server remoto insieme ai database ed i client si limitano ad avere installato il driver specifico per comunicare con quel ben determinato DBMS. In Access invece "motore" e database risiedono su ogni singolo client. Capisci bene che le architetture sono completamente differenti in quanto sono studiate per risolvere esigenze diverse.
Se hai la necessità di lavorare con un database contemporaneamete da n postazioni di lavoro, Access non è indicato in quanto supponendo di condividere via share il database, ogni singola query comporterà un enorme traffico di rete visto che i dati verranno trasferiti in locale per l'elaborazione in quanto il motore risiede sui singoli client; i database server invece si limitano ad accettare le query dai client, le elaborano e restituiscono il risultato dell'elaborazione.
Access a differenza degli altri DBMS consente la realizzazione di vere e proprie applicazioni, con maschere e reports cosa non possibile nativamente con gli altri DBMS che ho citato.
In genere si utilizza uno o più linguaggi di programmazione per creare l'applicazione che si interfaccerà al database remoto.

Dopo questa breve e confusa panoramica , ora sta a te decidere su quale DBMS concentrare l'attenzione.
Se dovrai lavorare in ambiente Microsoft, SQL Server 2005 Express Edition costituisce certamente la scelta migliore dato che si integra alla perfezione con tutta la suite di sviluppo della casa.
Inoltre nel caso in cui un domani ti sarà richiesto di lavorare con le edizioni superiori di SQL Server, il passo sarà molto breve dato che tutto il lavoro svolto potrà essere migrato senza richiedere alcuna modifica.

A partire dal seguente link troverai tutta la documentazione necessaria per capire le funzionalità offerte da SQL Server 2005 Express Edition e troverai i links per scaricare gratuitamente il prodotto e la documentazione in linea:
http://www.microsoft.com/sql/editions/express/default.mspx

>Vi ringrazio
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

valetudo Profilo | Newbie

In verità mi hanno detto che Oracle non si usa tanto, non so perchè, ed inoltre la mia esigenza è di creare database da mettere in rete con la creazione di forum.
Credi che sia meglio a questo punto MySQl con PHP?

Valetudo

Brainkiller Profilo | Guru

>In verità mi hanno detto che Oracle non si usa tanto

Mah, non so con chi tu parli, ma mi sembra che sappia poche cose e per di più le poche che sa le sa male.
Oracle è uno dei migliori DB al mondo. Naturalmente non per i Forum dato il suo costo elevato. Anche Oracle offre una versione gratuita così come SQL Server con MSDE (ora SQL Express) e anche MySQL è gratuito solo se non per attività a scopo di lucro.

>perchè, ed inoltre la mia esigenza è di creare database da mettere
>in rete con la creazione di forum.
>Credi che sia meglio a questo punto MySQl con PHP?

Qui dipende da cosa vuoi fare, se hai un tuo server a disposizione oppure devi dipendere da qualcuno. Se devi dipendere da qualcuno ti devi adeguare a quello che ti offre. Se puoi fare quello che vuoi in casa tua, se trattasi di un forum ,entrambe le tecnologie vanno bene sia PHP che ASP.NET con i rispettivi MySQL oppure SQL Server / SQL Express.
CIao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

valetudo Profilo | Newbie

Per Oracle non mi dilungo perchè sono solo voci e quindi credo assolutamente a quanto mi dici, per la mia esigenza invece sarò più preciso;
in ufficio abbiamo un server e 50 client; io ho creato un sito web dove ho inserito vari link ma la necessità primaria è quella di inserire un database che abbia anche la possibilità di effettuare varie query e una pagina che permetta agli impiegati di rispondere a vari quesiti.
Access, come avete già detto, mi ha permesso di creare anche delle belle maschere, ma la cosa principale è che gli impiegati possano fare ricerche mirate ed inserire dati da inviarmi.
grazie

valetudo Profilo | Newbie

Ora che abbiamo definito che per la mia attività è preferibile imparare ed usare MySQL con PHP, mi potete consigliare libri, cd, e siti dove scaricare manuali?

Vi ringrazio per la precisione e la tempestività delle risposte

Valetudo

lbenaglia Profilo | Guru

>Ora che abbiamo definito che per la mia attività è preferibile
>imparare ed usare MySQL con PHP, mi potete consigliare libri,
>cd, e siti dove scaricare manuali?

A dire la verità David ha detto che le accoppiate ASP.NET + SQL Server o PHP + MySQL sono entrambe valide per quello che vuoi fare...

Se hai scelto di utilizzare PHP + MySQL non sono la persona più indicata a suggerirti siti/documentazione dato che non conosco queste tecnologie.
Ricorri a Google e troverai migliaia di siti...
Questo è il primo che ho trovato con la stringa "php mysql":
http://www.freewebmasterhelp.com/tutorials/phpmysql

>Vi ringrazio per la precisione e la tempestività delle risposte
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Brainkiller Profilo | Guru

>in ufficio abbiamo un server e 50 client

Un server e 50 client di che tipo ? Windows o Linux ?

Perchè se sono Windows ed hai un Windows Server 2000 o 2003 a questo punto ti conviene installare la combinzione SQL Express con ASP.NET. Inoltre non ti conviene immetterti in un campo che magari non conosci, perchè se devi installare un server Linux devi anche configurarlo, devi conoscere Apache e pure PHP. Anche su Windows bisogna fare le stesse operazioni ma è un po' più facile ed intuitivo.

Poi c'è una differenza sostanziale di cui non abbiamo parlato. Per lo sviluppo di ASP.NET hai un ambiente integrato che è Visual Studio, per PHP non ho proprio idea ma non mi risulta ci siano strumenti che anche lontanamente si avvicinino a Visual Studio.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

valetudo Profilo | Newbie

Io lavoro in ambiente windows, sul server abbiamo win2000 server ed i client win 2000
Ma è vero che con mysql gli utenti che possono collegarsi sono solo 8 per volta?
Ho troppo le idee confuse, ma credo di orientarmi a questo punto su SQL 2005 server anche se non credo mi permetta di creare database dinamici. Tu che dici?

Riccardo

lbenaglia Profilo | Guru

>Ho troppo le idee confuse, ma credo di orientarmi a questo punto
>su SQL 2005 server anche se non credo mi permetta di creare database
>dinamici. Tu che dici?

Cos'è un "database dinamico"?

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Brainkiller Profilo | Guru

>Ma è vero che con mysql gli utenti che possono collegarsi sono
>solo 8 per volta?

Non mi risulta, chi te l'ha detto ?

>Ho troppo le idee confuse, ma credo di orientarmi a questo punto
>su SQL 2005 server anche se non credo mi permetta di creare database
>dinamici. Tu che dici?

Come Lorenzo ti chiedo cosa intendi per Database dinamici.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

valetudo Profilo | Newbie

forse non è il termine giusto, ma mi pare si usi per intendere database che possono essere inseriti in un sito web dove gli utenti effettuano ricerche, interrogazioni ecc. quindi inserirci anche uno script come php.
Il mio dubbio, dovuto alla scarsa conoscenza, è relativo alla differenza tra SQL server e My Sql, quindi cosa permette l'uno e cosa l'altro, stabilito questo e dopo le vostre tante precisazioni, riuscirò a prendere una decisione ed iniziare questa avventura.


Riccardo

n.b
ciò che mi ha entusiasmato è un database che stiamo usando in ufficio, effettuato dalla società "Elsag"
Questo è fatto in SQL e dalle postazioni dei 50 impiegati ci si può collegare come una pagina web e lavorare inserendo i tanti dati richiesti con maschere e menu a tendina ed in particolar modo anche tutti insieme.

lbenaglia Profilo | Guru

>forse non è il termine giusto, ma mi pare si usi per intendere
>database che possono essere inseriti in un sito web dove gli
>utenti effettuano ricerche, interrogazioni ecc. quindi inserirci
>anche uno script come php.
Gulp? Salvi script in un db? A che pro?

>Il mio dubbio, dovuto alla scarsa conoscenza, è relativo alla
>differenza tra SQL server e My Sql, quindi cosa permette l'uno
>e cosa l'altro, stabilito questo e dopo le vostre tante precisazioni,
>riuscirò a prendere una decisione ed iniziare questa avventura.
Fai riferimento a questa comparazione (anche se un po' datata):

"The comparison of SQL Server 2000 with MySQL v4.1"
http://www.databasejournal.com/features/mssql/article.php/3087841

>n.b
>ciò che mi ha entusiasmato è un database che stiamo usando in
>ufficio, effettuato dalla società "Elsag"
>Questo è fatto in SQL e dalle postazioni dei 50 impiegati ci
>si può collegare come una pagina web e lavorare inserendo i tanti
>dati richiesti con maschere e menu a tendina ed in particolar
>modo anche tutti insieme.
Insomma, un normalissimo db utilizzato da una web application consultata da 50 persone
Per questo genere di applicazioni puoi utilizzare qualumque DBMS

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

seraphstream Profilo | Newbie

Ragazzi, non c'è paragone tra Oracle e Ms SQL server ....

Oracle è nato prima, ha molta più esperienza ed è utilizzato dalle più grosse società al mondo grazie alla sua velocità e affidabilità.

Ma su Db di con poche tuple puoi anche usare Mysql senza problemi ... fino diciamo a 100-150 mila record viaggia bene.

Oracle batte Ms SQL server su join molte complicate e su molti record ne db.

CIAO

P.S.
Se vuoi vedere un po' di documentazione vai su:

http://www.merovingio.it/oracle/errors

lbenaglia Profilo | Guru

>Oracle batte Ms SQL server su join molte complicate e su molti
>record ne db.

Esatto, è proprio per questo motivo che aziendine a conduzione familiare come NASDAQ, Merryl Linch, Terra Server, Sky Server e Hilton hanno deciso di spostare il loro intero sistema su SQL Server 2005...

>P.S.
>Se vuoi vedere un po' di documentazione vai su:
http://www.microsoft.com/sql/bigdata/default.mspx
http://www.microsoft.com/sql/prodinfo/compare/oracle/devprodoracle.mspx

Un saluto dal Microsoft Conference Center di Redmond

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Brainkiller Profilo | Guru

>Ragazzi, non c'è paragone tra Oracle e Ms SQL server ....

Io aspetterei a dirlo.

>Oracle è nato prima, ha molta più esperienza ed è utilizzato
>dalle più grosse società al mondo grazie alla sua velocità e
>affidabilità.

Questa cosa lascia il tempo che trova. Il fatto che sia nato prima non vuol dire niente, allora Google che è nato 10/15 anni dopo dei più blasonati motori di ricerca ?
Eppure è il numero 1 ?

>Oracle batte Ms SQL server su join molte complicate e su molti
>record ne db.

Si ma non è sufficiente questo per dire se un RDBMS è meglio degli altri. Una cosa più affidabile sono i report di TPC.org per esempio che fanno dei test molto accurati.

Per il resto diventa una guerra di religione come a stabilire se è meglio linux o windows. Io ho usato entrambi sia Oracle che SQL, sono entrambi ottimi, credo che qualsiasi azienda grossa potrebbe utilizzare indipendentemente entrambi con prestazioni simili.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

seraphstream Profilo | Newbie

Tutti di parte vedo....

Non voglio fare polemica ma...

Forse Hilton verrà gestito su Sql server, non so...

Potrei anch'io fare mille esempi di mille azienducole a condizione familiare....(un esempio per tutti: il 90% degli aereoporti USA usa ORACLE)

Ma io non lavoro alla Oracle e i 2 Db gli ho provati di persona!!

Voi invece mi sembra lavoriate alla ....




lbenaglia Profilo | Guru

>Tutti di parte vedo....


>Forse Hilton verrà gestito su Sql server, non so...
http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=49192

>Ma io non lavoro alla Oracle e i 2 Db gli ho provati di persona!!
>
>Voi invece mi sembra lavoriate alla ....
Alla?
Io non lavoro alla... e utilizzo quotidianamente SQL Server (2000 e 2005) e Oracle 10g

La mia risposta è stata volutamente "di parte" visto il tuo approccio DECISAMENTE di parte ("Ragazzi, non c'è paragone tra Oracle e Ms SQL server ....").

Entrambi i DBMS hanno punti di forza e lacune, anche se ad Oracle e per certi versi anche a SQL Server preferisco DB2 Universal Database... Ah, attualmente non lavoro nemmeno per IBM (sono stato dipendente 14 anni fa ).

La scorsa settimana ho avuto modo di partecipare ad una conferenza in Microsoft Corporation dove i PM e alcuni del Dev Team ci hanno illustrato in anteprima diverse funzionalità che saranno introdotte nella prossima versione di SQL Server (Katmai).
L'evoluzione del prodotto è notevole, avremo sempre più aderenza agli standard ANSI SQL (e su questo aspetto SQL Server è ai vertici della categoria a differenza di Oracle), novità importanti in ambito della BI e nella individuazione dei problemi in architetture complesse.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Brainkiller Profilo | Guru

>Tutti di parte vedo....
>Non voglio fare polemica ma...

Guarda che qui, forse l'unico che è di parte sei tu.

>Potrei anch'io fare mille esempi di mille azienducole a condizione
>familiare....(un esempio per tutti: il 90% degli aereoporti USA
>usa ORACLE)

Tu continui a scrivere queste affermazioni che lasciano il tempo che trovano. Che vuol dire che il 90% degli aeroporti USA usa Oracle ? Vuol dire tutto e niente, primo perchè il 90% degli aeroporti USA potrebbe corrispondere allo 0,0001% della quota di mercato di Oracle (che è quindi insignificante), secondo perchè allora quando vado negli USA mi perdono sempre la valigia, è Oracle che è scarso ? Non mi permetterei mai di dirlo perchè non c'è netta correlazione tra la valigia persa e la qualità del DB così come fra le quote di mercati globali e un esempio (degli aeroporti USA).

>Ma io non lavoro alla Oracle e i 2 Db gli ho provati di persona!!

Io ripeto, li ho provati entrambi. Se potevo dire che Oracle era superiore a SQL 2000, attualmente non posso dirlo lo stesso di SQL 2005. Con questo non dico che SQL 2005 è superiore ad Oracle ma per lo meno ci sono pregi e difetti sia nell'uno che nell'altro prodotto che fanno ritenere entrambi i prodotti buoni. Non è che perchè uno è buono l'altro è un cesso e viceversa.

Bando alle ciance, visto che sei esperto di Oracle mi spieghi perchè le stringhe vuote vengono considerate NULL su Oracle ? E se questo comportamento è presente ancora anche sulle ultime versioni di Oracle ? E se è possibile disattivarlo ?

Grazie
ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5