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 / 317 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 relationnels7 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 communication7 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 échelle7 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 logiciel7 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 20077 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 20077 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 20077 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 20077 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
SCI60527 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
SCI60527 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
SCI60527 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 20077 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 20077 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
documents7 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 hypertextes7 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 versions7 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/2377 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/2377 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/2377 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 session7 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 SQL7 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 PHP7 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 infoVous pouvez aussi lire