Cours 1 Introduction SCI6306 Bases de données documentaires - École de bibliothéconomie et des sciences de l'information - Cours et ...

La page est créée René Ferreira
 
CONTINUER À LIRE
Cours 1 Introduction SCI6306 Bases de données documentaires - École de bibliothéconomie et des sciences de l'information - Cours et ...
École de bibliothéconomie et des sciences de l’information

                 SCI6306 Bases de données documentaires

                                     Cours 1
                                   Introduction

Faculté des arts et des sciences

7 septembre 2018                        © Christine Dufour, 2018                     1 / 31
Cours 1 Introduction SCI6306 Bases de données documentaires - École de bibliothéconomie et des sciences de l'information - Cours et ...
7 septembre 2018                 SCI6306                            2 / 31

Au programme aujourd’hui
   Présentation du plan de cours

   Introduction
      Principes généraux des systèmes de gestion de bases de données
      (SGBD)

      Historique et survol des principaux modèles de bases de données

      Deux principaux modèles de SGBD - Ressemblances et différences
      (Rappel SCI6052)
         Modèle textuel
         Modèle relationnel

      Introduction aux SGBD relationnels
Cours 1 Introduction SCI6306 Bases de données documentaires - École de bibliothéconomie et des sciences de l'information - Cours et ...
7 septembre 2018                 SCI6306                           3 / 31

Plan de cours
   Description du cours
   Objectifs du cours
   Méthodes pédagogiques
   Calendrier des activités
   Évaluation
   Politiques
   Ressources
      Sites du cours : http://cours.ebsi.umontreal.ca/sci6306 et
      https://studium.umontreal.ca/course/view.php?id=133227
   Modes de communication
7 septembre 2018               SCI6306                          4 / 31

Systèmes de gestion de bases de données (SGBD)
Définition
   Un système de gestion des bases de données (SGBD) est la
   composante logicielle la plus importante d’un système de base
   de données
     Système de base de données : système informatique servant
     à maintenir des informations et à les rendre disponibles à la
     demande; possède quatre composantes :
         Les données
         Le matériel
         Le logiciel
         Les utilisateurs

   Le SGBD prend en charge les requêtes pour accéder à la base
   de données, pour y faire des ajouts, des suppressions, des mises
   à jour, etc.
7 septembre 2018             SCI6306                      5 / 31

Systèmes de gestion de bases de données (SGBD)
Objectifs
   Offrir des mécanismes pour
      S’assurer de la cohérence des données
      Assurer la sécurité et le partage des données
      Assurer l’indépendance des données (par rapport
      au matériel et au logiciel)
      Permettre d’exploiter les liens entre les données
      Obtenir une bonne performance (vitesse et gestion
      d’espace)
7 septembre 2018                    SCI6306                                  6 / 31

Systèmes de gestion de bases de données (SGBD)
Classes d’utilisateurs                                                 Rôles principaux
                                                                       du professionnel
   Utilisateurs finaux                                                 de l’information
   Interagissent avec la base de données principalement pour l’interroger et
   imprimer des rapports. Tout dépendant leur niveau de connaissance du
   langage d’interrogation, ils peuvent soit utiliser des requêtes prédéfinies
   ou en formuler eux-mêmes.

   Administrateurs de base de données (DBA)
   Assurent la gestion technique nécessaire pour implémenter les SGBD :
   définition de la structure conceptuelle et physique, définitions des règles
   de sécurité, interaction avec les utilisateurs finaux, supervision des
   performances, etc.

   Programmeurs d’applications
   Programment des applications pour interagir avec la base de données
   (par exemple des pages ASP ou PHP pour mettre une base de données
   en ligne).
                         Possible pour un professionnel de
                         l’information pour système à petite échelle
7 septembre 2018             SCI6306                        7 / 31

Systèmes de gestion de bases de données (SGBD)
Architecture des syst. de base de données
   Trois niveaux à prendre en considération dans
   la définition des données
      Niveau interne (vue physique) : niveau où les
      données sont enregistrées

      Niveau externe (vue d’un utilisateur particulier) :
      niveau où les utilisateurs voient les données

      Niveau conceptuel (vue commune à tous les
      utilisateurs) : niveau intermédiaire où les données
      sont organisées dans le logiciel
7 septembre 2018                  SCI6306                          8 / 31

         Systèmes de gestion de bases de données (SGBD)
         Origine des SGBD
             Intrinsèquement liés aux langages de programmation
                 Mise en commun des traitements liés à la gestion des données
                 Encapsulation dans des « blocs » (sous-routines, bibliothèques
                 de fonctions, etc.)
                 Mise à disposition comme primitives (c’est-à-dire comme
                 commandes de base)
             Mais les BD évoluent comme entités indépendantes des
             langages
             Tout SGBD est basé sur un modèle de données, constitué
             de
                 Une façon de structurer les données
                 Des opérations pour agir sur les données

© Yves Marcoux 2007
7 septembre 2018                  SCI6306                   9 / 31

         SGBD / Modèles & historique
         Modèle textuel (fichier plat)
             Données organisées en une seule table, chaque ligne
             représente un enregistrement; chaque colonne, un champ
                 Aucune relation entre les enregistrements

             Particulièrement bien adapté aux données textuelles, c’est-
             à-dire composées surtout de phrases ou de mots

             Ex. Inmagic DB/TextWorks et CDS/ISIS

             La plupart des bases de données commerciales
             accessibles en ligne sur des serveurs sont gérées par des
             SGBD textuels

© Yves Marcoux 2007
7 septembre 2018                           SCI6306                                    10 / 31

          SGBD / Modèles & historique
          Modèles hiérarchique & réseau [obsolètes]
                   Modèle hiérarchique                                    Modèle réseau
   •    Modèle défini par des produits et non sur        •     Modèle défini dans un rapport du Data
        un modèle abstrait                                     Base Task Group de CODASYL (1971)
   •    Produit le plus connu : Information              •     Langage de programmation COBOL
        management system (IMS) de IBM (1968)
                                                               •   Défini en 1960 par CODASYL
   •    Utilise des pointeurs unidirectionnels (un                 (Conference on DAta SYstems and
        élément mène uniquement à un autre)                        Languages)
   •    Amène à des requêtes à saveur                    •     Produit le plus connu : Integrated
        procédurale plutôt que déclarative                     Database Management System (IDMS) de
        (comment aller chercher les données                    Computer Associates
        plutôt que quoi aller chercher)
                                                         •     Pointeurs bidirectionnels (un élément peut
                                                               pointer et être pointé par plus d’un
                                                               élément)
   •    Indépendance limitée des données par rapport aux applications et aux technologies
   •    Dépassés par le relationnel à partir des années 1980 (plus de développement de
        nouvelles applications selon ces modèles)
Adaptation de © Yves Marcoux 2007
7 septembre 2018                      SCI6306                            11 / 31

          SGBD / Modèles & historique
          Modèle relationnel [1/8]
              Défini formellement (mathématiquement) avant
              toute implantation
                  Codd † 2003 (1970)

              Encore le plus utilisé actuellement
                  Beaucoup de SIGB et autres applications documentaires
                  sont construites sur des SGBD relationnels
                  Très présent aussi au niveau des systèmes d’information
                  Web, quoiqu’il ne soit plus le seul!
                      Ses limites pour les systèmes distribués à grande échelle sur le
                       Web comme Twitter et Facebook ont conduit à l’apparition des
                       familles de bases de données NoSQL (Not Only SQL)
                                                                                  Rappel
                                                                                  SCI6052
Adaptation de © Yves Marcoux 2007
7 septembre 2018                  SCI6306                              12 / 31

SGBD / Modèles & historique
Modèle relationnel [2/8]
Petite pointure =                      Grande pointure =
SGBDR personnels                       SGBDR corporatifs
   Des BD relativement petites,             Haute performance
   pour une personne ou un
                                            Habituellement sur un serveur
   groupe restreint
                                            dédié
   Un volume des données et/ou
                                            Permet l’intégration de toutes
   d’accès réduit
                                            les BD d’une organisation
   Des situations où la
                                            Rôle du DBA très important
   performance n’est pas un
   facteur critique                         Ex. : Oracle, SQL Server
   Ex. : Access, FileMaker Pro,
   MySQL
                                                                       Rappel
                                                                       SCI6052
7 septembre 2018                         SCI6306                                         13 / 31

SGBD / Modèles & historique
Modèle relationnel [3/8]
             Modèles relationnel et textuel : Principales ressemblances
                                   SGBD textuel                     SGBD relationnel
                               Par ex. DB/TextWorks              Par ex. Access et MySQL
Type de « contenants »        BD créée avec le logiciel          BD créée avec le logiciel
d’information
Recherche de fichiers                   non                                non
Recherche de fiches                   toujours                           toujours
Structuration en champs               toujours                           toujours

Colonnes :                                                                              Cellules :
champs                                                                                  données

Lignes : fiches         Unité de base : Table(s) de données                              Rappel
(ou enregistrements)                                                                     SCI6052
                                                          Différence….
7 septembre 2018                    SCI6306                                                  14 / 31

SGBD / Modèles & historique
Modèle relationnel [4/8]
  Modèles textuel et relationnel : Différences au niveau de la structure [1/2]

       Modèle textuel                           Modèle relationnel
                                       Table ARTISTE
                                            nono_cours*local
                                                 nom genretitre
                                                             musical

   Table ARTISTE
        nono_cours*local
             nom genretitre
                         musical
                                                                Table PIECE
                                   Plusieurs tables de
                                                                     nono_cours*local
                                                                          titre duréetitre
                                   données possibles
                                   reliées entre elles
                                   Permet de représenter
                                   plus efficacement des
                                   réalités complexes

                                         Table ALBUM
        Une seule table de                    nono_cours*local
                                                   titre anneetitre
            données
                                                                                             Rappel
                                                                                             SCI6052
7 septembre 2018                    SCI6306                                         15 / 31

SGBD / Modèles & historique
Modèle relationnel [5/8]
  Modèles textuel et relationnel : Différences au niveau de la structure [2/2]

       Modèle textuel                          Modèle relationnel

                                    NO_ART    NOM
                                    1         Robert Charlebois
 NOM               GENRE MUSICAL
                                                          NO_ART    GENRE MUSICAL
  Robert           •Pop
  Charlebois       •Rock                                  1          Pop
                                                          1          Rock

      Occurrences multiples
      dans un champ                 Occurrences
                                                              Occurrences
      possibles : 0, 1 ou           multiples dans un
                                                              multiples recréées
      plusieurs valeurs pour        champ impossibles :
                                                              par des requêtes
      un champ dans un              une et une seule
                                                              reliant deux tables
      enregistrement                valeur par champ
                                    pour un
                                    enregistrement
                                                                                    Rappel
                                                                                    SCI6052
7 septembre 2018                       SCI6306                              16 / 31

    SGBD / Modèles & historique                                               Rappel

    Modèle relationnel [6/8]
                                                                              SCI6052

        Modèles textuel et relationnel : Différences au niveau de la recherche
                                  Textuel : Db/TextWorks           Relationnel : MySQL
Recherche indexée                toujours                    facultatif (sauf pour
                                                             recherche « avancée »
                                                             plein texte)
Visualisation de l’index         oui                         non
Antidictionnaire                 un par base, modifiable     non (sauf pour la recherche
                                 (applicabilité par champ)   avancée en plein texte)
Autres critères sur métadonnées non                          non
Signes diacritiques ignorés      facultatif                  facultatif
Opérateurs booléens              oui                         oui
Troncature                       oui                         oui
Opérateurs de distance           oui (dans l’ordre ou non)   oui, mais seulement avec la
                                                             recherche plus avancée
                                                             (pas de manière simple)
Autres opérateurs (par ex.       limités                     oui
mathématiques)
7 septembre 2018                                SCI6306                                       17 / 31

         SGBD / Modèles & historique                                                                Rappel

         Modèle relationnel [7/8]
                                                                                                    SCI6052

                                    Modèles textuel et relationnel : En résumé
                                                 SGBD textuel                    SGBD relationnel
                                               Par ex. DB/TextWorks                 Par ex. MySQL
        Nombre de table de               une                               une ou plus
        données
        Occurrences                      oui                               non
        multiples                                                          Les occurrences multiples sont
                                                                           recréées, à la demande, par des
                                                                           requêtes reliant des tables
        Possibilité d’avoir 0            oui                               non
        occurrence dans un                                                 La valeur NULL est utilisée pour
        champ                                                              « simuler » l’absence
                                                                           d’occurrence
        Types de données                 plus limités                      plus riches et plus forts
        Langage                          plus limité globalement           plus riche (SQL)
        d’interrogation                  Mais présente plus d’opérateurs   Sauf pour certains aspects du
                                         pour les données textuelles       traitement des données textuelles

Adaptation de © Yves Marcoux 2007
7 septembre 2018                  SCI6306                18 / 31

         SGBD / Modèles & historique
         Modèle relationnel [8/8]
            Montre des limites eu égard à l’évolution
                du matériel informatique (surtout réseau)
                des exigences des interfaces-utilisateurs
                des applications
                    conception par ordinateur (CAO)
                    multimédia
                des langages de programmation
                de la réseautique (systèmes distribués à grande
                échelle)

Adaptation de © Yves Marcoux 2007
7 septembre 2018                 SCI6306                         19 / 31

SGBD / Modèles & historique
Modèle hypertextuel [1/3]
   Vannevar Bush, à l’origine de l’idée de
   l’hypertexte ("As We May Think", 1945)
      Pour résoudre les problèmes liés à l’explosion
      documentaire
      Machine (MEMEX) pouvant ranger et rendre accessible
      tous les documents
         Collection de documents sur microfilm pouvant être
          projetés sur écran et pouvant être additionnés d’images
         Possibilité de localiser les documents
         Capacité d’inclure des pistes associatives entre les
          documents
7 septembre 2018                       SCI6306                                20 / 31

SGBD / Modèles & historique
Modèle hypertextuel [2/3]
   Theodore Nelson, à l’origine du néologisme « hypertexte » (1965)
      Projet Xanadu permettant de regrouper tous les documents de
      l’humanité
         Accessible à tous, possibilité d’y ajouter des documents et d’y établir
          des liens
         Au départ, uniquement une idée sans implémentation
         Des démonstrations ont vu le jour après bien des années dont
          OpenXanadu en 2014 (Hern, Alex. World’s most delayed software
          released after 54 years of development. The Guardian, 6 juin 2014,
          https://www.theguardian.com/technology/2014/jun/06/vapourware-
          software-54-years-xanadu-ted-nelson-chapman)

      Réflexion qui a eu une influence certaine sur le développement
      des systèmes hypertextes
7 septembre 2018                            SCI6306                            21 / 31

SGBD / Modèles & historique
Modèle hypertextuel [3/3]
   HyperCard (Apple), 1987-1998
      Créé par Bill Atkinson
      Premier logiciel hypertexte grand public
      Utilisation de cartes présentant des contenus et pouvant inclure des liens
      entre elles sous forme de boutons
      Pour les curieux (ou les nostalgiques!), Internet Archive a mis en ligne en
      2017 pour fêter les 30 ans d’HyperCard une collection de projets
      HyperCard https://archive.org/details/hypercardstacks&tab=about

   Web, 1989
      Créé au CERN par l’équipe de Tim Berners-Lee
      Version « allégée » des visions initialement proposées pour l’hypertexte
           Pas de gestion des droits d’auteur
           Liens unidirectionnels se cassant lorsque la ressource disparaît
           Pas d’aperçu des ressources liées
           Pas de système d’annotation ni de gestion de versions
7 septembre 2018                                        SCI6306                                          22 / 31

          SGBD / Modèles & historique
         Familles NoSQL [1/3]
              Appellation « NoSQL » date de 2009
              (phénomène assez récent)
                  NoSQL = Not only SQL
              Nées des besoins de certains
              environnements Web distribués à grande
              échelle et possédant de grands volumes de
              données
                  Manière de représenter et de manipuler les données
                  du modèle relationnel n’est pas efficace pour ce
                  contexte
                  Par exemple : Twitter, Facebook, eBay
Source : Habert, Benoît (2016). MOOC Architecture de l’information – S4.4.1 : Bases de données relationnelles et
réseaux sociaux massifs. https://archinfo00.hypotheses.org/237
7 septembre 2018                                        SCI6306                                          23 / 31

         SGBD / Modèles & historique
         Familles NoSQL [2/3]
              Délaissent les propriétés ACID des transactions relationnelles
              permettant de garantir et de maintenir la cohérence des données
              au profit des contraintes BASE qui priorisent la disponibilité
              Plusieurs familles NoSQL
               Familles                                                             Exemples d’utilisation

               Orientées graphes pour traiter les réseaux massifs                   Recommandations Twitter

               Orientées colonnes pour faciliter les traitements                    Calcul de l’âge moyen des
               privilégiant les colonnes                                            utilisateurs
               Orientées clé/valeur pour gagner en efficacité en                    Système de sauvegarde de type
               lecture/écriture et pour le changement d’échelle                     Dropbox
               Orientées « document » pour supporter des                            Gestion des métadonnées des
               structures variables                                                 produits vendus chez eBay

Source : Habert, Benoît (2016). MOOC Architecture de l’information – S4.4.3 : Familles de bases de données
NoSQL. https://archinfo00.hypotheses.org/237
7 septembre 2018                                        SCI6306                                     24 / 31

         SGBD / Modèles & historique
         Familles NoSQL [3/3]
         Avantages                                                     Désavantages
         • Faible coût relatif                                         • « Jeunesse »
         • Fortes performances                                         • Pas de langage de requête
                                                                         abstrait partagé
         • Résistance au changement
           d’échelle                                                   • Travail de programmation
                                                                         spécifique plus important
         • Capacité à faire évoluer la
           représentation des données                                  • Cohérence des données
                                                                         moins aisée à garantir

Source : Habert, Benoît (2016). MOOC Architecture de l’information – S4.4.3 : Familles de bases de données
NoSQL. https://archinfo00.hypotheses.org/237
7 septembre 2018             SCI6306                 25 / 31

SGBD relationnels
Introduction
   Principes de base
      Tables (--> données structurées en champs)
      Relations (--> liens entre les tables)
      Requêtes (--> pour chercher dans les tables,
      manipuler les données dans les tables, etc.)

   Autres fonctionnalités vues au fur et à mesure
   du déroulement de la session
7 septembre 2018                                  SCI6306                                                 26 / 31

  SGBD relationnels
  Schématisation des principaux processus
                        Création de la structure
                        tables, champs, relations entre tables
                         .   Via l’interface du SGBD
                         .   À partir de requêtes SQL par exemple pour les tables

             ENTRÉE                                                                    SORTIE

Manipulation des données                                                   Extraction de données
ajout, mise à jour, suppression                                            valeurs uniques, tables de données
 . Directement dans les tables                  Base de données             .   Via l’interface du SGBD (par ex. filtre
 . À l’aide d’un formulaire                   Données persistantes              dans une table)
 . Importation d’une source                   structurées en champs         .   À partir de requêtes SQL
   externe                                          et en tables            .   À l’aide de rapports
 . À l’aide de requêtes SQL
7 septembre 2018                                        SCI6306           27 / 31

         SGBD relationnels
         Exemples d’implantation [1/3]
             Contexte pour l’exemple
                 Base de données relationnelle servant à gérer une collection de
                 pièces musicales

                 Quatre éléments représentés
                     Pièces musicales
                         • table PIECE; champs no_piece, titre, duree, no_album,
                           no_piste
                     Artistes ayant enregistré des pièces
                         • table ARTISTE; champs no_artiste, nom, genre
                     Albums contenant des pièces
                         • table ALBUM; champs no_album, titre, annee
                     Lien entre des pièces et des artistes
                         • table ENREGISTRE; champs no_piece, no_artiste

Champs en gras : identifiants uniques des tables (clé primaire)
Champs en italique : servent à faire le pont vers d’autres tables (clé externe)
7 septembre 2018                   SCI6306                         28 / 31

SGBD relationnels
Exemples d’implantation [2/3]
   Scénario 1 : Base de données relationnelle sur un
   ordinateur personnel
      Contexte : volume de données restreint, un seul utilisateur à la
      fois
      Ex. SGBD : Microsoft Access (Windows) / LibreOffice Base
      (Windows, Mac, Linux) / FileMaker Pro (Windows, Mac)
      Entrée : formulaires préparés dans le SGBD pour la saisie
      Sortie :
         États pour imprimer le contenu de la base de données
         Requêtes SQL prédéfinies pour des besoins « type »
7 septembre 2018                 SCI6306                           29 / 31

SGBD relationnels
Exemples d’implantation [3/3]
   Scénario 2 : Base de données relationnelle sur le
   Web
      Contexte : accès distribué par de multiples utilisateurs sur des
      plateformes variées
      Ex. SGBD : MySQL sur un serveur Web / Microsoft Access
      (Windows)
      Entrée : formulaires Web pour la saisie (par ex. en PHP ou
      ASP)
      Sortie :
         Interface de recherche Web (par ex. en PHP ou ASP)
         Pages Web dynamiques (par ex. en PHP ou ASP) présentant les
          résultats pour des besoins « type »
7 septembre 2018                  SCI6306                           30 / 31

SGBD relationnels
Formule retenue pour le cours [1/2]
   Base de données relationnelle sur le Web (scénario 2)
   SGBD : MySQL
      phpMyAdmin comme interface de gestion
   Langage de programmation Web : PHP
   Serveur : serveur de l’EBSI
   Espaces individuels et d’équipe
      Chaque étudiant aura une base de données personnelle sur le serveur
      MySQL pour le travail individuel
      Chaque équipe aura une base de données partagée sur le serveur
      MySQL pour le travail d’équipe
      Chaque équipe aura un espace partagé sur le serveur GIN-EBSI pour
      le travail d’équipe pour héberger les pages Web dynamiques
      développées en PHP
7 septembre 2018                                            SCI6306                                             31 / 31

 SGBD relationnels
 Formule retenue pour le cours [2/2]
                                                           Serveur
                                                           MySQL
                                                   (pour les bases de données)
            Navigateur Web
https://www.gin-ebsi.umontreal.ca/phpmyadmin/
                                                                       BD individuelle
                                                                       Utilisateur : p0123456
                                                                       Mot de passe : à venir

                                                                       BD équipe
                                                                       Utilisateur : sci6306a17-eqnn
                                                                       Mot de passe : à venir

    Poste de travail                                       GIN-EBSI                                      Navigateur
 (maison ou labos EBSI)                               (pour les pages Web)
                                                                                                           Web
                                                                        Espace équipe                  (pour visualiser le
                                                                        Dossier : sci6306a17-eqnn            résultat)
                                                                                                         http://www.gin-
                                                                        Nom d’utilisateur et mot de    ebsi.umontreal.ca/
                                                                        passe SIM                      sci6306a17-eqnn/
                             Lecteur réseau
                       http://www.gin-ebsi.umontreal.ca/
                                   pour info
Vous pouvez aussi lire