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

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

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

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

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

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

De la scytale au bit quantique : l’avenir de la cryptographie

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

Imaginez un monde où nos données seraient aussi insaisissables que le célèbre chat de Schrödinger : à la fois sécurisées et non sécurisées jusqu'à ce qu'un cryptographe quantique décide d’y jeter un œil. Cet article nous emmène dans les méandres de la cryptographie quantique, où la physique quantique n'est pas seulement une affaire de laboratoires, mais la clé d'un futur numérique très sécurisé. Entre principes quantiques mystérieux, défis techniques, et applications pratiques, nous allons découvrir comment cette technologie s'apprête à encoder nos données dans une dimension où même les meilleurs cryptographes n’y pourraient rien faire.

Body