3 votes

Conseils pour commencer avec SQL?

Je n'ai jamais eu beaucoup besoin de programmation avec des bases de données. Comme leur utilisation est si répandue, il me semble bon de les apprendre. SQL semble être l'endroit où commencer, peut-être SQLite et éventuellement les liaisons Python. Que recommanderiez-vous pour quelqu'un de nouveau dans ce domaine? Les bibliothèques, les outils et les idées de projets sont les bienvenus.

2voto

gregmac Points 12813

Le langage de requête structuré (SQL) est le langage utilisé pour communiquer avec les systèmes de gestion de base de données (SGBD). Bien que ce soit une bonne chose à apprendre, il est probablement préférable de le faire avec un projet en tête que vous aimeriez réaliser. C'est drôle que vous disiez que vous n'avez jamais eu besoin, car c'est le contraire pour moi, presque tous les programmes que j'ai jamais écrits ont utilisé une base de données d'une certaine manière. La grande majorité (surtout basés sur le web) tournent autour de l'utilisation d'une base de données.

  • Apprenez sur les relations et l'architecture de base de données. Cela signifie comment structurer vos tables, créer des clés étrangères et des relations.

    Par exemple, vous pourriez avoir une base de données de films. Dedans, vous stockez des informations sur les films, les studios qui ont sorti les films, et les acteurs dans les films. Chacun de ceux-ci devient une table. Chaque film est sorti par un studio. Comme vous ne voulez pas stocker les informations dupliquées du studio (adresse, etc) dans chaque entrée de film, vous stockez une relation vers cela, donc chaque élément de film contient une référence vers un élément de studio. Cela s'appelle une relation de un à plusieurs (un studio a plusieurs films). De même, vous ne voulez pas stocker les informations sur les acteurs pour chaque film. Mais un acteur peut être dans plusieurs films, donc cela est stocké comme une relation de plusieurs à plusieurs.

  • Apprenez le SQL lui-même. SQLCourse est un bon endroit pour commencer, mais il y a beaucoup d'autres livres et ressources. Le SQL est une norme, mais chaque SGBD a ses propres façons spécifiques au vendeur de faire certaines choses et d'autres limitations (par exemple, certains systèmes ne supportent pas les sous-requêtes, il existe plusieurs syntaxes différentes pour limiter le nombre de lignes retournées, etc). Il est important d'apprendre la syntaxe de celui que vous utilisez (par exemple, ne pas apprendre la syntaxe Oracle puis essayer de l'utiliser dans MySQL) mais ils sont assez similaires pour que les concepts soient les mêmes.

  • Les outils dépendent du SGBD que vous utilisez. MySQL est une base de données assez populaire, beaucoup d'outils sont disponibles et beaucoup de livres. SQLite et Postgresql sont également assez populaires et aussi gratuits/open-source.

2voto

user11318 Points 4804

Si vous le pouvez, vous voulez vraiment trouver quelqu'un qui sait comment l'utiliser et leur poser des questions. C'est parce qu'il y a beaucoup de principes importants (par exemple, la 3ème forme normale) qui sont beaucoup plus faciles à apprendre à travers la discussion plutôt que par les livres.

Si vous voulez vous enseigner, vous devriez apprendre la syntaxe pour faire des sélections de base, des jointures, des mises à jour, des suppressions et des requêtes groupées. Vous devriez également apprendre le "couteau suisse" des sélections, l'instruction CASE. Trop de gens ne le font pas. Beaucoup des tutoriels recommandés dans ce fil le feront. Ensuite, vous devez essayer de résoudre des problèmes SQL. Je suis sûr que Joe Celko's SQL Puzzles and Answers est une bonne source pour cela, bien que cela puisse être un peu avancé.

Cela vous permettra d'écrire réellement du SQL. Mais vous devez encore apprendre comment organiser une base de données. Ce qui pour la plupart des cas signifie que vous devez vraiment apprendre à quoi ressemble la 3ème forme normale. Vous n'avez pas besoin d'être capable de donner une définition formelle de celle-ci, il suffit de la reconnaître lorsque vous la voyez, et de savoir comment ajuster quelque chose pour qu'il soit dans ce format.

Beaucoup de références l'expliqueront, mais vous ne saurez pas si vous les lisez correctement. C'est là que ça aide vraiment, vraiment, d'avoir accès à quelqu'un qui peut regarder une disposition de table et vous dire : "C'est juste" vs "C'est faux, voilà ce qui doit être changé." En cas d'échec, vous pourriez poser une question ici avec une disposition proposée. Mais une discussion interactive avec une personne en direct serait toujours préférable, selon moi.

1voto

Essayez Wikipedia, http://www.w3schools.com/sql/default.asp et http://www.sql-tutorial.net/. Consultez également YouTube pour des vidéos sur SQL.

1voto

Josh McAdams Points 456

Vous avez raison, SQLite est un excellent point de départ car il est gratuit, léger et disponible sur de nombreuses plateformes. Cependant, ce n'est qu'un début. SQLite est très souple en ce qui concerne la syntaxe SQL et ne dispose pas d'un langage de programmation interne comme le font les systèmes de gestion de BDMS. Néanmoins, si vous voulez commencer et apprendre avec un minimum de contraintes, SQLite est la voie à suivre.

1voto

Allan Wind Points 1133

SQLite est agréable et ils ont vraiment une belle documentation, cependant vous devez savoir que ce n'est pas une base de données SQL complète comme MySQL, Postgres ou les variantes commerciales. L'API de SQLite repose sur des rappels, ce qui est un modèle correct, mais toutes les API de bases de données ne fonctionnent pas de cette manière. Si vous êtes familier avec Perl, alors DBI est une autre bonne façon d'explorer SQL.

/Allan

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X