GNU/Linux Magazine Hors-série N°
Numéro
67

MySQL et bases de données

Temporalité
Juillet/Août 2013
Image v3
MySQL et Bases de données
Article mis en avant

Résumé

De nombreuses applications que nous utilisons quotidiennement stockent des informations dans des bases de données. Nous savons donc intuitivement à quoi elles servent... Mais avant d'en utiliser une, il serait bon de savoir exactement ce que signifie les termes « base de données ».

Dans ce numéro...


Le modèle relationnel est le plus connu et le plus utilisé. Il a été décrit en 1970, en pleine explosion des besoins de stockage d'informations, par Edgar Codd, pour séparer la représentation logique des données de leur organisation physique.
Le modèle relationnel n'est pas le seul modèle existant. Nous avons mentionné précédemment le modèle objet comme faisant partie de la troisième génération de systèmes de gestion de bases de données, mais il en existe bien d'autres. Présentation succincte de quatre modèles « exotiques » : le modèle objet, le modèle déductif, le modèle hiérarchique et le modèle réseau.
À l'époque du Far West et de la ruée vers l'or, les chercheurs d'or se précipitaient sur les filons aurifères. Il y avait ceux qui ne trouvaient rien, étaient ruinés et ceux qui trouvaient quelques petites pépites. C'était la majorité des prospecteurs. Toutefois, pour quelques-uns, c'était le jackpot. Le Data mining, c'est la ruée vers l'or transposée aux données. De nos jours, les entreprises, les administrations, les chercheurs sont inondés de données. À titre d'exemple, si l'on regarde le domaine de la bio-informatique, de 2004 à 2013, donc en moins de dix ans, on est passé de 57 à 4142 génomes bactériens séquencés [1], soit une augmentation de 7266% représentant des To et des To de données. Je ne rentrerai pas ici dans le débat sur l'aspect qualitatif des données (est-ce qu'il vaut mieux avoir peu de données de très bonne qualité, ou beaucoup de données possédant un fort taux d'erreur ?), je m'arrêterai sur un simple fait : il y a trop de données pour pouvoir toutes les analyser manuellement. C'est là que va intervenir le Data mining.
Vous avez certainement dû entendre parler de Merise ou UML, mais ne savez peut-être pas à quoi correspondent ces termes, ni comment les utiliser ? Dans cet article, nous découvrirons les principes fondamentaux de la méthode Merise permettant de réfléchir à la conception d'une base de données.
Devoir utiliser un Oracle coûtant un bras, voire deux, en licences et autant en équipement serveur n'est pas une obligation, même lorsque l'on veut mettre en place de gros systèmes. Il y a en effet plusieurs systèmes de base de données libres plus que performants. Nous allons vous les présenter dans cet article.
Nous avons vu que grâce à des méthodes telles que Merise nous pouvions réfléchir au schéma de notre base de données en suivant trois phases correspondant aux trois modèles : MCD, MLD et MPD. Ce formalisme a été utilisé par des éditeurs de logiciels permettant d'interagir avec les systèmes de gestion de bases de données. Les outils qu'ils nous proposent permettent de créer simplement un schéma de base de données et de l'appliquer pour donner naissance à une base de données. Dans cet article, nous nous concentrerons sur deux outils disponibles pour les deux plus gros systèmes de gestion de bases de données libres : MySQL (ou MariaDB) et PostgreSQL. Pour MySQL (ou MariaDB), il s'agit de MySQL Workbench et pour PostgreSQL, il s'agit de SQL Power Architect. Si vous avez besoin d'installer l'un ou l'autre de ces systèmes de gestion de bases de données, vous pouvez vous reporter à l'article précédent portant sur les SGBD libres. Nous considérerons ici que vous disposez d'une installation fonctionnelle de ces systèmes.
SQL est un langage normalisé, donc indépendant des systèmes de gestion de bases de données. Il permet d'interagir avec les bases sous la forme de requêtes qui seront, à peu de différences près, écrites de la même manière quel que soit le SGBD choisi. Ce langage représente donc le cœur de la communication avec les SGBD et il est important de bien le maîtriser.
Certaines problématiques sont difficilement résolubles avec des bases de données classiques de type relationnelles. Dans ces situations spéciales, il peut être utile de changer de paradigme en ce qui concerne la gestion des données et d'essayer ce que certains pourraient appeler « une solution de la dernière chance », le NoSQL.
Le langage Python, qui dispose de milliers de modules permettant d'étendre ses possibilités, propose bien sûr des modules pour accéder à différents systèmes de gestion de bases de données. Dans cet article, nous allons étudier des modules permettant d'accéder à un SGBD PostgreSQL, MySQL/MariaDB, ou encore SQLite. Vous verrez que, comme d'habitude avec Python, cela ne représente pas une grande difficulté. Pour finir, nous découvrirons un aperçu de ce qu'est un ORM (Object-Relational Mapping) avec le module SQLAlchemy.
En C aussi on peut travailler avec des bases de données, et contrairement à ce que l'on pourrait penser, ce n'est pas si compliqué : chaque système de gestion de base de données propose une API qui facilite la communication entre le programme et la base. Dans cet article, nous reprendrons notre sempiternel exemple consistant à afficher la liste des articles de la table Article stockée dans la base siteMarchand. Nous testerons trois API pour communiquer avec trois SGBD différents : PostgreSQL, MySQL, puis SQLite.
Comme avec tout langage standard, les bases de données peuvent être utilisées depuis un code Java, plus ou moins simplement... En Java, on utilise une API standard pour accéder à tous les SGBD. Il s'agit de JDBC pour Java DataBase Connectivity. L'avantage de cette solution est l'intégration native dans Java SE.

Magazines précédents

Apache, le guide complet
GNU/Linux-Magazine Hors-série N°66
Apache, le guide complet
Python avancé
GNU/Linux-Magazine Hors-série N°65
Python avancé
Apprenez à programmer en Go !
GNU/Linux-Magazine Hors-série N°63
Apprenez à programmer en Go !
Ne quittez plus vos serveurs des yeux !
GNU/Linux-Magazine Hors-série N°62
Ne quittez plus vos serveurs des yeux !
Créez vos applications Android comme un pro !
GNU/Linux-Magazine Hors-série N°61
Créez vos applications Android comme un pro !

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Body