Cours 1 Introduction SCI6306 Bases de données documentaires - École de bibliothéconomie et des sciences de l'information - Cours et ...
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
É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
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
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