Un support de cours magistraux de Bases de données

Introduction

Pierre Crescenzo



retour au sommaire


  1. Définitions

    Définition : Une base de données est un ensemble d'informations stocké par un ordinateur selon un structure définie.

    Notation : BD

    Définition : Un système de gestion de bases de données est un ensemble d'outils logiciels qui permet la manipulation de BD.

    Notation : SGBD
    Exemples de SGBD : Oracle, O2, Postgres, MySQL, DB2…

  2. Exemples d'application courante

    • gestion d'entreprise (stocks, personnels, clients…)
    • banques (comptes, emprunts…)
    • systèmes de réservation (avions, trains, spectacles…)
    • bibliothèques, vidéothèques, médiathèques…
    • bureautique (agendas, répertoires, photos, courriers…)
    • géographie (cartes routières, cartes maritimes…)
    • informatique (programmes, documentations…)
  3. Principes fondamentaux

    BD et SGBD doivent respecter au mieux les principes suivants :

    fidélité
    La BD doit donner une image fidèle de la réalité qu'elle modélise.
    unicité
    Il ne doit pas y avoir redondance d'information dans la BD, chaque donnée doit être située physiquement à un seul endroit.
    indépendance
    Le SGBD doit être indépendant du modèle de stockage pour favoriser les évolutions et améliorations. (faux ami : optimisation)
    concurrence
    Le SGBD doit pouvoir gérer plusieurs accès simultanés à une même donnée.
    Exemple classique de problème :
    1. crédit ← 2000
    2. l'utilisateur 1 lit crédit
    3. l'utilisateur 2 lit crédit
    4. l'utilisateur 1 fait crédit ← crédit + 1500 (donc crédit ← 3500)
    5. l'utilisateur 2 fait crédit ← crédit - 100 (donc crédit ← 1900)
    6. On a donc crédit = 1900 au lieu de crédit = 3400 !
    performance
    Les réactions du SGBD doivent se faire dans un temps raisonnable, des améliorations techniques peuvent être mises en œuvre pour cela. (faux ami : efficacité)
    confidentialité
    Toutes les données ne doivent pas forcément être accessibles à tous les utilisateurs du SGBD.
    intégrité
    La BD et le SGBD doivent offrir des garanties de fiabilité et de cohérence.
    robustesse
    Le SGBD doit être tolérant aux problèmes matériels, logiciels ou humains.
  4. Sortes de base de données

    1. Première génération : modèles navigationnels
      • SGBD hiérarchiques :
        • modèle père-fils
        • structure d'arbres
        • langage navigationnel (rechercher le père, faire une opération sur tous les fils…)
        • Exemple : IMS
      • SGBD réseaux :
        • modèle père-fils
        • structure de graphes
        • langage navigationnel
        • Exemples : IDMS, IIDS, SOCRATE
    2. Deuxième génération : modèle relationnel (cf. chapitres 3 Modèle relationnel : concepts, 4 Modèle relationnel : formes normales et 5 Modèle relationnel : algèbre)
      • SGBD relationnels (notation : SGBDR) :
        • modèle relationnel
        • modèle mathématique de base : présence d'une algèbre
        • structure de tableaux
        • langage de requêtes indépendant du système de stockage
        • Exemples : Oracle, Focus, Ingres, Sybase, DB2, MySQL, Postgres
        • les plus utilisés actuellement
    3. Troisième génération : modèles plus complexes
      • SGBD déductifs :
        • modèle logique
        • algèbre booléenne
        • souvent en association avec un autre SGBD (généralement relationnel) qui gère le stockage
        • présence d'un moteur d'inférence
      • SGBD à objets (ou orientés objets ; notation : SGBDOO) :
        • modèle à objets inspiré des langages de programmation à objets tels Java, C++, Eiffel, Smalltalk, CLOS…
        • utilisation de l'encapsulation, l'héritage, le polymorphisme, l'agrégation et la composition
        • Exemples : O2, GEMSTONE, IRIS, FastObjects
        • prometteurs mais encore peu utilisés
  5. Un peu d'Histoire

    Quelques dates phares dans le domaine des BD :

    1961
    Apparition du premier système que l'on nommera bien plus tard un SGBD : IDS (Integrated Data Storage) réalisé par la société General Electric. Il pose les bases du modèle réseau.
    1965-1970
    Les données sont traitées au moyen de systèmes de fichier. IBM développe le modèle hiérarchique avec IMS (Information Management System). IMS évolue vers IMS DB/DC (DataBase/DataCom) qui utilise le modèle réseau.
    1970
    À partir du début des années 1970, les universitaires s'intéressent aux BD et les font dès lors progresser plus sensiblement. Le modèle relationnel (cf. chapitres 3 Modèle relationnel : concepts, 4 Modèle relationnel : formes normales et 5 Modèle relationnel : algèbre) apparaît.
    1972-1975
    Premières conférences internationales sur le thème des BD. Début des travaux qui mèneront à la méthode Merise.
    1976
    Définition de la méthode Merise et publication du modèle Entité-Association. (cf. chapitre 2 Modèle entité-association)
    1975-1980
    Les premiers SGBDR sont diffusés, par exemple : SYSTEM-R d'IBM et INGRES de l'Université de Californie. Ils restent cependant, à ce stade, assez expérimentaux.
    1980
    Les SGBDR prennent leur essor et conquièrent peu à peu le marché des BD, remplaçant les SGBD hiérarchiques et réseaux. Les outils logiciels deviennent de plus en plus performants et ergonomiques.
    1990
    Dans les années 1990, les SGBDOO émergent peu à peu. Plus puissants que leurs équivalents relationnels, ils sont aussi plus complexes et ne se sont pas encore imposés à l'heure actuelle. Ils restent l'évolution future la plus probable en matière de BD.
  6. Les niveaux de modélisation

    niveau conceptuel
    Il est formé :
    • du schéma conceptuel qui décrit, dans un formalisme indépendant de tout SGBD, un domaine d'application et son fonctionnement et
    • des schémas externes qui correspondent aux vues de tout ou partie du schéma conceptuel spécifiées plus précisément pour des groupes donnés d'utilisateurs.
    niveau logique
    Son but est de faire le lien entre le niveau conceptuel et le niveau physique. Il introduit pour cela, au sein de la modélisation réalisée au niveau conceptuel, certaines informations utiles à l'implantation comme le volume ou la fréquence d'exploitation des informations à stocker.
    niveau physique
    Il tient compte des matériels et logiciels (dont le SGBD) choisis et de leurs contraintes. Il implante la structure de données décrite par le niveau logique.
  7. Les intervenants humains

    utilisateurs naïfs
    Ils font usage d'un SGBD sans même s'en rendre compte, souvent au travers d'une interface homme-machine graphique qui leur cache tout l'aspect technique. Ils n'ont souvent aucune compétence particulière dans le domaine des BD, voire en informatique.
    utilisateurs traditionnels
    Ils ont conscience d'utiliser un SGBD et possèdent souvent quelques connaissances en cette matière. Ils sont capables de réaliser des opérations simples par l'intermédiaire d'une interface graphique, voire quelques requêtes SQL. Avec les utilisateurs naïfs, ils sont les plus nombreux des intervenants humains dans le domaine des BD.
    utilisateurs confirmés
    Ils possèdent une technicité plus avancée, maîtrisent SQL ou un autre langage de requêtes et sont capables de concevoir des BD simples.
    concepteurs de BD
    Ils sont des utilisateurs confirmés. Plus important, ils sont aussi formés à l'identification et à la structuration des informations dans le but de concevoir un modèle cohérent (souvent relationnel) pour un SGBD. Ils maîtrisent au moins une méthode de conception et sont en mesure de normaliser une base.
    développeurs d'application
    Plus techniques encore que les concepteurs de BD, ils ont pour tâche de réaliser des programmes qui utilisent les données d'une base. Ils doivent prendre en compte les besoins et désirs des utilisateurs et maîtriser, en plus des BD, l'algorithmique et la programmation.
    administrateurs de BD
    Ils ont pour responsabilité la gestion de la confidentialité, de la robustesse mais aussi de la fiabilité et des performances d'une ou plusieurs bases. Ils doivent donc connaître les fondations techniques du SGBD (et plus seulement les bases) et, éventuellement, être en mesure de modifier, d'adapter son comportement.
    développeurs de SGBD
    Il s'agit de la catégorie requérant le plus de technicité. Les développeurs de SGBD, ou d'outils connexes aux SGBD, doivent évidemment connaître parfaitement l'utilisation et le fonctionnement de ces logiciels. Ils doivent de plus être très compétents en matière d'algorithmique et de programmation mais aussi familiers des techniques de compilation, de la théorie des langages, du fonctionnement des systèmes d'exploitation et des réseaux…
  8. Bases de données vs langages de programmation

    Les bases de données sont particulièrement adaptées au stockage des données, beaucoup moins à leur traitement. Elles s'approchent cependant peu à peu des langages de programmation en adjoignant au système de stockage un langage de traitement spécifique ou une interface de programmation (API : Application Programming Interface) vers un langage de programmation existant.

    Les langages de programmation sont particulièrement adaptés au traitement des données, beaucoup moins à leur stockage. Ils s'approchent cependant peu à peu des BD en adjoignant au système de traitement des possibilités de stockage : on dit alors que le langage est persistant. Une alternative consiste à offrir une API vers un SGBD existant.



retour au sommaire

XHTML 1.1 validé ! CSS 2 validé ! GNU's Not Unix Debian GNU/Linux Optimisé pour tout navigateur ! Contre les brevets logiciels !

URI : http://www.crescenzo.nom.fr/CMBasesDeDonnees/001-Introduction.html conforme à XHTML 1.1 et à CSS 2.1
Création : 2002/09/01
Dernière modification : 2009/04/24
Hébergement : Anima
Contact et maintenance : Pierre@crescenzo.nom.fr