Quelle est la façon la plus simple de commencer à utiliser des bases de données avec des données réelles?

9

J'ai un projet qui pourrait bénéficier de l'utilisation d'une base de données, mais je n'ai aucune expérience avec les bases de données, je n'ai pas accès à un serveur et j'ai relativement peu d'expérience avec des choses qui vivent côté serveur.

Si je dois aborder une courbe d'apprentissage, je préférerais apprendre quelque chose avec une large applicabilité (comme SQL), mais je me contenterais d'apprendre quelque chose comme Access s'il est suffisamment puissant pour la tâche que j'essaie actuellement de faire. tacle. Bien sûr, je préfère également ne pas laisser tomber 150 $ sur Access si cela peut être aidé car je ne fais que bricoler.

J'ai téléchargé LibreOffice Base ainsi que quelque chose appelé SQLiteBrowser, mais je voulais d'abord vérifier avant d'investir du temps pour apprendre ces applications particulières et leurs saveurs de SQL si ces outils seront suffisants pour ce que je veux faire.

Je veux pouvoir:

  • importer des données depuis un CSV ou depuis Excel
  • exécuter des requêtes qui équivalent à "sélectionner x où c'est cela et cela contient cela et n'importe lequel d'entre eux contient cela"
  • écrire (?) un nouveau champ qui indique les résultats qui correspondent à une requête donnée

Encore une fois, je suis prêt à apprendre, mais ce serait bien de ne pas avoir à apprendre un tas de choses intermédiaires sur l'informatique avant de pouvoir me concentrer sur l'apprentissage des bases de données et, si nécessaire, les détails d'une application donnée.

Charles W
la source
Dois-je laisser les mods le faire, ou dois-je supprimer et republier sur dba?
Charles W
Vous souhaitez simplement créer une base de données et utiliser certaines requêtes ou vous souhaitez l'utiliser pour le développement d'applications comme pour l'application Android ou l'application de bureau / Web.
vaichidrewar
Je veux créer une base de données pour exécuter des requêtes. L'outil que mes collègues utilisent est MS Excel, mais je pense qu'il y a une analyse beaucoup plus sophistiquée que nous pourrions faire avec un meilleur outil.
Charles W

Réponses:

5

Vous devrez d'abord utiliser le langage de requête. Toutes les versions de SQL utilisent presque la même syntaxe de requête SQL. Vous devrez donc d'abord apprendre le langage de requête SQL. Par exemple. vous pouvez commencer par un didacticiel sur www.w3schools.com/sql/default.asp

L'université de Stanford avait offert un cours public sur les bases de données l'automne dernier. Ils ont eu un bon tutoriel sur la façon de configurer SQLite .

Une fois que vous aurez commencé à apprendre SQL, vous aurez besoin d'un outil à l'aide duquel vous pourrez créer une base de données et exécuter des requêtes. SQLite est une bibliothèque de logiciels gratuits qui peut être utilisée pour créer des bases de données et exécuter des requêtes. Il peut être utilisé comme un outil indépendant, c'est-à-dire que la configuration du serveur n'est pas nécessaire pour l'utiliser. Il prend également en charge l' importation de fichiers csv .

Une fois que vous êtes familiarisé avec SQL, vous pouvez utiliser MySQL si vous souhaitez concevoir une application Web ou accéder à la création d'applications de bureau. Je ne pense pas que Microsoft Access soit nécessaire (car il n'est pas gratuit) si vous voulez simplement commencer.

vaichidrewar
la source
SQLite en lui-même est uniquement en ligne de commande, n'est-ce pas? Ce n'est pas nécessairement un problème, je cherche juste des éclaircissements. J'ai mentionné DatabaseBrowser - il est livré avec SQLite déjà intégré, mais il ajoute également une application graphique en plus. Connaissez-vous ce type de programme? Existe-t-il un nom pour ce type de logiciel d'interface intermédiaire dans le monde DB?
Charles W
7

Charles,

Vous avez mentionné MS Excel dans votre commentaire, il est donc assez sûr de supposer que vous êtes dans un environnement Microsoft. Vous avez certainement beaucoup de pouvoir si vous savez jouer avec un système de gestion de base de données.

Si vous faites une analyse sérieuse des données, je dirais optez pour des bases de données d'entreprise comme Oracle, SQL Server, MySQL, DB2, etc., qui sont des bases de données relationnelles. Il est bon de noter qu'il existe également des bases de données non relationnelles qui gagnent du terrain sur le marché des bases de données.

Puisque vous êtes probablement sur un environnement Microsoft, je vous suggère d'opter pour SQL Server. Vous pouvez demander à votre service informatique si vous disposez déjà d'une base de données d'entreprise. Si aucun, vous pouvez télécharger la version "express" de SQL Server (voir le lien sur l'autre commentaire). Pendant que vous y êtes, lisez les limites d'une édition express. L'édition express est GRATUITE.

L'édition express est une version de SQL Server pleinement opérationnelle et prête à la production, bien qu'elle soit limitée à certains égards (capacité de stockage, utilisation de la mémoire, etc.). Vous pouvez même exécuter un Reporting Services à partir de la version express. Recherchez « SQL Server Express avec services avancés (contient le moteur de base de données, Express Tools, Reporting Services et la recherche en texte intégral » -> téléchargez ici: http://www.microsoft.com/sqlserver/en/us/editions/ Éditions 2012 / express.aspx

Si vous pensez qu'il est nécessaire d'avoir une base de données à l'échelle de l'entreprise dans votre entreprise (en supposant que votre entreprise ne l'ait pas encore), allez-y et achetez la version développeur. La version développeur contient tout ce que la version Enterprise de SQL Server possède. Si vous testez ce que SQL Server peut faire dans un environnement d'entreprise, c'est la version que vous souhaitez mettre la main.

Notez que vous ne pouvez pas utiliser la version développeur pour la production. Il est destiné uniquement aux tests. La bonne chose est que lorsque la base de données de votre entreprise est prête pour les heures de grande écoute - la production - vous pouvez facilement "basculer" la version développeur vers l'instance SQL Server sous licence.

Lorsque vous commencez à apprendre SQL Server, il convient de commencer à apprendre TSQL, qui est l'implémentation SQL Server du langage SQL.

Vous avez mentionné que vous souhaitez apprendre à exécuter certaines requêtes, je vous suggère donc de commencer par:

  • Langage de manipulation de données (DML) - SELECT, INSERT, UPDATE, DELETE, MERGE
  • Data Definition Language (DDL) - CREATE, ALTER, DROP objets de base de données (tables, vues, contraintes, index, procédure stockée, etc.)

La documentation en ligne de SQL Server 2012 est également un excellent point de départ pour apprendre SQL Server: http://msdn.microsoft.com/en-us/library/ms130214.aspx

La communauté SQL Server est également une excellente ressource. Suivez-moi sur Twitter @MarlonRibunal. Quelques conseils sur où trouver les compétences SQL Server nécessaires:

  1. Livres
  2. Blogs
  3. Groupes d'utilisateurs - il existe cette association professionnelle pour SQL Server (PASS) . Bonne ressource pour tout ce qui concerne SQL Server - événements, personnes, etc. Explorez le site pour découvrir en quoi consiste l'organisation.

  4. Événements

    • Réunions / Meetups du groupe d'utilisateurs SQL Server - Vérifiez s'il y a un chapitre PASS près de chez vous - http://www.sqlpass.org/PASSChapters.aspx
    • SQL Saturday Event - conférence / formation gratuite d'un jour sur la qualité de SQL Server (administration de base de données, développement, intelligence d'affaires, etc.)
  5. #sqlhelp hashtag sur Twitter - votre service d'assistance sur Twitter. Je vous suggère de commencer à suivre les personnes qui ont utilisé la balise #sqlhelp - soit elles demandaient de l'aide concernant SQL Server, soit elles répondaient à une question.

  6. Université SQL - collection de blogs thématiques

  7. Meetup SQL Server Study Group - rassemblez vos membres et étudiez pour les examens de certification SQL Server ou tout simplement pour l'amélioration des connaissances SQL Server

MarlonRibunal
la source
J'apprécie la réponse détaillée, Marlon. En l'occurrence, je ne suis dans aucun environnement informatique typique. Je suis un entrepreneur indépendant et mes associés travaillent dans une petite entreprise. Nous utilisons Excel pour la même raison que nous utilisons Word - ce sont des applications de productivité omniprésentes. Tout cela pour dire qu'il n'y a pas d'informaticien auquel je puisse faire appel ici. Tout ce que je ferai devra être quelque chose que je ferai moi-même, c'est pourquoi j'ai mentionné mon manque de compétences côté serveur.
Charles W
1
Vous êtes sur la bonne voie. En tant qu'entrepreneur indépendant, vous devez accumuler des compétences afin de pouvoir offrir plus de services. Je vous suggère de vous lancer dans un projet personnel: migrer les données Excel dans un SQL Server 2012 Express. Installez Reporting Services et créez des rapports. Je suis sûr qu'il y a un besoin pour une sorte de rapport. J'ai écrit un tutoriel étape par étape sur Reporting Services dans mon ancien blog. C'est pour SQL Server 2005 mais vous pouvez appliquer les étapes sur les versions 2008 ou même 2012: dbalink.wordpress.com/2009/01/17/…
MarlonRibunal
Merci encore, Marlon. Je vais prendre un peu de temps le lendemain pour digérer votre réponse et la comparer avec certains de ce que d'autres ont suggéré ici. Maintenant que vous savez que je ne suis pas dans un environnement MS, en soi, recommanderiez-vous toujours l'option MS?
Charles W
1
Si je dis que vous optez pour SQL Server, c'est en grande partie mon parti pris envers SQL Server :-) Essayez, cependant. Ou essayez plusieurs plateformes et voyez celle que vous préférez. Ou, mieux encore, regardez le profil de vos clients - quelle plateforme utilisent-ils? Si 95% d'entre eux sont sur la pile Microsoft, je vais essayer SQL Server plus que l'autre plate-forme. Vous obtenez l'image. :-)
MarlonRibunal
4

Si vous voulez apprendre Access, allez-y, mais si votre destination finale sera une base de données d'entreprise, cela ne vous aidera pas aussi rapidement dans cette direction que les autres options en raison de sa vaste interface graphique masquant le SQL.

Je connais le titre de votre question, y compris le mot "le plus simple", mais écoutez-moi concernant l'itinéraire Oracle. Non seulement Oracle Express Edition (Oracle XE) est gratuit et disponible sur Windows, mais 99% de ce que vous apprenez sur Express Edition peut être appliqué aux éditions sous licence Oracle, y compris Oracle Enterprise Edition. De plus, plusieurs fonctionnalités font d'Oracle un bon choix pour les petits projets .

L'installation d'Oracle XE est facile et l'utilisation de SQL sur Oracle n'est pas plus difficile que l'utilisation de SQL sur la plupart des autres plates-formes. Les parties les plus difficiles d'Oracle sont livrées avec des systèmes plus grands qui nécessitent une administration. Les choses qui rendent difficile le fait d'être administrateur de base de données ne s'appliquent généralement pas aux personnes dans votre situation.

Oracle XE ne nécessite pas de serveur (votre poste de travail fonctionnera très probablement très bien).

Leigh Riffel
la source
Merci d'avoir prêté attention aux spécificités de ma question et d'avoir adapté votre réponse en conséquence. Je prendrai le lendemain ou deux pour passer en revue certaines de ces différentes options (MS vs SQLite vs Ocacle). Je vous en suis reconnaissant!
Charles W
1

Si vous souhaitez suivre le chemin Microsoft, vous pouvez commencer à utiliser MS SQL Server Express, qui est une édition gratuite. Il existe évidemment certaines limitations par rapport à l'édition Standard et au-dessus - vous pouvez en savoir plus sur SQL Express ici: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

Vous pouvez télécharger SQL 2012 Express et les outils client Management Studio ici: http://www.microsoft.com/en-us/download/details.aspx?id=29062

Si vous êtes intéressé par les différences entre les éditions de 2012, il y a un tableau ici: http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx

Cette page fournit des liens vers la base de données exemple "Adventure Works" que vous pouvez utiliser pour bricoler avec: http://msdn.microsoft.com/en-us/library/hh231699.aspx

Si vous souhaitez utiliser vos données de csv ou xlsx, vous pouvez lire sur l'importation de données de CSV, xlsx, etc. dans MSSQL. Il y a beaucoup de ressources à ce sujet, donc je ne les lierai pas ici, mais une recherche Google suffirait.

WT_W
la source
Ai-je tort de comprendre que MS SQL Server Express doit être configuré sur un serveur?
Charles W
1
Oui. Vous avez tort. Vous pouvez installer SQL Server Express sur un ordinateur de bureau ou portable. Il existe certaines limitations du système d'exploitation avec chaque version de SQL Exress, mais si vous utilisez Windows Vista ou Windows 7 sur votre ordinateur, vous ne devriez avoir aucun problème.
George Mastros
0

Il peut être possible de résoudre vos problèmes avec certaines fonctionnalités Excel sophistiquées. Avez-vous examiné la fonction de filtrage automatique d'Excel? Cela vous permettra d'affiner vos résultats et de répondre à la question afficher x où cela se trouve et cela contient cela ... Afin d'arriver à "tout cela contient cela", je suggère une colonne supplémentaire avec une formule utilisant le if () et find () qui pourraient ensuite être filtrées.

J'utilise à la fois Access et Excel fréquemment, et je ne suis pas sûr que la complexité de votre question me suffirait pour tirer une feuille de calcul en accès, surtout si les "données source" doivent rester dans Excel pour les rapports et / ou l'utilisation par les gens sans accès.

Bien sûr, vos questions peuvent être beaucoup plus complexes que ne le suggère votre exemple, et la base de données pourrait alors être la voie à suivre.

user18212
la source
0

APPRENDRE SQL:

Je recommande fortement de ne pas suivre la voie Microsoft et d'opter pour l'apprentissage SQL. Vous pouvez facilement configurer un environnement de développement sur votre matériel existant (que vous exécutiez Windows, Mac ou Linux). Après avoir configuré votre environnement de développement, vous pouvez consulter en ligne quelques ressources gratuites bien conçues pour vous enseigner les bases de SQL.


ÉTAPE 1: Configuration de votre environnement de développement

Windows: Si vous utilisez une machine Windows, je recommande d'utiliser WampServer, qui peut être téléchargé sur wampserver.com. Wamp signifie Windows + Apache + MySQL + PHP. L'avantage de ce package est qu'il mettra en place un environnement autonome avec toutes les parties dont vous avez besoin pour tester le développement - ou, dans notre cas, apprendre MySQL de manière pratique. Il est également livré avec phpMyadmin pour une alternative graphique à l'interaction avec vos bases de données.

REMARQUE: assurez-vous que tous les packages redistribuables Microsoft Visual C ++ appropriés sont installés sur votre système. Vous pouvez les trouver sur le site Web de WAMP, ou vous pouvez voir ces recommandations pendant l'installation de WAMP - ainsi que tous les liens de téléchargement nécessaires pour les packages qui vous manquent. Assurez-vous de les installer avant de terminer l'installation de WAMP.

Linux: Si vous utilisez Linux, je recommanderais d'installer LAMP. Les instructions pour installer LAMP sous Ubuntu peuvent être trouvées ici: http://howtoubuntu.org/how-to-install-lamp-on-ubuntu . Alternativement, si vous exécutez Ubuntu Server, vous pouvez facilement installer LAMP via Tasksel. Vous pouvez faire ça comme ceci:

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

Mac Si vous utilisez un Mac, vous pouvez opter pour un certain nombre d'alternatives. Je recommande les ampps, qui peuvent être téléchargés depuis http://www.ampps.com/download


ÉTAPE 2: Travailler avec SQL dans votre nouvel environnement,

je vais continuer ce tutoriel en supposant que vous êtes allé avec la solution WampServer (basée sur votre discussion sur les solutions Microsoft).

Une fois WampServer installé, lancez-le et attendez que le serveur apparaisse en vert dans votre barre des tâches. Cela signifie qu'il est actif et fonctionne correctement.

WampServer entièrement fonctionnel

FACULTATIF: Vous pouvez maintenant effectuer des recherches sur le Web pour des exemples de bases de données ou charger vos propres fichiers csv. Certains emplacements sur le Web avec des exemples de bases de données décentes au format csv sont les suivants: 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

Pour plus de simplicité, vous pouvez charger ces fichiers CSV via phpMyAdmin. Faites un clic gauche sur l'icône WampServer dans votre barre des tâches puis cliquez sur "phpMyAdmin":

Lancer l'installation de phpMyAdmin par WampServer

Ensuite, connectez-vous à phpMyAdmin avec le nom d'utilisateur et le mot de passe par défaut, qui est "root" (sans guillemets) et un mot de passe vide.

Connectez-vous à phpMyAdmin

Et enfin: chargez votre fichier CSV via l'onglet "Importer":

Importer votre CSV dans phpMyAdmin


ÉTAPE 3: Pratiquer votre SQL

Vous pouvez maintenant commencer à vous entraîner. Ouvrez un terminal et accédez à votre répertoire d'installation MySQL sous WampServer. Pour moi, c'est "C: \ wamp64 \ bin \ mysql \ mysql5.7.19 \ bin" mais cela variera selon que vous avez installé WampServer 32 bits ou WampServer 64 bits. Cela dépendra également de la version de mySQL qui a été installée au moment où vous lisez et suivez ces instructions. J'espère que vous pouvez trouver le répertoire vous-même. Si vous êtes bloqué, à partir de votre répertoire racine, tapez ce qui suit et notez le répertoire de sortie:

dir mysqld.exe /s

Tapez ce qui suit pour commencer à travailler dans votre environnement MySQL:

mysql -u root -p

Cela lancera mysql avec le nom d'utilisateur "root". Vous serez invité à entrer votre mot de passe (qui est vide par défaut). Appuyez simplement sur ENTER.

Utilisation de la ligne de commande pour travailler dans votre environnement MySql


ÉTAPE 4: Améliorez vos compétences SQL

Maintenant que vous disposez d'un environnement MySQL fonctionnel, vous pouvez apprendre à devenir un maître dans cet environnement! Je suggère de vérifier les éléments suivants:

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


BONNE CHANCE À TOI!

Jaxian
la source