Page 1
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 1
École de bibliothéconomie et des sciences de l’information
Faculté des arts et des sciences
© Christine Dufour, 2018 1 / 31
SCI6306 Bases de données documentaires
Cours 1Introduction
7 septembre 2018
SCI6306 2 / 31
Au programme aujourd’huiPré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
Page 2
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 2
SCI6306 4 / 31
DéfinitionUn 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
Systèmes de gestion de bases de données (SGBD)
SCI6306 5 / 31
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
Systèmes de gestion de bases de données (SGBD)
SCI6306 6 / 31
Classes d’utilisateursUtilisateurs finauxInteragissent 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’applicationsProgramment 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).
7 septembre 2018
Systèmes de gestion de bases de données (SGBD)
Rôles principaux
du professionnel
de l’information
Possible pour un professionnel de
l’information pour système à petite échelle
Page 3
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 3
SCI6306 7 / 31
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
Systèmes de gestion de bases de données (SGBD)
SCI6306 8 / 31
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
7 septembre 2018
Systèmes de gestion de bases de données (SGBD)
© Yves Marcoux 2007
SCI6306 9 / 31
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
7 septembre 2018
SGBD / Modèles & historique
© Yves Marcoux 2007
Page 4
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 4
SCI6306 10 / 317 septembre 2018
Modèles hiérarchique & réseau [obsolètes]
SGBD / Modèles & historique
Adaptation de © Yves Marcoux 2007
Modèle hiérarchique Modèle réseau
• Modèle défini par des produits et non sur
un modèle abstrait
• Produit le plus connu : Information
management system (IMS) de IBM (1968)
• Utilise des pointeurs unidirectionnels (un
élément mène uniquement à un autre)
• Amène à des requêtes à saveur
procédurale plutôt que déclarative
(comment aller chercher les données
plutôt que quoi aller chercher)
• Modèle défini dans un rapport du Data
Base Task Group de CODASYL (1971)
• Langage de programmation COBOL
• Défini en 1960 par CODASYL
(Conference on DAta SYstems and
Languages)
• Produit le plus connu : Integrated
Database Management System (IDMS) de
Computer Associates
• 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)
SCI6306 11 / 31
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)
7 septembre 2018
SGBD / Modèles & historique
Adaptation de © Yves Marcoux 2007
Rappel
SCI6052
SCI6306 12 / 31
Petite pointure =
SGBDR personnels
Des BD relativement petites,
pour une personne ou un
groupe restreint
Un volume des données et/ou
d’accès réduit
Des situations où la
performance n’est pas un
facteur critique
Ex. : Access, FileMaker Pro,
MySQL
Grande pointure =
SGBDR corporatifs
Haute performance
Habituellement sur un serveur
dédié
Permet l’intégration de toutes
les BD d’une organisation
Rôle du DBA très important
Ex. : Oracle, SQL Server
7 septembre 2018
Modèle relationnel [2/8]
SGBD / Modèles & historique
Rappel
SCI6052
Page 5
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 5
SCI6306 13 / 31
Rappel
SCI6052
Modèle relationnel [3/8]
7 septembre 2018
SGBD / Modèles & historique
Colonnes :
champs
Cellules :
données
Unité de base : Table(s) de donnéesLignes : fiches
(ou enregistrements)
SGBD textuel SGBD relationnel
Par ex. DB/TextWorks Par ex. Access et MySQL
Type de « contenants »
d’information
BD créée avec le logiciel BD créée avec le logiciel
Recherche de fichiers non non
Recherche de fiches toujours toujours
Structuration en champs toujours toujours
Modèles relationnel et textuel : Principales ressemblances
Différence….
SCI6306 14 / 31
Modèle relationnel
Modèle relationnel [4/8]
7 septembre 2018
SGBD / Modèles & historique
Table ARTISTE
no_cours*local titreno nom genre musical
Table ARTISTE
no_cours*local titreno nom genre musical
Table PIECE
no_cours*local titreno titre durée
Table ALBUM
no_cours*local titreno titre annee
Modèle textuel
Une seule table de
données
Plusieurs tables de
données possibles
reliées entre ellesPermet de représenter
plus efficacement des
réalités complexes
Modèles textuel et relationnel : Différences au niveau de la structure [1/2]
Rappel
SCI6052
SCI6306 15 / 31
Modèle relationnelModèle textuel
Modèle relationnel [5/8]
7 septembre 2018
SGBD / Modèles & historique
Occurrences multiples
dans un champ possibles : 0, 1 ou
plusieurs valeurs pour
un champ dans un
enregistrement
Occurrences
multiples dans un champ impossibles :
une et une seule
valeur par champ
pour un enregistrement
•Pop
•Rock
GENRE MUSICAL
Robert
Charlebois
NOM
1
NO_ART
Robert Charlebois
NOM
Pop
GENRE MUSICAL
Rock
1
NO_ART
1
Occurrences
multiples recrééespar des requêtes
reliant deux tables
Modèles textuel et relationnel : Différences au niveau de la structure [2/2]
Rappel
SCI6052
Page 6
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 6
SCI6306 16 / 31
Modèle relationnel [6/8]
7 septembre 2018
SGBD / Modèles & historique
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
(applicabilité par champ)
non (sauf pour la recherche
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.
mathématiques)
limités oui
Rappel
SCI6052
Modèles textuel et relationnel : Différences au niveau de la recherche
SCI6306 17 / 31
Modèle relationnel [7/8]
SGBD textuel SGBD relationnel
Par ex. DB/TextWorks Par ex. MySQL
Nombre de table de
données
une une ou plus
Occurrences
multiples
oui nonLes occurrences multiples sont
recréées, à la demande, par des
requêtes reliant des tables
Possibilité d’avoir 0
occurrence dans un
champ
oui nonLa valeur NULL est utilisée pour
« simuler » l’absence
d’occurrence
Types de données plus limités plus riches et plus forts
Langage
d’interrogation
plus limité globalement
Mais présente plus d’opérateurs
pour les données textuelles
plus riche (SQL) Sauf pour certains aspects du
traitement des données textuelles
7 septembre 2018
SGBD / Modèles & historique
Adaptation de © Yves Marcoux 2007
Rappel
SCI6052
Modèles textuel et relationnel : En résumé
SCI6306 18 / 31
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)
7 septembre 2018
SGBD / Modèles & historique
Adaptation de © Yves Marcoux 2007
Page 7
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 7
SCI6306 19 / 31
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
SGBD / Modèles & historique
SCI6306 20 / 31
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
SGBD / Modèles & historique
SCI6306 21 / 31
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
SGBD / Modèles & historique
Page 8
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 8
SCI6306 22 / 31
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
7 septembre 2018
SGBD / Modèles & historique
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
SCI6306 23 / 31
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
7 septembre 2018
SGBD / Modèles & historique
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
Familles Exemples d’utilisation
Orientées graphes pour traiter les réseaux massifs Recommandations Twitter
Orientées colonnes pour faciliter les traitements
privilégiant les colonnes
Calcul de l’âge moyen des
utilisateurs
Orientées clé/valeur pour gagner en efficacité en
lecture/écriture et pour le changement d’échelle
Système de sauvegarde de type
Dropbox
Orientées « document » pour supporter des
structures variables
Gestion des métadonnées des
produits vendus chez eBay
SCI6306 24 / 31
Familles NoSQL [3/3]
7 septembre 2018
SGBD / Modèles & historique
Avantages Désavantages
• Faible coût relatif
• Fortes performances
• Résistance au changement
d’échelle
• Capacité à faire évoluer la
représentation des données
• « Jeunesse »
• Pas de langage de requête
abstrait partagé
• Travail de programmation
spécifique plus important
• 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
Page 9
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 9
SCI6306 25 / 31
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
SGBD relationnels
SCI6306 26 / 31
Schématisation des principaux processus
7 septembre 2018
SGBD relationnels
Manipulation des données
ajout, mise à jour, suppression. Directement dans les tables. À l’aide d’un formulaire
. Importation d’une source
externe
. À l’aide de requêtes SQL
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
Extraction de données
valeurs uniques, tables de données. Via l’interface du SGBD (par ex. filtre
dans une table)
. À partir de requêtes SQL
. À l’aide de rapports
Base de données
Données persistantes
structurées en champs et en tables
ENTRÉE SORTIE
SCI6306 27 / 31
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
7 septembre 2018
SGBD relationnels
Champs en gras : identifiants uniques des tables (clé primaire)
Champs en italique : servent à faire le pont vers d’autres tables (clé externe)
Page 10
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 10
SCI6306 28 / 31
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
SGBD relationnels
SCI6306 29 / 31
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
SGBD relationnels
SCI6306 30 / 31
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
SGBD relationnels
Page 11
Cours 1 - Introduction 7 septembre 2018
SCI6306 (A2018) / Christine Dufour (EBSI, UdeM) 11
SCI6306 31 / 31
Formule retenue pour le cours [2/2]
7 septembre 2018
SGBD relationnels
Serveur
MySQL(pour les bases de données)
GIN-EBSI(pour les pages Web)
Poste de travail(maison ou labos EBSI)
BD individuelle
Utilisateur : p0123456
Mot de passe : à venir
BD équipe
Utilisateur : sci6306a17-eqnn
Mot de passe : à venir
Navigateur Webhttps://www.gin-ebsi.umontreal.ca/phpmyadmin/
Lecteur réseauhttp://www.gin-ebsi.umontreal.ca/
pour info
Espace équipe
Dossier : sci6306a17-eqnn
Nom d’utilisateur et mot de passe SIM
Navigateur
Web(pour visualiser le
résultat)http://www.gin-
ebsi.umontreal.ca/
sci6306a17-eqnn/