SGBDR Modélisation Construction Interrogation

45
http://www.med.univ- rennes1.fr SGBDR Modélisation Construction Interrogation Mary Vincent Laboratoire d’Informatique Médicale Faculté de Médecine Rennes, France

description

SGBDR Modélisation Construction Interrogation. Mary Vincent Laboratoire d’Informatique Médicale Faculté de Médecine Rennes, France. Historique. 1960 Uniquement des systèmes de gestion de fichiers plus ou moins sophistiqués. 1970 - PowerPoint PPT Presentation

Transcript of SGBDR Modélisation Construction Interrogation

Page 1: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

SGBDR

ModélisationConstructionInterrogation

Mary VincentLaboratoire d’Informatique MédicaleFaculté de MédecineRennes, France

Page 2: SGBDR  Modélisation Construction Interrogation

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.

Page 3: SGBDR  Modélisation Construction Interrogation

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

Page 4: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

BdD réseau

Patron

Sous-chef

ChefChef

Sous-chef Sous-chef Sous-chef Sous-chef

Patron

Page 5: SGBDR  Modélisation Construction Interrogation

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

Page 6: SGBDR  Modélisation Construction Interrogation

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

Page 7: SGBDR  Modélisation Construction Interrogation

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

Page 8: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

SGBDDéfinition et exemple

Clefs

Contraintes

Normalisation

Attentes

Page 9: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

SGBDDéfinition et exemple

Clefs

Contraintes

Normalisation

Attentes

Nom de la relation

Attributs

Clefs

Page 10: SGBDR  Modélisation Construction Interrogation

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)

Page 11: SGBDR  Modélisation Construction Interrogation

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)

Page 12: SGBDR  Modélisation Construction Interrogation

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

Page 13: SGBDR  Modélisation Construction Interrogation

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

Page 14: SGBDR  Modélisation Construction Interrogation

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

Page 15: SGBDR  Modélisation Construction Interrogation

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

Page 16: SGBDR  Modélisation Construction Interrogation

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

Page 17: SGBDR  Modélisation Construction Interrogation

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

Page 18: SGBDR  Modélisation Construction Interrogation

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.

Page 19: SGBDR  Modélisation Construction Interrogation

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

Page 20: SGBDR  Modélisation Construction Interrogation

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

Page 21: SGBDR  Modélisation Construction Interrogation

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

Page 22: SGBDR  Modélisation Construction Interrogation

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

Page 23: SGBDR  Modélisation Construction Interrogation

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

Page 24: SGBDR  Modélisation Construction Interrogation

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

Page 25: SGBDR  Modélisation Construction Interrogation

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 …

Page 26: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

ModélisationIntroduction

Définition

Construction

UML et Merise

Page 27: SGBDR  Modélisation Construction Interrogation

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

Page 28: SGBDR  Modélisation Construction Interrogation

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

Page 29: SGBDR  Modélisation Construction Interrogation

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

Page 30: SGBDR  Modélisation Construction Interrogation

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

Page 31: SGBDR  Modélisation Construction Interrogation

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

Page 32: SGBDR  Modélisation Construction Interrogation

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

Page 33: SGBDR  Modélisation Construction Interrogation

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

Page 34: SGBDR  Modélisation Construction Interrogation

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

Page 35: SGBDR  Modélisation Construction Interrogation

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..*

Page 36: SGBDR  Modélisation Construction Interrogation

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

Page 37: SGBDR  Modélisation Construction Interrogation

http://www.med.univ-rennes1.fr

ModélisationIntroduction

Définition

Construction : Cardinalités

UML et Merise

Page 38: SGBDR  Modélisation Construction Interrogation

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

Page 39: SGBDR  Modélisation Construction Interrogation

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

Page 40: SGBDR  Modélisation Construction Interrogation

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)

Page 41: SGBDR  Modélisation Construction Interrogation

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)

Page 42: SGBDR  Modélisation Construction Interrogation

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))

Page 43: SGBDR  Modélisation Construction Interrogation

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)

Page 44: SGBDR  Modélisation Construction Interrogation

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

Page 45: SGBDR  Modélisation Construction Interrogation

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