Bases de données (bdd)
Transcription
Bases de données (bdd)
UE BADE Mercredi 6 février Bases de données (bdd) Def : collections d’info + ou – structurées reliées entre-elles et dans un domaine donné. Constituer la base Alimenter (contrôler) Travail de terrain, données, vérité Interroger Base Décision Humaine Ne pas oublier l’HUMAIN qd on parle de bdd. Un peu d’histoire : 1951 Univac, premier vrai ordinateur Vocabulaire du tableau dans les bdd : Entête contient les identificateurs des champs (noms des colonnes) Chaque ligne est un enregistrement. Chaque colonne représentant une variable est un champ. Systèmes de Gestion de Base de Données Relationnelles : SGBDR sont les logiciels pour définir une base de données. ex : Access, dbase, SQL, PHP MySQL, IBM… System Query Language= SQL. Nous on va utiliser la méthode Merise. Le format universel d’une base est le format ASCII (texte). American standard Code for Information Interexchange. On essaye de simplifier au max les écritures pour optimiser la mémoire : différents types dans le codage des données. 1 bit=1digit de codage 8bit= 1 byte Pour finalement coder en binaire. Cf ppt Important : Eclater l’information L’organiser en catégories Penser structure tabulaire Faire des choix stratégiques Penser à la règle 80/20, arrêter d’être perfectionniste !!! Remplir 100% du cahier ds charges est une utopie !!! Une bdd raconte une histoire conditionnée par un but. Unicité de l’information (sauf si ça nous arrange) Economiser au mieux la qté d’info renseignée(entrée ds la base) Comment s’y prendre : 1. Brainstorming : 1er brouillon : idées en vrac 2. Construction des catégories : 2e brouillon : on met les idées dans les cases Identificateur des tables Etudiant Identifica teurs de champs nom Prénom N° Date naissance cursus enseignant nom Prénom matière N° matières Coef intitulé Enseignant notes coeff élèves enseignant note notes élèves Et les liaisons ? histoire ? unicité ? En bleu les données de la base. En rouge pb identifiés, va permettre de clarifier les relations. 3. 3e brouillon : vers l’histoire que l’on cherche à raconter. Pour démarrer, on pourrait écrire la phrase à la forme passive suivante. La note de x/20 a été obtenue par l’étudiant Y ds matière Z enseignée par l’enseignant T avec le coeff C. Acteurs Contenus Element central Element curieux : catégorie ou pas ? Cette formulation fait apparaitre une structuration des données en 5 tables, avec la table « note » comme table principale. 4. On démarre la construction de la bdd Attention : éviter les espaces, les maj et les accents dans les titres des champs. Table_etudiant Clé primaire ID_etudiant (entier) Garante de Nom (string) l’unicité prenom (string) n° (entier) date naissance (date) Cursus (string) Table_matiere ID_matiere (entier) intitule (string) coeff (entier) Code enseignant (entier) 1 Table_enseignant ID_enseignant (entier) nom (string) n prenom (string) n° (entier) Types d’info String : chaine de caractères Pour relier les tables entre-elles, il faut faire attention au type de caractères. Pourquoi ne pas relier ID matière avec ID enseignant ? On ne peut pas mélanger ! Attention : on ne peut pas avoir plusieurs fois le mm ID_enseignant dans la Table_enseignant. Types de relations : 1à n Relation de 1 à plusieurs : On a supprimé matière de la table enseignant, ie : Un enseignant peut enseigner plusieurs matières. 1à 1 Un enseignant enseigne 1 matière. nàn Plusieurs enseignants peuvent enseigner dans la mm matière et en mm temps plusieurs matières peuvent etre enseignées par un mm enseignant. Pratique sur Access Conseil pour enregistrement de la base : toujours par étape. Choisir base de données vides. Créer une table en mode création. Ne pas oublier de choisir un champ pour la clé primaire. Ensuite aller en mode feuille de données. Si on veut changer les ID c lé primaire (si on a effacé des lignes): Mode création, enlever la clé primaire puis la remettre. Clic droit sur l’icine de la table : Propriétés de la table : on peut y entrer une description et des détails. Créer des relations. Mode feuille de données Ajouter à l’affichage la table enseignant.. Puis clic droit : afficher la table : choisir une autre table Cliquer sur un champ et sans lacher la souris, se diriger vers l’autre. Cocher les 2 premières cases : appliquer intégrité et mettre à jour en cascade. On ne peut mettre en relation qu’une clé primaire avec un e clé étrangère (ie non primaire). Conseil : pour rester cohérent, si on relie 2 champs et qu’on n’a pas rempli une partie, on peut mettre 1 comme valeur par défaut dans mode création du champ pour éviter les absences de correspondances. Bien faire attention aux valeurs par défaut et formats des données dans les champs. Table de relation plusieurs à plusieurs Table intermédiaire 5. Mise en scène de la table principale Table_note n code_etudiant code_matière Note obtenue 1 n Table_enseignant ID_enseignant (entier) nom (string) prenom (string) n° (entier) Table_etudiant ID_etudiant (entier) nom (string) prenom (string) 1 Table_matiere 1 n° (entier) date naissance (date) Cursus (string) ID_matiere (entier) intitule (string) coeff (entier) Code enseignant (entier) n Liste_coef 1 2 3 On crée une table coef pour pouvoir ensuite les rentrer comme une liste Dans le mode création à coté de format « numérique » de coef, on va sur assistant liste de choix et on est guidé pour lier à la table matière On fait des hypothèses pour savoir le type de relations : un étudiant peut avoir plusieurs notes ?