Cours 7 Création d`une base de données avec phpMyAdmin
Transcription
Cours 7 Création d`une base de données avec phpMyAdmin
Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 École de bibliothéconomie et des sciences de l’information SCI6306 Bases de données documentaires Cours 7 Création d’une base de données avec phpMyAdmin Faculté des arts et des sciences 14 octobre 2016 14 octobre 2016 © Christine Dufour, 2016 SCI6306 1 / 11 2 / 11 Au programme aujourd’hui Création d’une BD avec phpMyAdmin Création d’une table de données Définition des propriétés des champs Définition des index Définition des relations entre les tables Saisie des données Projet de session Remise du volet A Présentation du volet B SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 1 Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 14 octobre 2016 SCI6306 3 / 11 phpMyAdmin Création d’une table de données Principaux éléments génériques à définir Nom de la table Commentaires sur la table Description succincte du contenu de la table (complément au nom) Interclassement Jeu de caractères + caractéristiques du classement • Par exemple : utf8_general_ci = Unicode (multilingue), insensible à la casse • À définir si on ne veut pas retenir l’interclassement défini au niveau de la base de données Moteur de stockage Selon les besoins au niveau de la performance et de la protection de l’intégrité des données entre autres Le plus fréquemment utilisé : InnoDB (celui utilisé par défaut lorsque l’on crée une table) https://www.thinglink.com/card/693904910051180544 14 octobre 2016 SCI6306 4 / 11 phpMyAdmin Définition des champs Principales propriétés à définir Nom du champ Type de données (voir Documentation, p. 9 http://cours.ebsi.umontreal.ca/sci6306/docs/sci6306_documentation.pdf) Taille du champ ou valeurs prédéfinies (selon le type de données) Valeur par défaut (s’il y a lieu) Interclassement (s’il diffère de celui de la table) Attributs particuliers (en particulier « unsigned » pour les champs numériques qui n’acceptent que les valeurs positives) Acceptation ou non de la valeur nulle (acceptation = champ facultatif) Index (s’il y a lieu; voir acétate suivante) Champ dont la valeur s’incrémente automatiquement (A_I) Commentaires (pour rappeler, par exemple, les principales règles d’écriture) https://www.thinglink.com/card/693904910051180544 SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 2 Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 14 octobre 2016 SCI6306 5 / 11 phpMyAdmin Définition des index Peuvent être créés lors de la création des champs ou après Rappel : les champs sont cherchables même s’ils ne sont pas indexés; l’indexation permet d’accélérer la recherche Principes de base Champs obligatoirement indexés Clé primaire : index de type Primary Clé externe : index de type Index Champ avec valeurs uniques : index de type Unique Champs pour recherches fréquentes : index de type Index ou Unique Remarque : Index de type Fulltext Pour les champs contenant du texte et pour lesquels on veut utiliser des fonctions de recherche textuelle plus avancées comme match() against() (non couvert dans le cours) Présence d’un antidictionnaire ainsi que de différentes règles pour décider de ce qui est indexé ou non https://www.thinglink.com/card/693911561177137152 14 octobre 2016 SCI6306 6 / 11 phpMyAdmin Définition des relations Peut se faire à partir de l’onglet Structure d’une table en cliquant sur Vue relationnelle ou en utilisant le Concepteur (interface graphique plus simple*) Définition du type d’action à effectuer lorsque l’on met à jour ou que l’on supprime un enregistrement dans une table liée CASCADE : les actions sur la table principale se répercutent sur la table liée Par exemple, si on supprime un cours, toutes les inscriptions vont être effacées Permet de préserver l’intégrité référentielle des données en s’assurant que chacune des valeurs de la clé externe dans la table liée correspond à un enregistrement dans la table principale Souvent le comportement recherché SET NULL : si on supprime un enregistrement de la table principale, les enregistrements correspondant dans la table liée ne sont pas effacés, mais la valeur de la clé externe est changée pour NULL RESTRICT : on ne peut modifier la clé primaire ou effacer un enregistrement de la table principale s’il existe un enregistrement correspondant dans la table liée *https://www.thinglink.com/card/689640535597514754 SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 3 Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 14 octobre 2016 SCI6306 7 / 11 phpMyAdmin Dictionnaire de données Possibilité de générer, à partir de l’onglet Structure d’une base de données, un « dictionnaire de données » où on retrouve, pour chaque table, le détail sur les champs et ses index Extrait pour INSCRIP 14 octobre 2016 SCI6306 8 / 11 phpMyAdmin Saisie des données [1/2] Saisie directe des données dans phpMyAdmin Nouveaux enregistrements En cliquant sur une table et ensuite sur Insérer Affiche un formulaire avec deux enregistrements à remplir Contrôles du formulaire en fonction du type de données des champs Enregistrements existants En affichant la table et en cliquant directement la valeur que l’on veut modifier; avantage : permet de voir le rappel des règles d’écriture En affichant la table et en cliquant sur Modifier à gauche de l’enregistrement à modifier https://www.thinglink.com/card/689561855126929410 SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 4 Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 14 octobre 2016 SCI6306 9 / 11 phpMyAdmin Saisie des données [2/2] Importation de données Permet l’importation en lot de données (par exemple, s’il s’agit d’une migration d’une base de données existante vers MySQL) Peut se faire dans une table existante ou dans une nouvelle table Plusieurs formats supportés : SQL, CSV, XML, ODS, etc. Exemple d’ODS (opendocument spreadsheet) Nom de la feuille correspond au nom de la table Noms des champs dans la première ligne Enregistrements dans les lignes suivantes Si importation dans une table existante, données doivent correspondre aux caractéristiques des champs définis sinon erreur à l’importation https://www.thinglink.com/card/693896319500025857 14 octobre 2016 SCI6306 10 / 11 phpMyAdmin Exporter des données / la BD Possibilité d’exporter les données d’une table sous différents formats (CSV, PDF, SQL, …) Cliquez sur la table et ensuite sur Exporter https://www.thinglink.com/card/693897182910087169 Possibilité d’exporter toute la BD, entre autres en format SQL pour pouvoir la réimporter dans phpMyAdmin Cliquez sur la base de données et ensuite sur Exporter https://www.thinglink.com/card/693899008556400641 SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 5 Cours 7 ‐ Création d'une BD dans phpMyAdmin 14 octobre 2016 14 octobre 2016 SCI6306 11 / 11 Projet de session – Volet B Protocole déposé sur StudiUM à la pause du cours (si toutes les équipes ont remis le volet A) Objectifs Développer la base de données correspondant au schéma fourni Saisir des informations dans les tables Livrables Base de données MySQL correspondant au schéma fourni et contenant les données demandées Rapport où sont consignés les différents éléments demandés Justification des choix Réflexion sur la qualité de la base de données Etc. Travail en équipe, donc dans le compte partagé sur phpMyAdmin Vous pouvez aussi utiliser l’espace sur GIN-EBSI de l’équipe pour conserver une copie de sauvegarde du rapport SCI6306 (A2016) / Christine Dufour (EBSI, UdeM) 6