SGBDR Modélisation Construction Interrogation
Embed Size (px)
description
Transcript of SGBDR Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr
SGBDR
ModélisationConstructionInterrogation
Mary VincentLaboratoire d’Informatique MédicaleFaculté de MédecineRennes, France

http://www.med.univ-rennes1.fr
Historique
1960Uniquement des systèmes de gestion de fichiers plus ou moins sophistiqués.
1970Début des systèmes de gestion de bases de données réseaux et hiérarchiques proches des systèmes de gestion de fichiers.Pb :
on ne pouvait pas interroger une base sans savoir où était l'information recherchée (on "naviguait") Pas d’écriture de programmes possibles
Papiers sur le fondement de la théorie des BdDR
1980Débuts des SGBDR
1990Domination des SGBDRDébut des systèmes de gestion de bases de données orientés objet.

http://www.med.univ-rennes1.fr
BdD hiérarchique
Patron
Sous-chef
ChefChef
Sous-chef Sous-chef Sous-chef Sous-chef
Cellule
Chromosome
Gène

http://www.med.univ-rennes1.fr
BdD réseau
Patron
Sous-chef
ChefChef
Sous-chef Sous-chef Sous-chef Sous-chef
Patron

http://www.med.univ-rennes1.fr
Chromosome
CodeChromosomeNumChromosome….
Genome
CodeGenomeNomGénome….
Gene
CodeGeneNomGene….
CodeGénome CodeChromosome
Select NomGene From Table Gene Where CodeChromosome = HUM-10
BdD relationnelle

http://www.med.univ-rennes1.fr
PersonneAdresseSalaireLieu de travail
Chef
Scooter de fonctionRef patron
Patron
Primes de responsabilitéVoiture de fonction
Sous-chef
Vélo de fonctionRef chef
BdD objet
Transcris épissé
TailleSéquence
ARNt
Nom :Fonction :
ARNm
Niveau d’expressioncondition
SnARN
Localisation Moléculaire

http://www.med.univ-rennes1.fr
Une BdD est un ensemble d'informations qui est : exhaustif,
non redondant,
structuré,
persistant.
Un SGBD est un logiciel qui permet de : décrire,
modifier,
interroger,
administrer.
SGBDDéfinition et exemple
Clefs
Contraintes
Normalisation
Attentes

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs
Contraintes
Normalisation
Attentes

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs
Contraintes
Normalisation
Attentes
Nom de la relation
Attributs
Clefs

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs
Contraintes
Normalisation
Attentes
Clef primaire
Clef(s) secondaire(s)
Clef(s) étrangère(s)

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs primaires
Contraintes
Normalisation
Attentes
Permet d’identifier de manière unique un tuple dans une table
Exemple :Clef formée d’un attribut :
CLIENT (num_client, nom, prénom, adresse)
Clef formée de plusieurs attributs
PRODUIT (type, code, libelle, couleur)

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs secondaires
Contraintes
Normalisation
Attentes
Autres clefs primaires possibles
Exemple :CLIENT (num_client, code_INSEE, nom, prénom, adresse)
Clef primaire Clef secondaire

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs étrangères
Contraintes
Normalisation
Attentes
Clefs qui référencent des clefs primaires d’autres tables
Exemple :CLIENT (num_client, nom, prénom, adresse)
PRODUIT (num_produit, libelle, couleur)
ACHAT (num_achat, #num_client, #num_produit, quantité)
Clef primaireClefs étrangères

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs étrangères
Contraintes
Normalisation
Attentes
CLIENT (num_client, nom, prénom, adresse)
PRODUIT (num_produit, libelle, couleur)
ACHAT (num_achat, #num_client, #num_produit, quantité)
Num_client Nom Prénom Adresse
35 Dupont Pierre Bruz
42 Martin Paul Rennes
Num_produit Libelle Couleur
4 Table Bleu
7 Chaise Rouge
Num_achat Num_client Num_produit quantité
1 35 4 6
2 33 7 8
3 42 4 1
4 35 6 3

http://www.med.univ-rennes1.fr
SGBDDéfinition et exemple
Clefs étrangères
Contraintes
Normalisation
Attentes
Clients rennais ayant acheté des produits bleus
Num_client Nom Prénom Adresse
35 Dupont Pierre Bruz
42 Martin Paul Rennes
Num_produit Libelle Couleur
4 Table Bleu
7 Chaise Rouge
Num_achat Num_client Num_produit quantité
1 35 4 6
2 33 7 8
3 42 4 1
4 35 6 3

http://www.med.univ-rennes1.fr
Propriétés qui doivent toujours être vérifiées dans la base
Exemple:Prix d’un produit toujours positif
Age compris entre 0 et 130 ans
Numéro de téléphone à 10 chiffres
…
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation
Attentes

http://www.med.univ-rennes1.fr
But et principeEnsemble de règles à appliquer
Conformité des tables et relations avec le modèle relationnel utilisé par le moteur
Écriture simplifiée des requêtes
Assurer l’intégrité des données
Utilisation a priori optimale de ressources
Possibilité de Dénormaliser
Dépendances fonctionnelles
Les formes normales
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes

http://www.med.univ-rennes1.fr
Dépendance fonctionnelle simple
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes
Dépendance fonctionnelle de plusieurs valeurs
A - > B
A détermine B
A < - - > B
A détermine plusieurs B
Si on connaît votre numéro de salarié dans l’entreprise on peut trouver votre nom.
Si on connaît le nom d’un professeur on peut déterminer la liste de ses étudiants.

http://www.med.univ-rennes1.fr
Première forme normaleLes champs doivent être atomiques
Il ne peut y avoir de champs répétitifs
Les champs ont une signification constante et précise dans le temps
Exemple : CLIENT (num_client, nom, prénom, lieu_date_naissance)
Pas de pertes d’informations
Requêtes facilitées
Num_client Nom Prénom Lieu_date_naissance
35 Dupont Pierre Bruz_22/04/1975
42 Martin Paul Rennes_15/05/1979
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes
Num_client Nom Prénom Lieu_naissance Date_naissance
35 Dupont Pierre Bruz 22/04/1975
42 Martin Paul Rennes 15/05/1979

http://www.med.univ-rennes1.fr
Première forme normaleLes champs doivent être atomiques
Il ne peut y avoir de champs répétitifs
Les champs ont une signification constante et précise dans le temps
Exemple :
Animal Date Quantité
Poule10 03/01/2005 2
Poule9 02/01/2005 1
Vache7 03/01/2005 7
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes
Poule Date Quantité
Poule10 03/01/2005 2
Poule9 02/01/2005 1
Vache Date Quantité
Vache7 03/01/2005 7

http://www.med.univ-rennes1.fr
Deuxième forme normaleÊtre en première forme normale
Les propriétés non clefs sont totalement dépendantes fonctionnellement de la totalité de la clé primaire
Tout attribut n’appartenant par à la clef ne dépend par que d’une partie de la clef
Num_salarie Nom Num_projet Heures
20036 Durand 1 22
20036 Durand 2 10
36950 Leroux 2 5
45002 Franck 3 9
45002 Franck 1 7
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes
Num_salarie Date
20036 Durand
36950 Leroux
45002 Franck
Num_salarie Num_projet Heures
20036 1 22
20036 2 10
36950 2 5
45002 3 9
45002 1 7

http://www.med.univ-rennes1.fr
Troisième forme normaleÊtre en deuxième forme normale
Tout attribut n’appartenant pas à une clef ne dépend pas que d’un attribut non clé
Si une valeur d’un champ non clé peut être déduite d’un autre champ non clé, alors la table n’est pas dans une 3ème forme normale
Num_salarié Nom Num_Service Nom_service Num_chef
35 Dupont 5 Informatique 4580
42 Martin 6 vente 4120
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes
Num_client Nom Num_service
35 Dupont 5
42 Martin 6
Num_service Num_chef Nom_service
5 4580 informatique
6 4120 vente
Anomalie de suppressionAnomalie d’insertion : nouveau service

http://www.med.univ-rennes1.fr
La normalisation n’est pas une finalité, mais un outil
On ne peut dénormaliser que si on a préalablement normaliserjustification
SGBDDéfinition et exemple
Clefs
Contraintes d’intégrité
Normalisation d’une BDR
Attentes

http://www.med.univ-rennes1.fr
Indépendance physique
Indépendance logique
Efficacité des accès aux données
Administration centralisée des données
Non redondance des données
Cohérence des données
Partageabilité des données
Sécurité des données
Résistance aux pannes
SGBDDéfinition et exemple
Clefs
Contraintes
Normalisation
Attentes

http://www.med.univ-rennes1.fr
La conception d’une base de données n’est pas un domaine
réservé aux informaticiens !
Conception de BdDR
La maîtrise d’un SGBDR est loin d ’être aussifacile à acquérir que celle d ’un logiciel de traitement de texte par ex.
Les logiciels de type SGBDR sont intégrésaux suites bureautiques les plus connues.Ex: ACCESS du pack Office.
Preuve…
Cependant …

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition
Construction
UML et Merise

http://www.med.univ-rennes1.fr
Modèle entité associationProposé par
Chen (USA) en 1976
Tardieu en France, 1975
Intégré à Merise en 1979
Repris par le diagramme de classe d’UML
Pour faire un MCD :utilisation des diagrammes de classes
Uniquement (pas d’autres diagrammes : cas, séquence…)
ModélisationIntroduction
Définition
Construction
UML et Merise

http://www.med.univ-rennes1.fr
Les différentes composantes :Attributs
Classes
Méthodes
Associations
Cardinalités
ModélisationIntroduction
Définition
Construction
UML et Merise

http://www.med.univ-rennes1.fr
Description abstraite d’un objet de même structure et de même comportement
~ Acteur
Modélisation : pas forcement lié au monde réel
ModélisationIntroduction
Définition : Classe
Construction
UML et Merise
ELEVE MATIERE SALLE

http://www.med.univ-rennes1.fr
Données élémentaires
Sert à caractériser les classes et les associations
Exemple :
ModélisationIntroduction
Définition : Attribut
Construction
UML et Merise
ID_matiereNomCoefficientAnnée
MATIERE
ID_salleNombre_placeBatiment
SALLE
ID_eleveNomPrenomAdresseAnnée naissance
ELEVE

http://www.med.univ-rennes1.fr
Un ou plusieurs attributs
Décrit un et un seul tuple de la classe (enregistrement)
ModélisationIntroduction
Définition : Clefs
Construction
UML et Merise
ID_matiereNomCoefficientAnnée
MATIERE
ID_salleNombre_placebâtiment
SALLE
ID_eleveNomPrénomAdresseAnnée naissance
ELEVE

http://www.med.univ-rennes1.fr
Association = relation
Lie deux classes
ModélisationIntroduction
Définition : Association
Construction
UML et Merise
ID_matiereNomCoefficientAnnée
MATIERE
ID_salleNombre_placebâtiment
SALLE
ID_eleveNomPrénomAdresseAnnée naissance
ELEVE
ID_matiereNomCoefficientAnnée
MATIERE
SUIT
EST DISPENSEE EN

http://www.med.univ-rennes1.fr
Dimension : nombre de pattes de l’association
Collection : liste des classes qui participent à l’association
Exemple de « suit »est de dimension 2
sa collection est {ELEVES, MATIERE}
ModélisationIntroduction
Définition : Association
Construction
UML et Merise
ID_matiereNomCoefficientAnnée
MATIERE
ID_eleveNomPrénomAdresseAnnée naissance
ELEVESUIT

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition : Association de dimension 3
Construction
UML et Merise
ID_villeNomDépartement
VILLES
NuméroNomadresse
PERSONNE
Naissance
JJMMAAAAévénement
DATE

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition
Construction : Cardinalités
UML et Merise
La cardinalité indique le nombre d’occurrences minimum et maximum qui peuvent intervenir dans une association.
Si la valeur de la cardinalité minimum est :0 : certaines occurrences de l’entité peuvent ne pas participer à l'association,1 : toutes les occurrences de l’entité participent à l'association.
Si la valeur de la cardinalité maximale est :1 : toutes les occurrences de l’entités participent au plus une fois à l'association,* : certaines occurrences de l’entité peuvent participer plusieurs fois à l'association
SalleNuméro salleNombre places
MATIÈRENom matièreCoefficientAnnée matière
1..11..*

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition
Construction : Cardinalités
UML et Merise
1..*
1..*
0..*
0..*
1..1
1..*0..*
1..*
1..*
1..*ENSEIGNANT
Numéro enseignantNom enseignant
SALLE
Numéro salleNombre places
MATIÈRE
Nom matièreCoefficientAnnée matière
ÉLÈVE
Numéro élèveNom élèveAdresse élèveAnnée naissance
EST RESPONSABLE DE
EST DIPENSÉE
PRÉ_REQUIE
ENSEIGNE
SUIT
Note

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition
Construction : Cardinalités
UML et Merise

http://www.med.univ-rennes1.fr
ModélisationIntroduction
Définition
Construction : Cardinalités
UML et Merise
UML MERISE
Diagramme de classes Modèle conceptuel de données
Classe Entité
Association (Relation) Association (Relation)
Multiplicité Cardinalité
Objet Occurrence

http://www.med.univ-rennes1.fr
De l’UML vers les BDRLes associations 1.1
Les associations 1.*
Les associations *.*
Les associations 0..1,*
Traduction du diagramme de classe en BDR
5 règles :Règle 1 : Les classes deviennent des tables, les attributs les colonnesRègles 2.3.4.5 : On gère les 3 types d’association.
1.1 si les deux cardinalités sont 0..1 ou 1..1
1.* si une des deux cardinalités est 0..n ou 1..n
*.* si les deux cardinalités sont 0..n ou 1..n

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègles 2 : Les associations 1.1
Les associations 1.*
Les associations *.*
Les associations 0..1,*
A B1 1
Table A (Clé_A Clé Primaire, Autres attributs de A, @Clé_B Référence B)
Table B (Clé_B Clé Primaire, Autres attributs de B,@Clé_A Référence A)
LivreRéférence_li
Etat_livreNum_etat_livreCouverturePagesPourcent_usure
1 1
LIVRE(Référence_li, @Num_etat_livre)ETAT_LIVRE(Num_etat_livre, @Référence_li, Couverture, Pages, Pourcent_usure)

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègle 2 : Les associations 1.1
Règle 3 : Les associations 1.*
Les associations *.*
Les associations 0..1,*
Table A (Clé_A Clé Primaire, Autres attributs de A)
Table B (Clé_B Clé Primaire, Clé_A Référence A, Autres attributs de B)
A B
*1
LivreRéférence_li
OeuvreNum_oeuvreTitreISBN
1..*
1 LIVRE(Référence_li, @Num_etat_livre, @Num_oeuvre)OEUVRE(Num_oeuvre,Titre, ISBN)

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègle 2 : Les associations 1.1
Règle 3 : Les associations 1.*
Rège 4 : Les associations *.*
Les associations 0..1,*
A B
* ***
Table A (Clé_A Clé Primaire, Autres attributs de A)Table B (Clé_B Clé Primaire, Autres attributs de B)Table C (Clé_A Référence A,
Clé_B Référence B, Clé primaire(Clé_A, Clé_B))

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègle 2 : Les associations 1.1
Règle 3 : Les associations 1.*
Rège 4 : Les associations *.*
Les associations 0..1,*
OeuvreTitreISBN
Mot_cléNom_mot
0..5
0..*
OEUVRE(Num_oeuvre,Titre, ISBN) MOT_CLE(Ident_mot, Nom_mot)
Table de jointure :
REL_ŒUVRE_MOT_CLE(@ Num_oeuvre, @ Ident_mot)

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègle 2 : Les associations 1.1
Règle 3 : Les associations 1.*
Règle 4 : Les associations *.*
Règles 5 : Les associations ternaires

http://www.med.univ-rennes1.fr
De l’UML vers les BDRRègle 2 : Les associations 1.1
Règle 3 : Les associations 1.*
Règle 4 : Les associations *.*
Règles 5 : Les associations ternaires