Archives de la catégorie : Base de données

Metabase

Outil visualisation de données

Quand on cherche à analyser les données contenues dans une base de données, surtout s’il s’agit de mesures, mais pas seulement, il devient très vite intéressant d’avoir recours à un outils de visualisation de données permettant d’élaborer des tableaux, des graphiques, etc. On parle en général d’outils d’informatique décisionnelle (ou BI pour Business Intelligence).

J’ai longtemps cherché un outil d’informatique décisionnelle, et plus précisément de visualisation de données, open source (ou à minima gratuit), capable de se connecter à une base de données, facile à utiliser, multi -plateforme (Windows, Mac, Linux) et, de préférence, avec des fonctionnalités SQL.

Ce type de produit est finalement, et étonnamment, assez rare. Les produits payants sont légions, mais pas de version gratuite pour un usage personnel ou pour l’enseignement (pour mes DUT STID en l’occurence), au mieux, ces produits offrent une période d’essai de 15 jours.

J’ai finalement trouvé Metabase qui semble cocher toutes les cases de la solutions que je cherchais. L’installation et la configuration de cette solution est l’objet de ce billet. Si vous connaissez et appréciez une autre application d’informatique décisionnelle gratuite et multi-plateforme (Windows, Mac, Linux), n’hésitez pas à laisser un commentaire !

(suite…)

Publié dans Enseignement, Applications, Base de données | Tagué , | Laisser un commentaire

Déplacer son blog WordPress

brantaleucopsismigration

Changeant de NAS Synology, je dois déplacer mes blogs WordPress. Cette opération qui devrait être triviale ne l’est pas. Il existe plusieurs solutions, dont certaines à base de plugin. J’ai opté pour une solution plus fiable qui se décompose en trois étapes :

  1. Installer et paramétrer le nouveau serveur en installant un site WordPress Vierge pour vérifier son bon fonctionnement.
  2. Copier toute l’arborescence de fichier du blog vers son nouvel emplacement.
  3. Exporter puis importer la base de donnée associée.

(suite…)

Publié dans WordPress, Base de données | Laisser un commentaire

Installer WordPress sur un Nas Synology (DSM 6)

best-free-wordpress-themes

WordPress est un système de gestion de contenu, ou CMS (Content Management System en anglais), libre écrit en PHP et reposant sur une base de données MySQL. WordPress est surtout utilisé comme moteur de blog, mais ses fonctionnalités lui permettent également de gérer n’importe quel site web. Il est distribué selon les termes de la licence GNU GPL version 2.

Ce billet reprend celui de 2011 car le DSM de Synology a évolué depuis. Ce billet présuppose que vous possédez un nom de domaine, comme celui que peut vous proposer gratuitement votre fournisseur, auquel nous ferons référence de la manière suivante : mon.nom.de.domaine

Activation du serveur Web

La première étape consiste à activer le serveur Web sur le NAS. Si ce n’est déjà fait, il faut installer le paquet Web Station (Menu principal → Centre de paquets). Cette action crée le partage réseau nommé web (/volume1/web) sur le NAS.

(suite…)

Publié dans WordPress, Synology, Base de données | Laisser un commentaire

Mise en œuvre PostgreSQL

postgres-mac-icon

L’objectif de ce billet est de décrire une mise en œuvre simple et rapide de PostgreSQL sous Linux, et plus précisément sous Ubuntu, à des fins personnelles ou pédagogiques dans une perspective essentiellement mono-utilisateur et mono-poste. Il ne s’agit donc pas d’installer et de paramétrer le SGBD dans un contexte professionnel.

Installation de PostgreSQL

L’installation proprement dite de PostgreSQL est rapide et simple :

$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib pgadmin3

L’installation de postgresql-contrib n’est pas du tout indispensable mais apporte quelques outils supplémentaires qui peuvent s’avérer utiles, notamment pour pgAdmin. pgAdmin est une application destinée à faciliter l’utilisation de PostgreSQL. pgadmin3 n’est à installer que si vous pensez l’utiliser.

(suite…)

Publié dans Enseignement, Applications, Base de données | Tagué | Laisser un commentaire

Bases de données de séries chronologiques

Contexte

clocks

Le contexte général de ce billet est celui du métrologie/monitoring domotique dont l’objectif est 1) de stocker dans une base de données des relevés horodatés (timestamp) de sources et de nature diverses (température, luminosité, détection, compteur…) ; et 2) de produire des graphiques en utilisant ces données.

Ces relevés sont des données singulières pour une base de données. Il est donc important de se poser des questions à leur sujet comme : Comment les traiter ? Existe-t-il ou faut-il utiliser un SGBD particulier pour les traiter ? Quels outils utiliser pour les explorer en produisant des graphiques ?

Particularités des séries chronologiques

Problématique

Les relevés que la base de données va devoir stocker sont particuliers et sont caractérisés par au moins :

  • Un horodatage (timestamp)
  • Une source permettant d’identifier l’origine de la mesure
  • Une métrique permettant, entre autres, de caractériser la nature de la mesure
  • Une valeur

De plus, ces relevés vont produire une grande quantité de données immuables. Par exemple, une centaine de capteurs avec en moyenne une mesure toutes les dix minutes vont produire plus de 5 millions de relevés par an. En principe, ces données ne sont jamais modifiées après insertion.

Il faut noter que dans ces données, la caractéristique horodatage est centrale : elle constitue un critère de tri et d’accès particulier qu’il peut être pertinent d’optimiser.

Enfin, il est souvent nécessaire de réduire la résolution de ces relevés chronologiques pour les afficher. Or cette réduction n’est pas triviale et fait intervenir des fonctions mathématiques pour produire des comptages, des moyennes, des interpolations, des lissages, des maximums, des minimums…

database_256

SGBD relationnel ou SGBD dédié ?

Pour trouver de l’information sur Internet à ce sujet, on peut utiliser les mots-clés suivant :

  • Time Series Database
  • Bases de données de séries chronologiques
  • Bases de données de séries temporelles

Une petite recherche sur Internet permet de se rendre compte qu’il existe des SGBD dédiés, mais que l’on peut aussi utiliser un SGBD relationnel classique.

(suite…)

Publié dans Domotique, Base de données | Tagué | 1 commentaire

Projet Bases de Données/Programmation C : Gogol

veille

L’objectif du projet consiste à développer un petit moteur de recherche en appliquant les connaissances acquises dans les cours de bases de données et de programmation C.

Plus précisément, l’objectif est de parvenir à identifier parmi un ensemble de fichiers texte ceux qui correspondent le mieux à la requête d’un utilisateur. Les ressources mises à disposition pour ce projet sont un corpus d’environ 3000 petits fichiers texte ainsi qu’un antidictionnaire sous la forme d’un fichier texte énumérant les mots vides (un par ligne). Le
corpus (i.e. l’ensemble des quelques 3000 fichiers) peut être considéré comme le résultat du premier processus du moteur de recherche : l’exploration. Il reste donc à implémenter les deux processus suivants : l’indexation, puis la recherche.

L’implémentation de l’indexation consiste à développer un programme (GogolIndex) en C qui va lire chacun des fichiers du corpus pour en extraire les mots significatifs (i.e. autres que ceux qui figurent dans l’antidictionnaire) et les enregistrer dans une base de données organisée comme un gigantesque dictionnaire inverse. La base de donnée doit ainsi permettre de connaître l’ensemble des fichiers contenant chacun des mots significatifs extraits.

L’implémentation de la recherche consiste à développer un programme (GogolRecherche) en C qui va demander à l’utilisateur de saisir une requête puis retourner la liste des fichiers contenant au moins l’un des mots significatifs de la requête. Cette recherche est bien entendu réalisée en effectuant des requêtes sur la base de données. Les noms des fichiers retournés seront ordonnés en mettant en premier ceux qui contiennent le plus de mots significatifs et en dernier ceux qui en contiennent le moins.

Ce projet a été donné aux étudiants de 1ère année du DUT informatique en apprentissage dans le cours de Bases de Données en janvier 2013.

Publié dans Enseignement, Base de données | Tagué | Laisser un commentaire

Livre : Bases de données – de la modélisation au SQL

Bases de données - de la modélisation au SQL
Enseignant à l’institut universitaire de technologie de l’Université de Paris 13, lorsque le cours de Bases de données m’a été confié, j’ai dû rechercher dans la volumineuse bibliographie sur les Bases de données un support de cours adéquat.
Les ouvrages traitant correctement de la conception des bases de données, en utilisant le modèle entités-associations, ne sont pas si nombreux et datent souvent de l’époque Merise.
En plus de la conception, je souhaitais aborder l’algèbre relationnelle, puis le langage SQL et enfin les déclencheurs.
Chacune de ces parties devait être ponctuée de séances d’exercices sous forme de travaux dirigés ou de travaux pratiques.
J’ai donc entrepris la rédaction d’un support de cours sur mesure, qui, de révision en révision, est devenu
cet ouvrage édité dans la collection Info+ des éditions Ellipses sous le titre Bases de données – de la modélisation au SQL.
Ce livre de 255 pages est composé de 5 chapitres décrits ci-dessous.
  1. Introduction aux bases de données – L’objectif de ce court chapitre est d’introduire la problématique des bases de données : définition de la notion de bases de données, principaux modèles de bases de données, systèmes de gestion de bases de données (SGBD).
  2. Conception des bases de données : le modèle entités-associations – Ce chapitre explique comment bien concevoir une base de données.
    Après une description des éléments constitutifs du modèle entités-associations, la notion de type-association est détaillée, puis un éventail méthodologique des règles qu’il est utile d’appliquer pour l’obtention d’un modèle bien formé est ensuite présenté.
    La problématique de la normalisation des type-entités et des type-associations est ensuite abordée avant de discuter de l’adéquation des type-associations n-aires.
  3. Modèle de données relationnel – Ce chapitre commence par une présentation du modèle relationnel, puis décrit le moyen de passer d’un modèle entités-associations à un modèle relationnel.
    La théorie de la normalisation, qui constitue un précieux outil pour débusquer la redondance dans les bases de données, est ensuite présentée en détail.
    Le chapitre aborde enfin l’algèbre relationnelle qui constitue le formalisme support du langage de requête de SQL.
  4. Langage SQL – Ce chapitre est entièrement consacré au langage SQL qui est considéré comme le langage d’accès normalisé aux bases de données relationnelles. La création et la manipulation de la structure de la base de données sont traitées en premier.
    Les commandes SQL d’insertion, de suppression et de modification des données sont ensuite abordées. Puis, deux sections sont entièrement consacrées à la commande d’interrogation d’une base de données.
    La dernière section s’intéresse à la description de quelques objets particuliers.
  5. Programmation SQL – L’objet de ce chapitre est de présenter comment combiner des commandes élémentaires SQL avec un langage de programmation.
    Le premier objectif est l’implémentation de fonctionnalités complexes au niveau du SGBD grâce aux fonctions utilisateur.
    Ces fonctions sont ensuite utilisées pour implémenter des comportements complexes et dynamiques en utilisant le mécanisme des déclencheurs, rendant ainsi la base de données active.

    Le second objectif est l’interaction entre un programme et un SGBD abordé en décrivant comment intégrer des commandes SQL à un programme écrit en langage C.
Ce livre, comportant de nombreux exercices corrigés, s’adresse à toute personne désirant se former à la problématique des bases de données.

Publié dans Livres, Enseignement, Base de données | Tagué | 27 commentaires

Nouvelles du cours Bases de Données et langage SQL

Le cours Bases de Données et langage SQL hébergé chez Developpez.com se porte bien. Depuis sa mise en ligne en 2007, il totalise plus 441000 pages consultées, soit de l’ordre de 500 consultations par jour.
Cet intérêt m’a donné la motivation nécessaire pour continuer mon effort afin d’améliorer ce support de cours. Cette nouvelle version est éditée ce mois-ci dans la collection Info+ d’Ellipses. J’en parlerai prochainement dans un nouveau billet.

Je tiens à remercier les éditions Ellipses pour m’avoir autorisé à conserver la première ébauche en ligne sur le site Developpez.com.
Cette version en ligne est actuellement en cours de mise à jour. Je ne peux y apporter que peu de modifications pour ne pas faire ombrage à la version publiée. J’ai donc corrigé quelques erreurs, supprimé les sujets d’exercices (ils n’ont que peu d’intérêt sans la correction) et retaillé les images.
Voici ce que la version publié apporte par rapport à la version en ligne chez Developpez.com :

  • De nouvelles notions (spécialisation, lien identifiant, validité d’un type association n-aire, agrégat, fonctions et opérateurs SQL, fonctions utilisateur, langage PL/pgSQL, déclencheurs…). La version éditée est 2,5 fois plus volumineuse que la version en ligne (en nombre de phrases et en nombre de figures).
  • Des séances de travaux dirigés et de travaux pratiques accompagnées de corrigés complets et détaillés.
  • De nombreuses améliorations (corrections, illustrations, exemples…). En fait, seulement 10% de la version éditée se retrouve à l’identique dans la version en ligne.
  • Une présentation bien plus agréable sous la forme d’un vrai livre.
Publié dans Enseignement, Base de données | Laisser un commentaire

Cours en ligne : Base de Données et langage SQL

Ce cours commence par s’intéresser à la problématique de la conception des bases de données. La deuxième partie est consacré aux bases de données relationnelles, c’est-à-dire aux bases conçues suivant le modèle relationnel et manipulées en utilisant l’algèbre relationnelle. Il s’agit, à ce jour, de la méthode la plus courante pour organiser et accéder à des ensembles de données. La dernière partie constitue, enfin, une bonne introduction au langage SQL (Structured Query Language) qui peut être considéré comme le langage d’accès normalisé aux bases de données relationnel. Le langage SQL est supporté par la plupart des systèmes de gestion de bases de données commerciaux (comme Oracle) et du domaine libre (comme PostgreSQL).

Ce document constitue le support du cours Base de Données et langage SQL que je dispense aux étudiants du département d’informatique de l’institut universitaire de technologie de Villetaneuse.

Table des matières :
  • Introduction aux bases de données
  • Conception des bases de données (modèle E-A)
  • Bases de données relationnelles
  • Langage SQL
Publié dans Enseignement, Base de données | Tagué | 4 commentaires