24
Implémenter un modèle Domaine 1,n XXXX 0,n YYYY AAAA Représenter Modèle Conceptuel 1 Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois Ordinateur YYYY PK_YYYY ID_Y XXXX PK_XXXX ID_X AAAA PK_AAAA ID_X ID_Y Modèle Logique Traduire Implémenter

Implémenter un modèle

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implémenter un modèle

Implémenter un modèle

Domaine

1,n

XXXX

0,n

YYYY

AAAAReprésenter

Modèle Conceptuel

1Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Ordinateur

YYYY

PK_YYYYID_Y

XXXX

PK_XXXXID_X

AAAA

PK_AAAAID_XID_Y

Modèle Logique

Traduire

Implémenter

Page 2: Implémenter un modèle

Modélisation logique : Objectifs

� Transformation du schéma Entités/Associations (MCD) en un modèle adapté au SGBD envisagé– Fichiers (pas vraiment SGBD)

– SGBD hiérarchiques (arborescence)

– SGBD réseau (ou CODASYL)

2Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

– SGBD réseau (ou CODASYL)

– SGBD relationnels

– SGBDOO

� Quantification en volume du modèle logique

� Optimisation générale

Page 3: Implémenter un modèle

Modèle relationnel

Structure des données en tables

Chemins d’accès non prédéfinis

Accès dynamique par des requêtes

Vocabulaire :

3Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

� table relationnelle

� attribut (colonne)

� tuple (ou n-uplet)

sera également étudié en cours d’Architecture Logicielle

Page 4: Implémenter un modèle

Exemple de table relationnelle

Code Titre Code_Editeur Genre Prix PocheLivres

Nom de la table relationnelle

Attributs

4Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

180 Shyness BOR PSY 7,00 O

189 Kane & Abel

NATH FIC 8,00 O

200 Stranger NATH HOR 8,15 O

378 Cujo BOR HOR 5,00 N

n-uplets

Page 5: Implémenter un modèle

Définitions

Relation� Ensemble cohérent d’attributs, représentant une

entité ou une association

� Représentée sous forme d’une table à 2 dimensions dans le SGBD

5Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Relation = niveau modélisation

Table = niveau implémentation

� Absence de doublons(doublon = lignes identiques)

Page 6: Implémenter un modèle

Notation

Code Titre Code_Editeur Genre Prix PocheLivres

Livres (Code, Titre, Code_Editeur, Genre, Prix, Poche)

Relation

Table

6Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

180 Shyness BOR PSY 7,00 O

189 Kane & Abel

NATH FIC 8,00 O

200 Stranger NATH HOR 8,15 O

378 Cujo BOR HOR 5,00 N

Page 7: Implémenter un modèle

Définitions (2)

Attribut

Attribut d’une relation = Colonne d’une table

Correspond à une propriété dans le

schéma Entités-Associations

7Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Cardinalité (Piège !)

� Cardinalité signifie « nombre de... »

� Dans une relation : Nombre de n-uplets

� Dans une table : Nombre de lignes

cardinalité d’une relation = nombre d’occurrences

Page 8: Implémenter un modèle

Découverte : passer au MLD

8Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

transformer l’entité

« technicien »

Page 9: Implémenter un modèle

Passage Conceptuel - Logique

Règle 1 : Toute entité devient une relation (table)

� Attributs (colonnes) = Propriétés

� L’ identifiant devient un attribut particulier, appelé Clef Primaire

9Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

appelé Clef Primaire

� Clef primaire : permet d’identifier de façon unique chaque tuple de la relation

� Remarque : Si l’identifiant est composé de plusieurs propriétés concaténés, la clef primaire sera composée de plusieurs attributs

Page 10: Implémenter un modèle

Exercice : Transformer les entités

10Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Page 11: Implémenter un modèle

Transformation des associations

� Soit les relationsclient(numeroclient, raisonsociale...)

agence(numeroagence, nomagence...)

11Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Traduire l’association « gérer » en relationnel

Page 12: Implémenter un modèle

Cas des associations 1,1 - 1,n

� La relation (table) côté « 1 » reçoit un duplicata de la clef primaire de la relation (table) côté « n »

� Ce duplicata est appelé « clef étrangère »C’est une clef

12Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

� C’est une clef

� Elle est « étrangère » à la table

� Règle 2 : Toute association 1->n se traduit par une clef étrangère côté 1

Page 13: Implémenter un modèle

Exercice 1,1 - 1,n

Cas KES : Intégrer les associations

� appartenir (entre Matériel et Type Matériel)

� rattacher (entre Type Matériel et Famille)

couvrir (entre Matériel et Contrat Maint.)

13Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

� couvrir (entre Matériel et Contrat Maint.)

� posséder (entre Matériel et Client)

� caractériser (entre Contrat M. et Type Contrat)

Page 14: Implémenter un modèle

Cas des associations 1,1 - 1,1

Intégrer au modèle relationnel l’association souscrire

entre Client et Contrat

14Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

entre Client et Contrat

Page 15: Implémenter un modèle

Cas des associations 1,1 - 1,1

Règle 3 : Chaque relation (table) reçoit en clef étrangère la clef primaire de l’autre table

Exemple :

15Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Exemple :

Locataire (IdLoc, nom prénom,#numappart, date entrée…)

Logement(numappart, surface, nbpièces, #IdLoc…)

Si attributs portés par l’association : les intégrer à l’une des tables, ou créer une table intermédiaire

Page 16: Implémenter un modèle

Associations 1,n – 1,n

Intégrer au modèle relationnel l’association Contrôler entre Matériel et Intervention

16Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Page 17: Implémenter un modèle

Associations n, n

� R4 : Toute association n->n se traduit par une relation (table) de jointure

� La clef primaire : concaténation des deux

17Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

La clef primaire : concaténation des deux clefs primaires des relations (tables) reliées

� Si propriétés portées par la relation : deviennent attributs de cette relation (table) de jointure

Page 18: Implémenter un modèle

Associations ternaires

Cas Toner Express

� Créer les relations à partir des entités� Cartouche

18Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

� Type Cartouche

� Contrat

� Intégrer au modèle l’association Appliquer

Page 19: Implémenter un modèle

Associations ternaires

� R5 : Une association ternaire se traduit par une table de jointure� Clef primaire : concaténation des clefs

19Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

� Clef primaire : concaténation des clefs

� Propriétés portées : deviennent attributs de la relation

Application : Association Contenir dans Toner Express

Page 20: Implémenter un modèle

Cas des associations réflexives

Gestion d’appels téléphoniques

Abonné

NumAbonné appelé

passer en MLD

20Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

NumAbonné

Nom

Prénom

NumTéléphoneappeler

date-heure

duréeappelant

appelé

0,n

0,n

Page 21: Implémenter un modèle

Associations réflexives

Les règles s’appliquent

� Suivant cardinalités :� Clef étrangère dans la relation

� Clef étrangère dans la table de jointure

21

La clef étrangère est issue de l’identifiant de la même entité que la clef primaire

On les différencie en ajoutant le ROLEAppeler(NumAbonAppelant, #NumAbonAppele, date, heure, duree)

Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Page 22: Implémenter un modèle

Autre exemple réflexif

Cardinalité 0,1 / 0,n

Société

NumSiren

Raison sociale

Date Créationfranchiser

franchisé0,1

22Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Date Créationfranchiser0,n

Societe(NumSiren, RaisonSociale, DateCrea, #numSirenFranchiseur)

franchiseur

Page 23: Implémenter un modèle

Entités faibles

N’existe qu’en association avec une autre entité

Hôtel

CodeHôtel

Nom

Adressesituer

1,nLa chambre ne peut exister

sans l’hôtel

23Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Adressesituer

(1,1)Chambre

Numéro chambre

Nbre lits

Surface

Son identifiant est dit « relatif » :

il faut

code hôtel +

numéro chambre

Notation :

entre parenthèses

Page 24: Implémenter un modèle

Entités faibles : passage

L’entité faible devient une relation

Hôtel

CodeHôtel

Nom

Adressesituer

1,n

24Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois

Adressesituer

(1,1)

Chambre

Numéro chambre

Nbre lits

Surface

Sa clef primaire est une concaténation

Clef (étrangère) entité forte +

clef entité faible

Chambre(#codehotel,numchambre, nblits, surface)