Title: SGBDR Mod
1SGBDR ModélisationConstructionInterrogation
- Mary Vincent
- Laboratoire dInformatique Médicale
- Faculté de Médecine
- Rennes, France
2Historique
- 1960
- Uniquement des systèmes de gestion de fichiers
plus ou moins sophistiqués. - 1970
- Dé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
- 1980
- Débuts des SGBDR
- 1990
- Domination des SGBDR
- Début des systèmes de gestion de bases de données
orientés objet.
3BdD hiérarchique
Patron
Chef
Chef
Sous-chef
Sous-chef
Sous-chef
Sous-chef
Sous-chef
4BdD réseau
Patron
Patron
Chef
Chef
Sous-chef
Sous-chef
Sous-chef
Sous-chef
Sous-chef
5BdD relationnelle
Chromosome
Genome
Gene
CodeGeneNomGene .
CodeGenomeNomGénome .
CodeChromosomeNumChromosome .
Select NomGene From Table Gene Where
CodeChromosome HUM-10
6BdD objet
7- SGBD
- Définition et exemple
- Clefs
- Contraintes
- Normalisation
- Attentes
- 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.
8- SGBD
- Définition et exemple
- Clefs
- Contraintes
- Normalisation
- Attentes
9- SGBD
- Définition et exemple
- Clefs
- Contraintes
- Normalisation
- Attentes
Nom de la relation
Attributs
Clefs
10- SGBD
- Définition et exemple
- Clefs
- Contraintes
- Normalisation
- Attentes
- Clef primaire
- Clef(s) secondaire(s)
- Clef(s) étrangère(s)
11- SGBD
- Définition et exemple
- Clefs primaires
- Contraintes
- Normalisation
- Attentes
- Permet didentifier de manière unique un tuple
dans une table - Exemple
- Clef formée dun attribut
- CLIENT (num_client, nom, prénom, adresse)
- Clef formée de plusieurs attributs
- PRODUIT (type, code, libelle, couleur)
12- SGBD
- Dé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
13- SGBD
- Définition et exemple
- Clefs étrangères
- Contraintes
- Normalisation
- Attentes
- Clefs qui référencent des clefs primaires
dautres tables - Exemple
- CLIENT (num_client, nom, prénom, adresse)
- PRODUIT (num_produit, libelle, couleur)
- ACHAT (num_achat, num_client, num_produit,
quantité)
Clef primaire
Clefs étrangères
14- SGBD
- Dé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
15- SGBD
- Définition et exemple
- Clefs étrangères
- Contraintes
- Normalisation
- Attentes
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
- Clients rennais ayant acheté des produits bleus
16- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation
- Attentes
- Propriétés qui doivent toujours être vérifiées
dans la base - Exemple
- Prix dun produit toujours positif
- Age compris entre 0 et 130 ans
- Numéro de téléphone à 10 chiffres
-
17- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- But et principe
- Ensemble 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 lintégrité des données
- Utilisation a priori optimale de ressources
- Possibilité de Dénormaliser
- Dépendances fonctionnelles
- Les formes normales
18- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- Dépendance fonctionnelle simple
- Dépendance fonctionnelle de plusieurs valeurs
A lt - - gt B A détermine plusieurs B
A - gt B A détermine B
Si on connaît votre numéro de salarié dans
lentreprise on peut trouver votre nom.
Si on connaît le nom dun professeur on peut
déterminer la liste de ses étudiants.
19- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- Première forme normale
- Les 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 dinformations
- 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
Num_client Nom Prénom Lieu_naissance Date_naissance
35 Dupont Pierre Bruz 22/04/1975
42 Martin Paul Rennes 15/05/1979
20- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- Première forme normale
- Les 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
Poule Date Quantité
Poule10 03/01/2005 2
Poule9 02/01/2005 1
Vache Date Quantité
Vache7 03/01/2005 7
21- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- 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 nappartenant par à la clef ne
dépend par que dune 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
Num_salarie Num_projet Heures
20036 1 22
20036 2 10
36950 2 5
45002 3 9
45002 1 7
Num_salarie Date
20036 Durand
36950 Leroux
45002 Franck
22- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- Troisième forme normale
- Être en deuxième forme normale
- Tout attribut nappartenant pas à une clef ne
dépend pas que dun attribut non clé - Si une valeur dun champ non clé peut être
déduite dun autre champ non clé, alors la table
nest 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
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 suppression Anomalie dinsertion
nouveau service
23- SGBD
- Définition et exemple
- Clefs
- Contraintes dintégrité
- Normalisation dune BDR
- Attentes
- La normalisation nest pas une finalité, mais un
outil - On ne peut dénormaliser que si on a préalablement
normaliser - justification
24- SGBD
- Définition et exemple
- Clefs
- Contraintes
- Normalisation
- Attentes
- 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
25Conception de BdDR
La conception dune base de données nest pas un
domaine réservé aux informaticiens !
Preuve
Les logiciels de type SGBDR sont intégrés aux
suites bureautiques les plus connues. Ex ACCESS
du pack Office.
Cependant
La maîtrise dun SGBDR est loin d être
aussi facile à acquérir que celle d un logiciel
de traitement de texte par ex.
26- Modélisation
- Introduction
- Définition
- Construction
- UML et Merise
27- Modélisation
- Introduction
- Définition
- Construction
- UML et Merise
- Modèle entité association
- Proposé par
- Chen (USA) en 1976
- Tardieu en France, 1975
- Intégré à Merise en 1979
- Repris par le diagramme de classe dUML
- Pour faire un MCD
- utilisation des diagrammes de classes
- Uniquement (pas dautres diagrammes cas,
séquence)
28- Modélisation
- Introduction
- Définition
- Construction
- UML et Merise
- Les différentes composantes
- Attributs
- Classes
- Méthodes
- Associations
- Cardinalités
29- Modélisation
- Introduction
- Définition Classe
- Construction
- UML et Merise
- Description abstraite dun objet de même
structure et de même comportement - Acteur
- Modélisation pas forcement lié au monde réel
ELEVE
MATIERE
SALLE
30- Modélisation
- Introduction
- Définition Attribut
- Construction
- UML et Merise
- Données élémentaires
- Sert à caractériser les classes et les
associations - Exemple
MATIERE
SALLE
ELEVE
ID_matiere Nom Coefficient Année
ID_salle Nombre_place Batiment
ID_eleve Nom Prenom Adresse Année naissance
31- Modélisation
- Introduction
- Définition Clefs
- Construction
- UML et Merise
- Un ou plusieurs attributs
- Décrit un et un seul tuple de la classe
(enregistrement)
MATIERE
SALLE
ELEVE
ID_matiere Nom Coefficient Année
ID_salle Nombre_place bâtiment
ID_eleve Nom Prénom Adresse Année naissance
32- Modélisation
- Introduction
- Définition Association
- Construction
- UML et Merise
- Association relation
- Lie deux classes
MATIERE
ELEVE
SUIT
ID_matiere Nom Coefficient Année
ID_eleve Nom Prénom Adresse Année naissance
MATIERE
SALLE
EST DISPENSEE EN
ID_matiere Nom Coefficient Année
ID_salle Nombre_place bâtiment
33- Modélisation
- Introduction
- Définition Association
- Construction
- UML et Merise
MATIERE
ELEVE
SUIT
ID_matiere Nom Coefficient Année
ID_eleve Nom Prénom Adresse Année naissance
- Dimension nombre de pattes de lassociation
- Collection liste des classes qui participent à
lassociation - Exemple de suit
- est de dimension 2
- sa collection est ELEVES, MATIERE
34- Modélisation
- Introduction
- Définition Association de dimension 3
- Construction
- UML et Merise
VILLES
PERSONNE
ID_ville Nom Département
Numéro Nom adresse
Naissance
DATE
JJMMAAAA événement
35- Modélisation
- Introduction
- Définition
- Construction Cardinalités
- UML et Merise
- La cardinalité indique le nombre doccurrences
minimum et maximum qui peuvent intervenir dans
une association. - Si la valeur de la cardinalité minimum est
- 0 certaines occurrences de lentité peuvent ne
pas participer à l'association, - 1 toutes les occurrences de lentité
participent à l'association. - Si la valeur de la cardinalité maximale est
- 1 toutes les occurrences de lentités
participent au plus une fois à l'association, - certaines occurrences de lentité peuvent
participer plusieurs fois à l'association
Salle
MATIÈRE
Numéro salle
1..1
1..
Nom matière
Nombre places
Coefficient
Année matière
36- Modélisation
- Introduction
- Définition
- Construction Cardinalités
- UML et Merise
ENSEIGNANT
1..
SALLE
Numéro enseignant
1..1
Numéro salle
Nom enseignant
EST RESPONSABLE DE
Nombre places
1..
EST DIPENSÉE
1..
0..
MATIÈRE
ENSEIGNE
0..
Nom matière
PRÉ_REQUIE
Coefficient
1..
Année matière
0..
1..
SUIT
Note
1..
ÉLÈVE
Numéro élève
Nom élève
Adresse élève
Année naissance
37- Modélisation
- Introduction
- Définition
- Construction Cardinalités
- UML et Merise
38- Modélisation
- Introduction
- 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
39- De lUML vers les BDR
- Les 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 colonnes - Règles 2.3.4.5 On gère les 3 types
dassociation. - 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
40- De lUML vers les BDR
- Règles 2 Les associations 1.1
- Les associations 1.
- Les associations .
- Les associations 0..1,
Table A (Clé_A Clé Primaire, Autres attributs de
A, _at_Clé_B Référence B)
Table B (Clé_B Clé Primaire, Autres attributs de
B,_at_Clé_A Référence A)
Livre
Etat_livre
Référence_li
Num_etat_livre Couverture Pages Pourcent_usure
1
1
LIVRE(Référence_li, _at_Num_etat_livre) ETAT_LIVRE(Nu
m_etat_livre, _at_Référence_li, Couverture, Pages,
Pourcent_usure)
41- De lUML vers les BDR
- Règle 2 Les associations 1.1
- Règle 3 Les associations 1.
- Les associations .
- Les associations 0..1,
A
B
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)
Livre
Référence_li
1..
1
LIVRE(Référence_li,
_at_Num_etat_livre, _at_Num_oeuvre) OEUVRE
(Num_oeuvre,Titre, ISBN)
Oeuvre
Num_oeuvre Titre ISBN
42- De lUML vers les BDR
- Rè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))
43- De lUML vers les BDR
- Règle 2 Les associations 1.1
- Règle 3 Les associations 1.
- Rège 4 Les associations .
- Les associations 0..1,
Oeuvre
Mot_clé
0..
Titre ISBN
Nom_mot
0..5
OEUVRE(Num_oeuvre,Titre, ISBN) MOT_CLE(Ident_mot,
Nom_mot) Table de jointure REL_ŒUVRE_MOT_CLE
(_at_ Num_oeuvre,
_at_ Ident_mot)
44- De lUML vers les BDR
- Règle 2 Les associations 1.1
- Règle 3 Les associations 1.
- Règle 4 Les associations .
- Règles 5 Les associations ternaires
45- De lUML vers les BDR
- Règle 2 Les associations 1.1
- Règle 3 Les associations 1.
- Règle 4 Les associations .
- Règles 5 Les associations ternaires