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 ?