1 acétate par page - EBSI

publicité
É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
2 septembre 2016
© Christine Dufour, 2016
1 / 33
2 septembre 2016
SCI6306
2 / 33
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
2 septembre 2016
SCI6306
Plan de cours
Description du cours
Objectifs du cours
Méthodes pédagogiques
Calendrier des activités
Évaluation
Politiques
Ressources
Site Web du cours <http://cours.ebsi.umontreal.ca/sci6306>
Modes de communication
3 / 33
2 septembre 2016
SCI6306
4 / 33
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.
2 septembre 2016
SCI6306
5 / 33
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)
2 septembre 2016
SCI6306
6 / 33
Systèmes de gestion de bases de données (SGBD)
Classes d’utilisateurs
Utilisateurs finaux
Professionnel
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 pour mettre une base de données en ligne).
2 septembre 2016
SCI6306
7 / 33
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
2 septembre 2016
SCI6306
8 / 33
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
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
2 septembre 2016
SCI6306
9 / 33
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. DB/TextWorks, TEXTO, Gesbib, Inmagic Plus,
CDS/ISIS et EDIBASE
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
2 septembre 2016
SCI6306
10 / 33
SGBD / Modèles & historique
Modèle hiérarchique
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 (à sens unique)
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)
2 septembre 2016
SCI6306
11 / 33
SGBD / Modèles & historique
Modèle réseau
Langage de programmation COBOL
Défini en 1960 par CODASYL (Conference on DAta
SYstems and Languages)
Modèle défini dans un rapport du Data Base Task
Group de CODASYL (1971)
Produit le plus connu : Integrated Database
Management System (IDMS) de Computer Associates
Pointeurs bidirectionnels
© Yves Marcoux 2007
2 septembre 2016
SCI6306
12 / 33
SGBD / Modèles & historique
Modèles hiérarchique et réseau
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
© Yves Marcoux 2007
2 septembre 2016
SCI6306
13 / 33
SGBD / Modèles & historique
Modèle relationnel [1/8]
Défini formellement (mathématiquement) avant
toute implantation
Codd † 2004 (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 pas le seul!)
Adaptation de © Yves Marcoux 2007
2 septembre 2016
SCI6306
14 / 33
SGBD / Modèles & historique
Rappel
SCI6052
Modèle relationnel [2/8]
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
2 septembre 2016
SCI6306
15 / 33
SGBD / Modèles & historique
Rappel
SCI6052
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 »
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
Cellules :
données
Colonnes :
champs
Lignes : fiches
(ou enregistrements)
Unité de base : Table(s) de données
2 septembre 2016
SCI6306
16 / 33
SGBD / Modèles & historique
Rappel
SCI6052
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
Plusieurs tables de
données possibles
Table PIECE
nono_cours*local
titre duréetitre
Permet de représenter
plus efficacement des
réalités complexes
Table ALBUM
nono_cours*local
titre anneetitre
Une seule table de
données
2 septembre 2016
SCI6306
17 / 33
SBGD / Modèles & historique
Rappel
SCI6052
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
1
NOM
NOM
Robert Charlebois
GENRE MUSICAL
Robert
Charlebois
NO_ART
•Pop
•Rock
Occurrences multiples
possibles : 0, 1 ou
plusieurs valeurs pour
un champ dans un
enregistrement
Occurrences
multiples
impossibles : une
et une seule valeur
par champ pour un
enregistrement
GENRE MUSICAL
1
Pop
1
Rock
Occurrences
multiples recréées
par des requêtes
reliant deux tables
2 septembre 2016
SCI6306
18 / 33
SGBD / Modèles & historique
Rappel
SCI6052
Modèle relationnel [6/8]
Modèles textuel et relationnel : Différences au niveau de la recherche
Textuel : DbTextWorks
Relationnel : MySQL
Recherche indexée
toujours
facultatif
Visualisation de l'index
oui
non
Antidictionnaire
un par base, modifiable
(applicabilité par champ)
non
Autres critères sur
métadonnées
non
non
Signes diacritiques ignorés
facultatif
facultatif
Opérateurs booléens
oui
oui
Troncature
oui
oui
oui (dans l’ordre ou non)
non (pas de manière
simple)
limités
oui
Opérateurs de distance
Autres opérateurs (e.g.
mathématiques)
2 septembre 2016
SCI6306
19 / 33
SGBD / Modèles & historique
Rappel
SCI6052
Modèle relationnel [7/8]
Modèles textuel et relationnel : En résumé
SGBD textuel
SGBD relationnel
Par ex. DB/TextWorks
Par ex. MySQL
Nombre de table de
données
Une
Une ou plus
Occurrences
multiples
Oui
Non
Possibilité d'avoir 0
occurrence dans un
champ
Oui
Types de données
Plus limités
Plus riches et plus forts
Langage
d'interrogation
Plus limité globalement
Plus riche (SQL)
Mais présente plus d’opérateurs
pour les données textuelles
Sauf pour certains aspects du
traitement des données textuelles
Adaptation de © Yves Marcoux 2007
Les occurrences multiples sont
recréées, à la demande, par des
requêtes
Non
La valeur NULL est utilisée pour
« simuler » l'absence
d'occurrence
2 septembre 2016
SCI6306
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
20 / 33
2 septembre 2016
SCI6306
21 / 33
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
2 septembre 2016
SCI6306
SGBD / Modèles & historique
Modèle hypertextuel [2/3]
Theodore Nelson, à l'origine du néologisme
«hypertexte» (1965)
Système Xanadu (1960) permettant de regrouper
tous les documents de l'humanité
 Accessible à tous, possibilité d'y ajouter des
documents et d'y établir des liens
Réflexion qui a eu une influence certaine sur le
développement des systèmes hypertextes
22 / 33
2 septembre 2016
SCI6306
23 / 33
SGBD / Modèles & historique
Modèle hypertextuel [3/3]
HyperCard (Apple), 1987
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
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
2 septembre 2016
SCI6306
24 / 33
SGBD / Modèles & historique
Familles NoSQL [1/3]
Appellation « NoSQL » date de 2009
(phénomène récent)
NoSQL = Not only SQL
Nés 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 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 – Module 5 : Bases de données relationnelles
et réseaux sociaux massifs.
2 septembre 2016
SCI6306
25 / 33
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
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
Source : Habert, Benoît (2016). MOOC Architecture de l’information – Module 7 : Familles de bases de données NoSQL.
2 septembre 2016
SCI6306
26 / 33
SGBD / Modèles & historique
Familles NoSQL [3/3]
Avantages
Désavantages
•
Faible coût relatif
•
« Jeunesse »
•
Fortes performances
•
•
Résistance au changement d’échelle
Pas de langage de requête abstrait
partagé
•
Capacité à faire évoluer la
représentation des données
•
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 – Module 7 : Familles de bases de données NoSQL.
2 septembre 2016
SCI6306
27 / 33
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)
Autres fonctionnalités vues au fur et à mesure
du déroulement de la session
2 septembre 2016
SCI6306
28 / 33
SGBD relationnels
Schématisation des principaux processus
Création de la
structure : tables,
champs et relations entre
les tables
.
.
Via l’interface du SGBD
À partir de requêtes SQL
par exemple pour les
tables
SORTIE
ENTRÉE
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
Extraction de données
.
Base de données
Données persistantes
structurées en champs et
en tables
.
.
Via l’interface du SGBD (e.g.
filtre dans une table)
À partir de requêtes SQL
À l’aide de rapports
2 septembre 2016
SCI6306
29 / 33
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
 piece : pièces musicales (no, titre, durée, no album, no piste)
 artiste : artistes ayant enregistré les pièces (no, nom, genre
musical)
 album : albums contenant les pièces (no, titre, année)
 enregistre : pièce(s) par artiste(s) (no pièce, no artiste)
2 septembre 2016
SCI6306
30 / 33
SGBD relationnels
Exemples d’implantation [2/3]
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)
Saisie des données : formulaires préparés dans le SGBD
Extraction des données :
 États pour imprimer le contenu de la base de données
 Requêtes SQL prédéfinies pour des besoins « type »
2 septembre 2016
SCI6306
31 / 33
SGBD relationnels
Exemples d’implantation [3/3]
Base de données relationnelle sur le Web
Contexte : grand volume de données, accès distribué par de
multiples utilisateurs sur des plateformes variées
Ex. SGBD : MySQL sur un serveur Web / Microsoft Access
(Windows)
Saisie des données : formulaires Web sécurisés (e.g. en PHP
ou ASP)
Extraction des données :
 Interface de recherche Web (e.g. en PHP ou ASP)
 Pages Web dynamiques (e.g. en PHP ou ASP) présentant les
résultats pour des besoins « type »
2 septembre 2016
SCI6306
32 / 33
SGBD relationnels
Formule retenue pour le cours [1/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 GINEBSI pour le travail d’équipe
2 septembre 2016
SCI6306
33 / 33
SGBD relationnels
Formule retenue pour le cours [2/2]
Serveur
MySQL
Navigateur Web
(pour les bases de données)
https://www.gin-ebsi.umontreal.ca/phpmyadmin/
BD individuelle
Utilisateur : p0123456
Mot de passe : à venir
BD équipe
Utilisateur : sci6306a16-eqnn
Mot de passe : à venir
GIN-EBSI
Poste de travail
(pour les pages Web)
(maison ou labos EBSI)
Espace équipe
Dossier : sci6306a16-eqnn
Nom d’utilisateur et mot de
passe SIM
Lecteur réseau
http://www.gin-ebsi.umontreal.ca/
pour info
Navigateur
Web
(pour visualiser le
résultat)
http://www.ginebsi.umontreal.ca/
sci6306a16-eqnn/
Téléchargement