Qual è il modo più semplice per iniziare a utilizzare database con dati reali?


9

Ho un progetto che potrebbe trarre vantaggio dall'uso di un database, ma non ho esperienza con i database, non ho accesso a un server e ho relativamente poca esperienza di lavoro con cose che vivono sul lato server.

Se dovrò affrontare una curva di apprendimento, preferirei imparare qualcosa con ampia applicabilità (come SQL) ma mi accontenterei di imparare qualcosa come Access se è sufficientemente potente per l'attività che sto attualmente cercando di affrontare. Naturalmente, preferirei anche non perdere $ 150 su Access se può essere aiutato dato che sto solo armeggiando.

Ho scaricato LibreOffice Base e qualcosa chiamato SQLiteBrowser, ma volevo verificare prima di investire tempo imparando quelle particolari applicazioni e i loro gusti di SQL se quegli strumenti saranno sufficienti per quello che voglio fare.

Voglio essere in grado di:

  • importare dati da un CSV o da Excel
  • esegui query che equivalgono a "seleziona x dove si trova questo e questo contiene quello e uno di questi contiene quello"
  • scrivere (?) un nuovo campo che indica quei risultati che corrispondono a una determinata query

Ancora una volta, sono disposto a imparare, ma sarebbe bello non dover imparare un sacco di cose intermedie sull'IT prima di potermi concentrare sull'apprendimento di database e, se necessario, sui dettagli di una determinata applicazione.


Devo lasciare che le mod lo facciano o dovrei cancellare e ripubblicare su dba?
Charles W,

Vuoi solo creare un database e utilizzare alcune query o vuoi usarlo per lo sviluppo di alcune applicazioni come per l'app Android o l'app desktop / web.
vaichidrewar,

Voglio creare un database per eseguire query. Lo strumento utilizzato dai miei colleghi è MS Excel, ma penso che ci sia un'analisi molto più sofisticata che potremmo fare con uno strumento migliore.
Charles W,

Risposte:


5

Per prima cosa dovrai usare il linguaggio delle query. Tutti i tipi di SQL utilizzano la stessa sintassi della query SQL. Quindi dovrai prima imparare il linguaggio delle query SQL. Per es. puoi iniziare con il tutorial su www.w3schools.com/sql/default.asp

L'Università di Stanford aveva offerto corsi pubblici sui database lo scorso autunno. Avevano un bel tutorial su come impostare SQLite .

Una volta che inizi a imparare SQL, avrai bisogno di alcuni strumenti con cui puoi costruire un database ed eseguire query. SQLite è una libreria software gratuita che può essere utilizzata per creare database ed eseguire query. Può essere utilizzato come strumento indipendente, ad esempio non è necessaria la configurazione del server per utilizzarlo. Supporta anche l' importazione di file CSV .

Dopo aver acquisito familiarità con SQL, è possibile utilizzare MySQL se si desidera progettare alcune applicazioni Web o accedere per creare applicazioni desktop. Non penso che Microsoft Access sia affatto necessario (in quanto non è gratuito) se vuoi solo iniziare.


SQLite da solo è solo riga di comando, giusto? Questo non è necessariamente un problema, sto solo cercando chiarimenti. Ho citato DatabaseBrowser: viene fornito con SQLite già integrato, ma aggiunge anche un'applicazione GUI. Conosci questo tipo di programma? Esiste un nome per quel tipo di software di interfaccia intermedia nel mondo DB?
Charles W,

7

Charles,

Hai citato MS Excel nel tuo commento, quindi è abbastanza sicuro supporre che ti trovi in ​​un ambiente Microsoft. Hai sicuramente molto potere se sai come pasticciare con un sistema di gestione del database.

Se stai facendo alcune serie analisi dei dati, direi di utilizzare database aziendali come Oracle, SQL Server, MySQL, DB2, ecc., Che sono database relazionali. È bene notare che ci sono anche database non relazionali là fuori che stanno guadagnando trazione nel mercato dei database.

Dato che probabilmente sei in un ambiente Microsoft, ti suggerisco di scegliere SQL Server. Puoi chiedere al tuo dipartimento IT se hai già un database aziendale. In caso contrario, è possibile scaricare la versione "express" di SQL Server (vedere il collegamento sull'altro commento). Mentre sei lì leggi le limitazioni di un'edizione espressa. L'edizione express è GRATUITA.

L'edizione express è una versione completamente funzionante e pronta per la produzione di SQL Server sebbene sia limitata in alcuni modi (capacità di archiviazione, utilizzo della memoria, ecc.). È anche possibile eseguire un Reporting Services dalla versione espressa. Cercare " SQL Server Express con servizi avanzati (contiene il motore di database, Express Tools, Reporting Services e la ricerca full-text " -> scaricare qui: http://www.microsoft.com/sqlserver/en/us/editions/ 2012-edizioni / express.aspx

Se ritieni che ci sia una necessità per un database a livello aziendale nella tua azienda (supponendo che la tua azienda non lo abbia ancora), vai avanti e acquista la versione per sviluppatori. La versione per sviluppatori contiene tutto ciò che ha la versione Enterprise di SQL Server. Se stai testando cosa può fare SQL Server in un'impostazione aziendale, questa è la versione su cui vuoi mettere le mani.

Si noti che non è possibile utilizzare la versione per sviluppatori per la produzione. È destinato esclusivamente ai test. La cosa buona è che quando il database della tua azienda è pronto per la prima serata - produzione - puoi facilmente "passare" la versione dello sviluppatore all'istanza di SQL Server concessa in licenza.

Quando inizi a imparare SQL Server, è giusto iniziare a imparare TSQL, che è l'implementazione del linguaggio SQL da parte di SQL Server.

Hai detto che vuoi imparare a eseguire alcune query, quindi ti suggerisco di iniziare con:

  • Data Manipulation Language (DML): SELEZIONA, INSERISCI, AGGIORNA, ELIMINA, MERGE
  • Data Definition Language (DDL) - CREATE, ALTER, DROP oggetti database (tabelle, viste, vincoli, indice, stored procedure, ecc.)

La documentazione online di SQL Server 2012 è anche un ottimo punto di partenza per l'apprendimento di SQL Server: http://msdn.microsoft.com/en-us/library/ms130214.aspx

Anche la community di SQL Server è un'ottima risorsa. Seguimi su Twitter @MarlonRibunal. Alcuni consigli su dove trovare le competenze necessarie per SQL Server:

  1. Libri
  2. Blog
  3. Gruppi utenti: esiste questa Associazione professionale per SQL Server (PASS) . Buona risorsa per qualsiasi cosa su SQL Server: eventi, persone, ecc. Esplora il sito per scoprire in cosa consiste l'organizzazione.

  4. eventi

    • Riunioni / Meetup di gruppi di utenti di SQL Server - Controlla se c'è un capitolo PASS vicino a te - http://www.sqlpass.org/PASSChapters.aspx
    • Evento SQL Saturday : conferenza / formazione gratuite di qualità un giorno per SQL Server (amministrazione del database, sviluppo, business intelligence, ecc.)
  5. #sqlhelp hashtag su Twitter - la tua helpline su Twitter. Ti suggerisco di iniziare a seguire quelle persone che hanno usato il tag #sqlhelp - o stavano chiedendo aiuto in relazione a SQL Server o rispondendo a una domanda.

  6. SQL University - raccolta di blog specifici per argomento

  7. Meetup di SQL Server Study Group : assembla i tuoi membri e studia per gli esami di certificazione di SQL Server o semplicemente per migliorare le conoscenze di SQL Server


Apprezzo la risposta dettagliata, Marlon. In effetti, non mi trovo in un tipico ambiente IT di alcun tipo. Sono un imprenditore indipendente e i miei collaboratori lavorano in una piccola azienda. Usiamo Excel per lo stesso motivo per cui utilizziamo Word: sono applicazioni di produttività onnipresenti. Tutto ciò per dire, non esiste una persona IT per cui posso fare appello qui. Qualunque cosa io faccia dovrà essere qualcosa che faccio da solo, motivo per cui ho menzionato la mia mancanza di competenze lato server.
Charles W,

1
Sei sulla strada giusta. Come appaltatore indipendente, devi accumulare competenze in modo da poter offrire più servizi. Ti suggerisco di intraprendere un progetto personale: migrare i dati di Excel in un SQL Server 2012 Express. Installa Reporting Services e crea rapporti. Sono sicuro che ci sia bisogno di una sorta di segnalazione. Nel mio vecchio blog ho scritto una procedura dettagliata su Reporting Services. È per SQL Server 2005 ma è possibile applicare i passaggi sulle versioni 2008 o addirittura 2012: dbalink.wordpress.com/2009/01/17/…
MarlonRibunal

Grazie ancora, Marlon. Prenderò un po 'di tempo il giorno successivo per digerire la tua risposta e confrontarla con alcuni di ciò che altri hanno suggerito qui. Ora che sai che non sono in un ambiente MS, di per sé, consiglieresti comunque l'opzione MS?
Charles W,

1
Se dico che vai per SQL Server, gran parte di questo è il mio pregiudizio verso SQL Server :-) Provaci, però. Oppure prova più piattaforme e vedi quale ti piace di più. O, meglio ancora, guarda il profilo dei tuoi clienti: quale piattaforma stanno usando? Se il 95% di essi si trova nello stack Microsoft, allora proverò SQL Server a provare di più rispetto all'altra piattaforma. Ottieni l'immagine. :-)
MarlonRibunal

4

Se vuoi imparare Access, cercalo, ma se la tua destinazione finale sarà un database Enterprise, non ti aiuterà in quella direzione come altre opzioni a causa della sua ampia GUI che nasconde l'SQL.

Conosco il titolo della tua domanda, inclusa la parola "più semplice", ma ascoltami per quanto riguarda la rotta Oracle. Non solo Oracle Express Edition (Oracle XE) è gratuito e disponibile su Windows, ma il 99% di ciò che apprendi su Express Edition può essere applicato alle edizioni con licenza Oracle, inclusa Oracle Enterprise Edition. Inoltre, ci sono diverse funzionalità che rendono Oracle una buona scelta per piccoli progetti .

L'installazione di Oracle XE è semplice e l'utilizzo di SQL su Oracle non è più difficile dell'utilizzo di SQL sulla maggior parte delle altre piattaforme. Le parti più difficili di Oracle vengono fornite con sistemi più grandi che richiedono amministrazione. Le cose che rendono difficile essere un amministratore di database per lo più non si applicano alle persone nella tua situazione.

Oracle XE non richiede un server (molto probabilmente la tua workstation funzionerà correttamente).


Grazie per aver prestato attenzione ai dettagli della mia domanda e adattato di conseguenza la tua risposta. Prenderò il giorno o due successivi per rivedere alcune di queste diverse opzioni (MS vs SQLite vs Ocacle). Lo apprezzo!
Charles W,

1

Se vuoi andare giù per il percorso Microsoft, puoi iniziare a utilizzare MS SQL Server Express, che è un'edizione gratuita. Ci sono ovviamente alcune limitazioni rispetto all'edizione Standard e successive - puoi leggere di più su SQL Express qui: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

È possibile scaricare SQL 2012 Express e gli strumenti client di Management Studio qui: http://www.microsoft.com/en-us/download/details.aspx?id=29062

Se sei interessato alle differenze tra le edizioni per il 2012, c'è una tabella qui: http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx

Questa pagina fornisce collegamenti al database di esempio "Adventure Works" che è possibile utilizzare per armeggiare con: http://msdn.microsoft.com/en-us/library/hh231699.aspx

Se vuoi usare i tuoi dati da CSV o XLSX, allora puoi leggere su come importare dati da CSV, XLSX, ecc. In MSSQL. Ci sono molte risorse al riguardo, quindi non le collegherò qui, ma sarebbe sufficiente una ricerca su Google.


Sbaglio nel capire che MS SQL Server Express deve essere impostato su un server?
Charles W,

1
Sì. Tui hai torto. È possibile installare SQL Server Express su un computer desktop o portatile. Esistono alcune limitazioni del sistema operativo con ogni versione di SQL Exress, ma se stai utilizzando Windows Vista o Windows 7 sul tuo computer, non dovresti avere problemi.
George Mastros,

0

Potrebbe essere possibile risolvere i tuoi problemi con alcune sofisticate funzionalità di Excel. Hai esaminato la funzione di filtro automatico di Excel? Ti consentirà di restringere i risultati e di rispondere alla domanda mostra x dove si trova questo e questo contiene quello .... Per arrivare a "uno di questi contiene quel" suggerirei una colonna aggiuntiva con una formula usando il if () e trova () funzioni che potrebbero essere filtrate.

Uso frequentemente sia Access che Excel e non sono sicuro che la complessità della tua domanda mi basterebbe per accedere a un foglio di calcolo, soprattutto se i "dati di origine" devono rimanere in Excel per la segnalazione e / o l'uso di gente senza accesso.

Naturalmente, le tue domande potrebbero essere molto più complesse di quanto il tuo esempio suggerisca, e quindi il database potrebbe essere la strada da percorrere.


0

IMPARA SQL:

Consiglio vivamente di non seguire il percorso Microsoft e di optare per l'apprendimento di SQL. È possibile configurare facilmente un ambiente di sviluppo sull'hardware esistente (sia che si esegua Windows, Mac o Linux). Dopo aver impostato il tuo ambiente di sviluppo, puoi dare un'occhiata ad alcune risorse gratuite ben fatte online per insegnarti le basi di SQL.


PASSAGGIO 1: impostazione dell'ambiente di sviluppo

Windows: se stai utilizzando un computer basato su Windows, ti consiglio di utilizzare WampServer, che può essere scaricato da wampserver.com. Wamp sta per Windows + Apache + MySQL + PHP. Il vantaggio di questo pacchetto è che creerà un ambiente autonomo con tutte le parti necessarie per testare lo sviluppo o, nel nostro caso, imparare MySQL in modo pratico. Inoltre viene fornito con phpMyadmin per un'alternativa grafica all'interazione con i database.

NOTA: assicurarsi che sul sistema siano installati tutti i pacchetti ridistribuibili di Microsoft Visual C ++ appropriati. Puoi trovarli sul sito Web di WAMP, oppure puoi vedere questi consigli durante l'installazione di WAMP - insieme a tutti i collegamenti di download necessari per i pacchetti che ti mancano. Assicurati di installarli prima di completare l'installazione di WAMP.

Linux: se usi Linux, ti consiglio di installare LAMP. Le istruzioni per l'installazione di LAMP sotto Ubuntu sono disponibili qui: http://howtoubuntu.org/how-to-install-lamp-on-ubuntu . In alternativa, se si esegue Ubuntu Server, è possibile installare facilmente LAMP tramite Tasksel. Puoi farlo in questo modo:

sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server

Mac Se si utilizza un Mac, è possibile scegliere diverse alternative. Raccomando ampps, che può essere scaricato da http://www.ampps.com/download


PASSAGGIO 2: Lavorare con SQL nel tuo nuovo ambiente

Continuerò questo tutorial supponendo che tu sia andato con la soluzione WampServer (basata sul tuo discorso sulle soluzioni Microsoft).

Dopo aver installato WampServer, avviarlo e attendere fino a quando il server non viene visualizzato in verde nella barra delle applicazioni. Ciò significa che è attivo e funziona correttamente.

WampServer perfettamente funzionante

OPZIONALE: ora è possibile eseguire alcune ricerche Web per database di esempio o caricare i propri file CSV. Alcuni spot sul web con database di esempio decenti in formato CSV sono i seguenti: https://support.spatialkey.com/spatialkey-sample-csv-data/
https://catalog.data.gov/dataset?res_format=CSV
http : //www.sample-videos.com/download-sample-csv.php

Per semplicità puoi caricare questi file CSV tramite phpMyAdmin. Basta fare clic sinistro sull'icona WampServer nella barra delle applicazioni e quindi fare clic su "phpMyAdmin":

Avviare l'installazione di phpMyAdmin di WampServer

Quindi, accedi a phpMyAdmin con il nome utente e la password predefiniti, che è "root" (senza virgolette) e una password vuota.

Accedi a phpMyAdmin

E infine: carica il tuo file CSV tramite la scheda "Importa":

Importare il tuo CSV in phpMyAdmin


PASSO 3: Esercitati con il tuo SQL

Ora puoi iniziare ad allenarti. Apri un terminale e vai alla directory di installazione di MySQL in WampServer. Per me, questo è "C: \ wamp64 \ bin \ mysql \ mysql5.7.19 \ bin" ma questo varierà a seconda che tu abbia installato WampServer 32 bit o WampServer 64 bit. Dipenderà anche dalla versione di mySQL installata al momento in cui leggi e segui queste istruzioni. Confido che tu possa trovare la directory da solo. Se sei bloccato, dalla tua directory principale digita quanto segue e nota la directory di output:

dir mysqld.exe /s

Digita quanto segue per iniziare a lavorare nel tuo ambiente MySQL:

mysql -u root -p

Questo avvierà mysql con il nome utente "root". Ti verrà richiesta la password (che è vuota per impostazione predefinita). Basta premere INVIO.

Utilizzo della riga di comando per lavorare nel tuo ambiente MySql


PASSO 4: aggiorna le tue abilità SQL

Ora che hai un ambiente MySQL funzionante puoi continuare a imparare come diventare un maestro in quell'ambiente! Suggerisco di verificare quanto segue:

Canale Youtube di Derek Bana: https://www.youtube.com/watch?v=yPu6qV5byu4
Codecademy: https://www.codecademy.com/articles/sql-commands
Tutorialzine: https://tutorialzine.com/2016/01/01 / learn-sql-in-20-minuti
W3Schools: https://www.w3schools.com/sql/sql_quickref.asp


BUONA FORTUNA A TE!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.