340 likes | 479 Views
Concepts des bases de données. yves.pigneur@hec.unil.ch gabor.maksay@eivd.ch. Référence. Bases de données et modèles de calcul, Outils et méthodes pour l'utilisateur, Jean-Luc Hainault , Dunod, 3ème édition, 2002 Chapitre 3, pp. 31-44. Agenda. table, ligne et colonne rôles d’une colonne
E N D
Conceptsdes bases de données yves.pigneur@hec.unil.ch gabor.maksay@eivd.ch
Référence • Bases de données et modèles de calcul, Outils et méthodes pour l'utilisateur, Jean-Luc Hainault, Dunod, 3ème édition, 2002 • Chapitre 3, pp. 31-44 2
Agenda • table, ligne et colonne • rôles d’une colonne • identifiant • clé étrangère (contrainte référentielle) • schéma de base de données (BD) • représentation graphique • modification et contrainte d’intégrité 3
Table, ligne & colonne • Une table • contient une suite de lignes • stockées sur un support externe (disque) • Une ligne • est une suite de valeurs • d’un type déterminé • regroupe des informations concernant • un fait, un objet, un individu, un événement, ... 4
PERSONNE NOM ADRESSE LOCALITE COMPTE HANSENNE MERCIER MONTI TOUSSAINT VANBIST VANDERKA GILLET GOFFIN FERARD 23, a. Dumont 25, r. Lemaitre 112, r. Neuve 5, r. Godefroid 180, r. Florimont 3, a. des Roses 14, r. de l’Eté 72, r. de la Gare 65, r. du Tertre Poitiers Namur Genève Poitiers Lille Namur Toulouse Namur Poitiers 1’250.00 -2’300.00 0.00 0.00 720.00 -4’580.00 8’700.00 -3’200.00 350.00 Table, ligne & colonne exemple 5
Ligne (n-uplet) • Il existe une personne • de nom Avron, • résidant 8 ch. de la Cure • à Liège, et • dont le compte est débiteur de 1’700 francs AVRON 8, ch. de la Cure -1’700.00 Liège 6
Colonne • Toutes les lignes ont le même format • Une colonne • reprend l’ensemble des valeurs de même type correspondant à une même propriété des entités décrites • est décrite par • son nom • le type de ses valeurs et • leur longueur maximale 7
Relations Schéma nom & liste de domaines Domaines attribut Degré nombre de domaines Extension ensemble de lignes Lignes (n-uplets) • Remarques: • lignes (distinctes) • ordre des lignes (indifférent) • ordre des colonnes (indifférent) • attributs (atomiques) 8
Mises à jour • Il est possible • d’ajouter • des lignes à une table • de supprimer • des lignes d’une table • de modifier dans une table • la valeur d’une ou plusieurs colonnes • la valeur d’une ou plusieurs lignes 9
Base de données (II) PIECE LIVRE TYPE NUMPL NUMP NUMFL PRIX 14 57 15 boulon écrou boulon 152 174 152 81 81 152 46 46 15 57 14 14 15 57 15 57 46. 32. 62. 65. 48. 34. 46. 32. FOURNISSEUR NOMF NUMF VILLEF 152 174 81 376 259 46 MERCIER CHARLES DUMONT RENIER CHARLES GARCIN Tours Nevers Paris Nevers Liège Paris 11
Schéma d’une BD représentation graphique FOURNISSEUR PIECE NUMF NOMF VILLEF NUMP TYPE LIVRE NUMFL NUMPL PRIX 12
Access (I) 13
Identifiant clé Exemple : NUMP identifiant de PIECE NUMF identifiant de FOURNISSEUR NUMFL,NUMPL identifiant de LIVRE * il peut en exister plusieurs pour une même table (le plus représentatif est appelé identifiant primaire, les autres sont appelés identifiants secondaires) Un identifiant* est une ou plusieurs colonnes dont les valeurs permettent de repérer sans équivoqueune ligne parmi un ensemble de lignes 14
Identifiant représentation graphique FOURNISSEUR PIECE NUMF NOMF VILLEF NUMP TYPE LIVRE NUMFL NUMPL PRIX 15
Access (II) 16
Clé étrangère Exemple : NUMFL clé étrangère dans LIVRE (référence à une ligne de FOURNISSEUR) NUMPL clé étrangère dans LIVRE (référence à une ligne de PIECE) Une clé étrangère est une ou plusieurs colonnes constituées de l’identifiant d’une autre table (et joue le rôle de référence à une ligne de cette table) 17
Contrainte de référence toutes les valeurs de NUMFL dans LIVRE sont dans NUMF de FOURNISSEUR toutes les valeurs de NUMPL dans LIVRE sont dans NUMP de PIECE Une contrainte référentielle impose que toutes les valeurs d’une clé étrangère référencent une ligne de la table référencée 18
Clé étrangère représentation graphique FOURNISSEUR PIECE NUMF NOMF VILLEF NUMP TYPE LIVRE NUMFL NUMPL PRIX 19
Access (III) 20
Clé étrangère Une clé étrangère peut être constituée de plusieurs colonnes FOURNISSEUR CATALOGUE NUMF NOMF VILLEF ANNEE SAISON EDITEUR ARTICLE NUMA NUMFL ANNEE SAISON 21
Colonne facultative Valeur nulle • contrainte: les colonnes d’un identifiant sont obligatoires Une colonne est facultative quand elle peut ne pas prendre de valeur pour certaines lignes de la table LIVRE NUMFL NUMPL (PRIX) 22
Schéma d’une BD • définit la structure de la BD • en termes de: • tables • avec ses • colonnes (type de valeurs, facultatif ou non) • identifiants (primaire & secondaires) • clés étrangères 23
Schéma d’une BD représentation graphique PRODUIT NO LIBELLE PRIX QSTOCK CLIENT NO NOM ADRESSE LOCALITE (CAT) COMPTE COMMANDE NO NCLI DATE LIGNECOM NCOM NPRO QCOM 24
Véhicule Châssis NumPlaque Marque O.R. id: Châssis Num Véhicule ref: Véhicule Schéma d’une BD représentation graphique(DB-Main) VEHICULE Châssis NumPlaque Marque O.R. Num Véhicule 25
Schéma d’une BD représentation graphique(Access) VEHICULE Châssis NumPlaque Marque O.R. Num Véhicule 26
Clé étrangère note (I) CLIENT FOURNISSEUR NO ... NO ... COMPTE 3 2 NCLI NFOURN ... ACHAT 1 NCLICP NFOURNCP DATE ... 27
Clé étrangère note (II) CLIENT FOURNISSEUR NO ... NO ... COMPTE 3 2 NCLI NFOURN ... ACHAT 4 5 1 NCLICP NFOURNCP DATE ... 28
avant On suppose que la base respecte le schéma après Il faut que la base respecte le schéma consulte ajoute modifie supprime Base de données Base de données Base de données Base de données Base de données Base de données Base de données Exécution de la fonction temps Modification et contraintes • préservation de la cohérence • respect des contraintes d’intégrité • identifiant • contrainte référentielle • colonne obligatoire • autres... • après chaque opération de mise-à-jour 29
Modification et identifiant • création d’une ligne • il ne peut exister une ligne possédant la même valeur de l’identifiant • suppression d’une ligne • modification de l’identifiant d’une ligne • il ne peut exister une ligne possédant la nouvelle valeur de l’identifiant 30
Modification et clé étrangère (I) • création d’une ligne de COMMANDE • la valeur de NCLI de cette ligne doit exister dans la colonne NO d’une ligne de CLIENT • modification de la valeur de NCLI d’une ligne de COMMANDE • la nouvelle valeur de NCLI de la ligne doit exister dans la colonne NO d’une ligne de CLIENT CLIENT NO NOM ADRESSE LOCALITE (CAT) COMPTE COMMANDE NO NCLI DATE 31
Modification et clé étrangère (II) • suppression d’une ligne de CLIENT • un problème se pose lorsque ce client possède des commandes • solutions: • refuser la suppression • supprimer le client et ses commandes • modifier la valeur (nulle) de la clé étrangère (si facultative) CLIENT NCLI NOM ADRESSE LOCALITE (CAT) COMPTE COMMANDE NCOM NCLI DATE 32
Modification et contraintes (III) • modification de NCLI d’une ligne CLIENT • un problème se pose lorsque ce client possède des commandes • solutions: • idem qu’une suppression • modifier la valeur de NCLI dans les lignes COMMANDES correspondantes CLIENT NCLI NOM ADRESSE LOCALITE (CAT) COMPTE COMMANDE NCOM NCLI DATE 33