Archives du tag : PostgreSQL

Metabase : premier graphique

Dans ce billet j’explique comment créer rapidement un graphique généré à partir du résultat d’une requête SQL en utilisant Metabase.

Ajout d’une base de données

Pour faire un graphique, il faut connecter Metabase à au moins une base de données. Si vous n’avez pas fait cette connexion au moment de l’intallation (billet Metabase), ou si vous voulez ajouter une nouvelle base de données, il faut se rendre dans :

  • Paramètres (⚙ roue crantée en haut à droite) → Administration → Bases de données → Ajouter une base de données.
Il ne reste plus qu’à sélectionnner le Type de base de données puis remplir les champs :
  • Nom,
  • Hôte (adresse IP),
  • Port (si celui par défaut n’est pas bon),
  • Nom de la base de données,
  • Nom d’utilisateur
  • et Mot de passe.
N’oubliez pas de finaliser l’opération en cliquant sur Sauvegarder les modifications.

Pour revenir à l’écran d’accueil, cliquer sur Paramètres (⚙) → Quitter le panneau d’administration.

(suite…)
Publié dans Enseignement, Applications, Base de données | Tagué , | Laisser un commentaire

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

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

Synology Photo Station et commentaires

Activer/désactiver les commentaires

Pour activer la possibilité de commenter les photos d’un album, se rendre sur l’album, puis cliquer en haut sur Plus puis sur Confidentialité et infos sur l’album et cocher en bas Permettre aux utilisateurs de faire des commentaires.

Sauver/restaurer Photo Station

La meilleure façon de sauver correctement et complètement Photo Station avec ses commentaires est certainement de passer par le système de sauvegarde de Synology (Menu principal > Sauvegarder et restaurer > Créer) en n’oubliant pas de cocher la case sauvegarde de l’application Photo Station sur la page Sélectionnez les données d’application, configurations et dossiers partagés à sauvegarder.

Où sont stockés les commentaires ?

Les commentaires de Photo Station sont enregistrés dans une base de données PostgreSQL qui se trouve dans /volume1/@database/pgsql. Attention, cet entrepôt de base de données contient d’autres bases de données comme celle du médiacenter.
Les commandes pour arrêter, lancer et redémmarrer le serveur PostgreSQL sont :
> /usr/syno/etc/rc.d/S20pgsql.sh stop
> /usr/syno/etc/rc.d/S20pgsql.sh start
> /usr/syno/etc/rc.d/S20pgsql.sh restart

Pour sauver ou restaurer la base de donnée de photo station, il faut utiliser la commande synophoto_backup qui se trouve dans /volume1/@appstore/PhotoStation/bin.
Elle s’utilise de la manière suivante :
Usage: synophoto_backup [-r|-b] p [-o]
  -b Backup photo database.
  -r Restore photo database.
  p Path to store backup file or to get restore file.
  -o Overwrite mode for restoring photo database. Default is skip mode.

Connexion à la base de données

Il est possible de se connecter à la base de données PostgreSQL de Photo Station dans un terminal de la manière suivante :
> su admin
> /usr/syno/pgsql/bin/psql photo

Il est également possible d’exporter la base de données PostgreSQL de Photo Station de la manière suivante :
> su admin
> /usr/syno/pgsql/bin/pg_dump photo > ~/PhotoStationBD.sql

Remarque : de la même manière, il est possible de se connecter à la base de données du médiacenter. > su admin
> /usr/syno/pgsql/bin/psql mediaserver

Publié dans Synology | Tagué | 2 commentaires

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é | 28 commentaires

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