École de bibliothéconomie et des sciences de l information SCI6306 Bases de données documentaires Cours 2 Contrôle de qualité Schéma relationnel Faculté des arts et des sciences 11 septembre 2015 Christine Dufour, 2015 1/ 26
SCI6306 2/ 26 Au programme aujourd hui Contrôle de la qualité Aspects reliés au contrôle de qualité dans une base de données documentaire Modélisation sémantique Approche entités-relation Conversion en structure de tables relationnelles Présentation du volet A du projet de session (modélisation)
SCI6306 3/ 26 Contrôle de la qualité Importance [1/2] Emphase générale mise sur la qualité dans la société depuis 1990 Coûts du manque de qualité Directs : perte de temps, d'information, coûts de correction ou remplacement E.g. au niveau du repérage dans une base de données documentaire, peut causer du bruit et/ou du silence Indirects : dommages à sa réputation et à celle des autres Qualité est liée au modèle économique du système (clients, lectorat & de qui on parle) à la «satisfaction des utilisateurs» Adaptation Yves Marcoux (2007)
SCI6306 4/ 26 Contrôle de la qualité Importance [2/2] Il ne faut pas seulement exiger la qualité. En tant qu'intermédiaires il faut aussi la créer Comme concepteur de BD documentaires, implique l inclusion de différents mécanismes pour assurer la qualité des données (masques, listes de validation, etc.) et la qualité de l «expérience-utilisateur» (ergonomie de l interface) et la mettre de l avant Indiquer les mesures prises et les vérifications faites (ou non) est souvent aussi important que la qualité elle-même Mesures et vérifications faites : indicateurs (labels) de qualité Adaptation Yves Marcoux (2007)
SCI6306 5/ 26 Contrôle de la qualité «Erreurs» Nature Causes Données Erreurs dans les données primaires Mauvaises informations Informations absentes Erreurs d'orthographe Informations périmées (e.g. liens hypertextuels) Doublons (redondance) Information au mauvais endroit (champ) Erreurs typographiques (e.g. dates) Resaisie / Reconnaissance optique de caractères (ROC) Dictionnaire de données non suivi Raisons : complexité, formation inadéquate Retards / indisponibilités (sources, serveurs, etc.) Évolution des sources (Web) Poids des images et autres ressources Système Difficulté d utilisation Mauvaise ergonomie Adaptation de Yves Marcoux (2007)
SCI6306 6/ 26 Contrôle de la qualité Erreurs d orthographe Environ une erreur par 5000 frappes Environ 2 mots erronés sur 1000 Les plus rapides font le moins d'erreurs 4 types d'erreurs (90 à 96% des erreurs) Omission, insertion, substitution, transposition ROC : surtout substitutions Erreurs «vrai mot» : environ 40% Une des causes : clavier qwerty Yves Marcoux, 2007
SCI6306 7/ 26 Contrôle de la qualité Moyens d action [1/3] À la création de la BD Pour éviter les erreurs au niveau des données Exploitation des mécanismes de validation disponibles, par exemple : types de données, masques, listes de validation, caractère obligatoire/facultatif, vérification automatique des liens hypertextuels Pour limiter les erreurs produites par l interface/système Pour BD hypertextuelles : bonne structuration des sites Web, limitation du poids des fichiers Développement d interfaces ergonomiques Impliquer les utilisateurs dès la création (tests d utilisabilité) pour s assurer que le système correspond à leur profil Adaptation de Yves Marcoux (2007)
SCI6306 8/ 26 Contrôle de la qualité Moyens d action [2/3] À la saisie des données Saisie avec autres claviers Dvorak [http://dvorak.mwbrooks.com/dvorkeys.pdf] : réduit les erreurs et permet d être plus rapide Correction orthographique Avec dictionnaire et/ou règles syntaxiques Possible dans une BD par exportation/importation Dictionnaire d'erreurs fréquentes (Word) Relecture humaine Adaptation de Yves Marcoux (2007)
SCI6306 9/ 26 Contrôle de la qualité Moyens d action [3/3] À l utilisation de la BD (pour la saisie et la recherche) Sensibilisation, formation (dictionnaire de données) Limiter les changements au dictionnaire de données Permettre la rétroaction des utilisateurs Indicateurs de qualité (ex.: sur page d'accueil) Mises en garde Adaptation de Yves Marcoux (2007)
SCI6306 10 / 26 Contrôle de la qualité Rétroaction des utilisateurs Liens courriel (mailto:) sur sites Web Formulaire Web de rétroaction Peut «nourrir» une base de données (à consulter sur une base régulière) ou être envoyé par courriel Utilisation de plateformes collaboratives externes (e.g. Facebook) ou internes (i.e. intégrées au site Web e.g. documentation MySQL http://dev.mysql.com/doc/refman/5.7/en/introduction.html)
SCI6306 11 / 26 Introduction Modélisation sémantique pour ajouter à la compréhension d une base de données et ainsi pouvoir répondre plus intelligemment aux interactions de l utilisateur Utile au processus de conception systématique des bases de données Pas supporté directement par les SGBD Objectif : représenter une certaine réalité pour pouvoir construire, par la suite, une base de données relationnelle Plusieurs approches dont l approche entités-relations (E-R) (une des plus connues et utilisées)
SCI6306 12 / 26 Approche entités-relations (E-R) [1/4] Approche fondée sur le modèle E-R défini par Chen (1976) et raffinée par la suite Plusieurs objets sémantiques représentés Entités : objets que l on peut distinguer (par exemple, des étudiants, des cours, etc.) Relations : permettent de connecter des entités (par exemple, des inscriptions qui relient les étudiants aux cours) Attributs : propriétés décrivant une entité ou une relation (par exemple, le nom d un étudiant qui décrit l étudiant, la note obtenue à un cours qui caractérise l inscription)
SCI6306 13 / 26 Approche entités-relations (E-R) [2/4] Diagramme Entités-Relations de la base INSCRIP
SCI6306 14 / 26 Approche entités-relations (E-R) [3/4] Entité ou attribut? Parfois ambigü Exemple Dans INSCRIP, pourquoi ne pas faire une entité LOCAL au lieu de considérer le local comme un attribut de l'entité COURS? Deux questions à se poser Est-ce qu'on s'intéresse directement aux locaux comme tels ou bien indirectement comme une caractéristique des cours? Et si aucun cours ne se donne dans un local, veut-on conserver dans la base de données des informations sur ce local? Réponse varie en fonction de l'objectif de la base de données Si la base de données sert à gérer des cours, alors le local nous intéresse comme caractéristique d'un cours (ATTRIBUT) Si la base de données sert à gérer l'attribution des locaux, alors le local nous intéresse même si aucun cours ne s'y donne (ENTITÉ) voir texte Y. Marcoux, «Comment distinguer une entité d'un attribut». http://mapageweb.umontreal.ca/marcoux/enseign/6306/entite-vs-attribut.htm
SCI6306 15 / 26 Approche entités-relations (E-R) [4/4] Avec quoi «dessiner» un diagramme entités-relations? Application capable de facilement faire des formes, du texte et des lignes Il faut pouvoir respecter la symbolique prédéfinie (rectangle=entité, etc.) Logiciel de traitement de texte (Word), de présentique (Powerpoint), de diagramme et synoptique (yed, Visio), de dessin (FireWork), etc. En fonction de vos préférences Utilisez un outil qui vous est accessible et que vous connaissez bien Rappelez-vous que ce n'est pas une œuvre d'art
SCI6306 16 / 26 Exercice Contexte : groupe de recherche Communauté de chercheurs (professeurs, post-doctorants, étudiants, etc.) se regroupant autour d une thématique Objectif : produire de nouvelles connaissances par le biais de différents projets de recherche Projets de recherche, financés ou non, regroupent en tout ou en partie les membres Exercice : identifier les différents éléments Entités? Relations? Attributs? Certains projets peuvent être le sujet du mémoire ou de la thèse d un des étudiants Parmi les «livrables» on retrouve la diffusion des résultats (articles, etc.)
SCI6306 17 / 26 Conversion diagramme E-R en tables [1/8] 1. Transformation des entités en tables de données Attribut de l entité Champ de la table Clé primaire : soit un champ existant pouvant «naturellement» servir de clé primaire, soit un champ créé spécifiquement comme clé primaire 2. Traitement des relations Relation 1-N clé externe pour la table de l entité du côté N vers la table de l entité du côté 1 Relation N-N table du même nom comprenant deux clés externes (une vers chaque table) et ayant comme clé primaire la combinaison des clés externes Attribut d une relation champ dans la table du côté N d une relation 1-N ou dans la table représentant une relation N-N Source : Marcoux, Yves, 2007. «Conversion d un diagramme E/R en structure de tables relationnelles», http://mapageweb.umontreal.ca/marcoux/enseign/6306/conversion-er-relat.htm
SCI6306 18 / 26 Conversion diagramme E-R en tables [2/8] 3. Réévaluation des clés primaires* en fonction de l ensemble des champs créés Modification des clés externes en conséquence 4. Définition des types pour chaque champ 5. Détermination des champs à valeur NULL (champs facultatifs) ou permettant la chaîne vide 6. Règles d écriture particulières (peuvent être générées par exemple via un masque) Source : Marcoux, Yves, 2007. «Conversion d un diagramme E/R en structure de tables relationnelles», http://mapageweb.umontreal.ca/marcoux/enseign/6306/conversion-er-relat.htm * Voir texte Marcoux, Yves, 2007. «Clé primaire multichamp», http://mapageweb.umontreal.ca/marcoux/enseign/6306/cle-primaire-multichamp.htm
SCI6306 19 / 26 Conversion diagramme E-R en tables [3/8] Exemple de conversion
SCI6306 20 / 26 Conversion diagramme E-R en tables [4/8] Étape 1 : Transformation des entités en tables et des attributs en champs Table COURS no_cours* local titre jour heure statut Table ETUD no_etud* nom adresse dat_nais prog Table PROF no_prof* nom bureau
SCI6306 21 / 26 Conversion diagramme E-R en tables [4/8] Étape 2 : Transformation des relations 1-N en clés externes Table COURS no_cours* local titre jour heure statut no_prof Table ETUD no_etud* nom adresse dat_nais prog Table PROF no_prof* nom bureau
SCI6306 22 / 26 Conversion diagramme E-R en tables [4/8] Étape 2 (suite) : Transformation des relations N-N en tables Table SUIT Table COURS no_cours* no_etud* Table ETUD no_cours* local titre jour heure statut no_prof no_etud* nom adresse dat_nais prog Table PROF no_prof* nom bureau
SCI6306 23 / 26 Conversion diagramme E-R en tables [4/8] Étape 3 : Transformation des attributs de relation en champs Table COURS no_cours* local titre jour heure statut no_prof Table ETUD no_etud* nom adresse dat_nais prog Table SUIT no_cours* no_etud* note_p note Table PROF no_prof* nom bureau
SCI6306 24 / 26 Modélisation d une base de données relationnel Conversion diagramme E-R en tables [8/8] Étape 4 : Définition des types pour chaque champ Principaux types Étape 5 : Détermination des champs à valeur NULL Quels champs sont obligatoires? Facultatifs? Étape 6 : Mise en place des masques pour la validation
SCI6306 25 / 26 Schéma relationnel Composantes Diagramme E-R de la base de données Structure de tables relationnelles Description des champs (à quoi ils correspondent, quel est leur format, les valeurs possibles, etc.) Contraintes additionnelles sur les contenus s il y a lieu i.e. des restrictions sur certains contenus qui ne peuvent se définir par les caractéristiques d un champ (e.g. des restrictions d un champ par rapport à la valeur d un autre champ) Exemples de contenus valides (pour illustrer les règles de saisie) voir exemple du schéma relationnel de la base INSCRIP (http://cours.ebsi.umontreal.ca/sci6306/docs/sci6306_inscrip_schema_relationnel.pdf)
SCI6306 26 / 26 Projet de session, volet A Objectif : modéliser un cas concret en utilisant l approche E-R Livrable (volet A) : schéma relationnel Cas concret (projet de session) Les informations consignées par les coordonnatrices de stages de l EBSI sur les stages Actuellement : système de fiches cartonnées Volet A : modélisation de cette réalité Volet B : implantation de la modélisation dans MySQL et saisie de données Volet C : développement d une interface Web pour pouvoir saisir certaines informations ainsi que produire certains types de documents