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
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
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
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
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)
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
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
Découverte : passer au MLD
8Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois
transformer l’entité
« technicien »
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
Exercice : Transformer les entités
10Grégoire Maréchal – Lycée Voillaume – Aulnay-sous-bois
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
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
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)
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
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
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
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
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
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
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
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
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
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
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)
Top Related