Contexte
- Nous sommes dans l’ère du BIG DATA
- Les données sont générées, récoltées, exportées, échangées, vendues
- Puis mises en entrée d’algorithmes d’analyse ou de modélisation
- Requêtes, Statistiques, Data Mining, Apprentissage…
- Enjeux commerciaux, scientifiques, sécuritaires considérables - et moyens qui vont avec.
- Les données sont un bien précieux de chaque organisation
- Pour le fonctionnement de quasiment toutes les “applications”
- Pour améliorer l’efficacité et la qualité de l’entreprise
- Pour guider les évolutions
- Pour satisfaire à des exigences légales
Fortes exigences sur les données
- Stocker les données de façon fiable
- Gérer des accès partagés
- Pouvoir effectuer des recherches complexes et rapides
- Être évolutif, réactif, sécurisé
- Et bien d’autres choses !
Il faut des outils professionnels : les SGBD
- Exemples : PostgreSQL, Oracle, SQL Server, …
Définitions
Une Base de Données (BD) est une collection de données électroniques stockées de façon pérenne et reliées entre elles par un contexte applicatif.
Quelques exemples :
- BD de la scolarité de l’université
- BD des restaurants lyonnais pour la gestion d’un guide
- BD des ventes d’une entreprise
Contenu d’une BD
Une BD est toujours justifiée par des besoins !
Ce sont les besoins applicatifs qui guident le contenu, l’organisation, la portée d’une BD. La conception des BD est donc un sous-problème de la conception logicielle… … mais plusieurs logiciels pourront accéder à une même base de données !
Niveaux (souhaitables) d’abstraction et d’interactions
Indépendance entre les niveaux
Indépendance logique
On peut modifier le modèle logique en conservant les mêmes vues externes.
- Séparation entre BD et applications
- Permet des évolutions “indépendantes” des deux niveaux
Indépendance physique
On peut modifier des choix physiques en conservant le modèle logique.
- Sémantique conservée, requêtes inchangées
- Tout en opérant des réglages physiques
Indépendance (très) peu aboutie dans les modèles “NoSQL”.
Conception d’une base de données
Étape cruciale à considérer avec soins !
- Conception = établir le modèle logique
- De façon à modéliser au mieux les données réelles
- Et pouvoir répondre aux besoins (requêtes)
- Interactions nécessaires avec les experts des données et les concepteurs d’applications
- Non spécialistes des bases de données
- Le modèle conceptuel facilitera ces échanges
Une bonne conception est certes coûteuse, mais nécessaire
Pour les applications
Avoir des résultats justes, complets, performants aux requêtes.
Pour la gestion des données
Réduire le travail des administrateurs, les sources d’incohérence Faciliter la maintenance et les évolutions
Pour la science des données
L’analyste doit comprendre la sémantique des données, les interactions, l’interprétation des valeurs manquantes… Une BD bien conçue est bien plus facile à analyser