SlideShare une entreprise Scribd logo
1  sur  25
Réaliser par :
BAICH marwa
Encadrer par :
M.BelangourMaster SII
Département de mathématique et informatique
 INTRODUCTION
 Quelques notions essentielles
 Les règles de passage
 Exemples
 représenter de façon structurée les données
 décrit la sémantique c’est à dire le sens attaché à ces données et à leurs rapports et non à l’utilisation qui
peut en être fait
 Le MCD ne peut pas être implanté dans une base de données sans modification. Il est obligatoire de
transformer ce modèle. On dit qu’on effectue un passage du modèle conceptuel de données vers le modèle
logique de données.
Le modèle conceptuel des données (MCD)
 permet de modéliser la structure selon laquelle les données seront stockées dans la future base de
données
 est adapté à une famille de SGBD : ici les SGBD relationnels (MLD Relationnels ou MLD-R)
 permet d'implémenter la base de données dans un SGBD donné
Modèle Logique de Données (MLD) :
Quelques notions essentielles
 ·Domaine : Le domaine est l’ensemble des valeurs que peut prendre une donnée
 une table est un sous-ensemble du produit des domaines, une table est donc un ensemble d’enregistrements
 une table porte un nom et est composée d’attributs prenant leurs valeurs dans les domaines correspondant
 Attribut : c'est une colonne d'une relation, caractérisé par un nom.
 une clé est constituée de 1 ou plusieurs attributs telle que une valeur de la clé détermine exactement
l’enregistrement,
 toute table possède une clé primaire et, éventuellement, des clés candidates.
Les règles de passage
 Une classe devient une table
 Son identifiant devient la clé primaire de la table
 les autres propriétés deviennent les attributs de la table
CLIENT
numClient
nom
prénom
CLIENT (numClient , nom , prénom)
Exemple
Règle numéro 1
Transformation des associations
--------- ---------
x:n x:1
 Association : la relation est matérialisée par l’ajout
d’une clé étrangère .
Règle numéro 2
devient
 Association la relation donne lieu à la création d’une table
Exemple
 Association
COMMANDE
numCommande
dateCommande
PRODUIT
reProduit
nomProduit
concerne
quantité
1.n 1.n
devient
concerne
numCommande
reProduit
quantité
 Association
Chaque classe possède des caractéristiques (attributs et méthodes) qui lui sont propres. Lorsqu'une
classe fille hérite d'une classe mère, elle peut alors utiliser ses caractéristiques.
Propriétés de la notion d'héritage
Transitivité : si B hérite de A et si C hérite de B alors C hérite de A ;
Non réflexif : une classe ne peut hériter d’elle-même ;
Non symétrique : si A hérite de B, B n’hérite pas de A ;
Sans cycle : Il n'est pas possible que B hérite de A, C hérite de B et que A hérite de C.
Modélisation par héritage
Power_AMC
Transposition en modèle physique
Élaboration du MLD et passage au SQL
La conception d’un système qui va recourir à un Système de Gestion de Base de Données (SGBD) et donc
qui devra utiliser le langage SQL nécessite parfois l’utilisation de logiciels pour concevoir un tel système
grâce à des méthodes telles que UML ou Merise.
• Avec ces différentes règles de conversion, il nous est déjà possible de convertir notre MCD au complet :
Pays (id_p, nom_p)
Auteur (id_a, nom_a, prenom_a, date_naissance_a, id_p#)
TypeLivre (id_t, libelle_t)
Livre (id_l, titre_l, annee_l, resume_l, id_t#)
Rediger (id_a#, id_l#)
Edition (id_ed, nom_ed)
Exemplaire (ref_e, id_ed#, id_l#)
Inscrit (id_i, nom_i, prenom_i, date_naissance_i, rue_i, ville_i, cp_i, email_i, tel_i, tel_portable_i)
Emprunt (id_em, date_em, delais_em, id_i#, ref_e#) Légende :
x : relation
x : clef primaire
x# : clef étrangère
Les règles de passage au SQL sont assez simples :
• chaque relation devient une table
• chaque attribut de la relation devient une colonne de la table correspondante
• chaque clef primaire devient une PRIMARY KEY
• chaque clef étrangère devient une FOREIGN KEY
 CREATE TABLE Pays ( id_p INT NOT NULL, nom_p VARCHAR(50), PRIMARY KEY (id_p) );
 CREATE TABLE Auteur ( id_a INT NOT NULL, nom_a VARCHAR (30), prenom_a VARCHAR (30),
date_naissance_a DATE, id_p INT NOT NULL, FOREIGN KEY (id_p) REFERENCES Pays(id_p),
PRIMARY KEY (id_a) );
 CREATE TABLE TypeLivre ( id_t INT NOT NULL, libelle_t VARCHAR (30), PRIMARY KEY (id_t)
);
 CREATE TABLE Livre ( id_l INT NOT NULL, titre_l VARCHAR (254), annee_l VARCHAR (4),
resume_l TEXT, id_t INT NOT NULL, FOREIGN KEY (id_t) REFERENCES TypeLivre(id_t), PRIMARY
KEY (id_l) );
 CREATE TABLE Rediger ( id_a INT NOT NULL, id_l INT NOT NULL, FOREIGN KEY (id_a) REFERENCES
Auteur(id_a), FOREIGN KEY (id_l) REFERENCES Livre (id_l), PRIMARY KEY (id_a, id_l) );
 CREATE TABLE Edition ( id_ed INT NOT NULL, nom_ed VARCHAR (254), PRIMARY KEY (id_ed) );
 CREATE TABLE Exemplaire ( ref_e VARCHAR(254) NOT NULL, id_ed INT NOT NULL, id_l INT NOT NULL,
FOREIGN KEY (id_ed) REFERENCES Edition (id_ed), FOREIGN KEY (id_l) REFERENCES Livre(id_l),
PRIMARY KEY (ref_e) );
 CREATE TABLE Inscrit ( id_i INT NOT NULL, nom_i VARCHAR (30), prenom_i VARCHAR (30),
date_naissance_i DATE, rue_i VARCHAR(50), ville_i VARCHAR(50), cp_i VARCHAR (5), tel_i
VARCHAR(15), tel_portable_i VARCHAR(15) , email_i VARCHAR(100), PRIMARY KEY (id_i) );
 CREATE TABLE Emprunt ( id_em INT NOT NULL, date_em DATE, delais_em INT DEFAULT 0, id_i INT NOT
NULL, ref_e VARCHAR (254) NOT NULL, FOREIGN KEY (id_i) REFERENCES Inscrit(id_i), FOREIGN KEY
(ref_e) REFERENCES Exemplaire(ref_e), PRIMARY KEY (id_em) );
FIN
Réaliser par
BAICH marwa

Contenu connexe

Tendances

exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql Yassine Badri
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlabomar bllaouhamou
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop amat samiâ boualil
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseLilia Sfaxi
 

Tendances (20)

exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Rapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFERapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFE
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Traitement des images avec matlab
Traitement des images avec matlabTraitement des images avec matlab
Traitement des images avec matlab
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop
 
UML
UMLUML
UML
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 

En vedette

diagramme d'activité
diagramme d'activitédiagramme d'activité
diagramme d'activitémarwa baich
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sassmarwa baich
 
Tp création-dune-ontologie
Tp création-dune-ontologieTp création-dune-ontologie
Tp création-dune-ontologiemarwa baich
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejsAmit Thakkar
 
Neurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpienteNeurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpientePablo Garaizar
 
Nodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsNodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsGanesh Iyer
 
Doctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmDoctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmJonathan Wage
 
New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)Javier Eguiluz
 
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008Daoud Haoues
 
PHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with thisPHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with thisIan Macali
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricksJavier Eguiluz
 
Annotations in PHP: They Exist
Annotations in PHP: They ExistAnnotations in PHP: They Exist
Annotations in PHP: They ExistRafael Dohms
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

En vedette (20)

hbase lab
hbase labhbase lab
hbase lab
 
Eucalyptus
EucalyptusEucalyptus
Eucalyptus
 
XML
XMLXML
XML
 
diagramme d'activité
diagramme d'activitédiagramme d'activité
diagramme d'activité
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
LVM "Linux "
LVM  "Linux "LVM  "Linux "
LVM "Linux "
 
Tp création-dune-ontologie
Tp création-dune-ontologieTp création-dune-ontologie
Tp création-dune-ontologie
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejs
 
Neurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpienteNeurobollocks: el nuevo aceite de serpiente
Neurobollocks: el nuevo aceite de serpiente
 
Nodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web ApplicationsNodejs Event Driven Concurrency for Web Applications
Nodejs Event Driven Concurrency for Web Applications
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Doctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php OrmDoctrine 2 - Not The Same Old Php Orm
Doctrine 2 - Not The Same Old Php Orm
 
New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)
 
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008
La Mise en place d'une demarche qualité selon la norme iso 9001 version 2008
 
Synthese iso 9001 2015
Synthese iso 9001 2015Synthese iso 9001 2015
Synthese iso 9001 2015
 
PHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with thisPHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with this
 
hive lab
hive labhive lab
hive lab
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Annotations in PHP: They Exist
Annotations in PHP: They ExistAnnotations in PHP: They Exist
Annotations in PHP: They Exist
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similaire à Les règles de passage

coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjj
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd           dvjjjjjjjjjjjjjjjcoursMLD.pdf djnvvvvvvvvvvvvvvvv jd           dvjjjjjjjjjjjjjjj
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjjobaghat60
 
coursMLD.pdfnw wx c c c c c c cc c c c c c cckck
coursMLD.pdfnw wx c c c c c c cc c c c c c cckckcoursMLD.pdfnw wx c c c c c c cc c c c c c cckck
coursMLD.pdfnw wx c c c c c c cc c c c c c cckckobaghat60
 
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...obaghat60
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac Amri Ossama
 
3-Approche Relationnelle.pptx
3-Approche Relationnelle.pptx3-Approche Relationnelle.pptx
3-Approche Relationnelle.pptxsalimtayaadine
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverLahcensabir2
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 

Similaire à Les règles de passage (14)

Chapitre 3
Chapitre 3Chapitre 3
Chapitre 3
 
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjj
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd           dvjjjjjjjjjjjjjjjcoursMLD.pdf djnvvvvvvvvvvvvvvvv jd           dvjjjjjjjjjjjjjjj
coursMLD.pdf djnvvvvvvvvvvvvvvvv jd dvjjjjjjjjjjjjjjj
 
coursMLD.pdfnw wx c c c c c c cc c c c c c cckck
coursMLD.pdfnw wx c c c c c c cc c c c c c cckckcoursMLD.pdfnw wx c c c c c c cc c c c c c cckck
coursMLD.pdfnw wx c c c c c c cc c c c c c cckck
 
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
coursMLD.pdf dnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
3-Approche Relationnelle.pptx
3-Approche Relationnelle.pptx3-Approche Relationnelle.pptx
3-Approche Relationnelle.pptx
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Coursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql serverCoursbase de donnees relationnelle sql server
Coursbase de donnees relationnelle sql server
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
La 2ème partie de la présentation PHP
La 2ème partie de la présentation PHPLa 2ème partie de la présentation PHP
La 2ème partie de la présentation PHP
 

Les règles de passage

  • 1. Réaliser par : BAICH marwa Encadrer par : M.BelangourMaster SII Département de mathématique et informatique
  • 2.  INTRODUCTION  Quelques notions essentielles  Les règles de passage  Exemples
  • 3.  représenter de façon structurée les données  décrit la sémantique c’est à dire le sens attaché à ces données et à leurs rapports et non à l’utilisation qui peut en être fait  Le MCD ne peut pas être implanté dans une base de données sans modification. Il est obligatoire de transformer ce modèle. On dit qu’on effectue un passage du modèle conceptuel de données vers le modèle logique de données. Le modèle conceptuel des données (MCD)
  • 4.  permet de modéliser la structure selon laquelle les données seront stockées dans la future base de données  est adapté à une famille de SGBD : ici les SGBD relationnels (MLD Relationnels ou MLD-R)  permet d'implémenter la base de données dans un SGBD donné Modèle Logique de Données (MLD) :
  • 5. Quelques notions essentielles  ·Domaine : Le domaine est l’ensemble des valeurs que peut prendre une donnée  une table est un sous-ensemble du produit des domaines, une table est donc un ensemble d’enregistrements  une table porte un nom et est composée d’attributs prenant leurs valeurs dans les domaines correspondant  Attribut : c'est une colonne d'une relation, caractérisé par un nom.  une clé est constituée de 1 ou plusieurs attributs telle que une valeur de la clé détermine exactement l’enregistrement,  toute table possède une clé primaire et, éventuellement, des clés candidates.
  • 6. Les règles de passage
  • 7.  Une classe devient une table  Son identifiant devient la clé primaire de la table  les autres propriétés deviennent les attributs de la table CLIENT numClient nom prénom CLIENT (numClient , nom , prénom) Exemple Règle numéro 1
  • 8. Transformation des associations --------- --------- x:n x:1  Association : la relation est matérialisée par l’ajout d’une clé étrangère . Règle numéro 2
  • 10.  Association la relation donne lieu à la création d’une table
  • 12.
  • 15. Chaque classe possède des caractéristiques (attributs et méthodes) qui lui sont propres. Lorsqu'une classe fille hérite d'une classe mère, elle peut alors utiliser ses caractéristiques. Propriétés de la notion d'héritage Transitivité : si B hérite de A et si C hérite de B alors C hérite de A ; Non réflexif : une classe ne peut hériter d’elle-même ; Non symétrique : si A hérite de B, B n’hérite pas de A ; Sans cycle : Il n'est pas possible que B hérite de A, C hérite de B et que A hérite de C. Modélisation par héritage
  • 17.
  • 18.
  • 19.
  • 21. Élaboration du MLD et passage au SQL La conception d’un système qui va recourir à un Système de Gestion de Base de Données (SGBD) et donc qui devra utiliser le langage SQL nécessite parfois l’utilisation de logiciels pour concevoir un tel système grâce à des méthodes telles que UML ou Merise. • Avec ces différentes règles de conversion, il nous est déjà possible de convertir notre MCD au complet : Pays (id_p, nom_p) Auteur (id_a, nom_a, prenom_a, date_naissance_a, id_p#) TypeLivre (id_t, libelle_t) Livre (id_l, titre_l, annee_l, resume_l, id_t#) Rediger (id_a#, id_l#) Edition (id_ed, nom_ed) Exemplaire (ref_e, id_ed#, id_l#) Inscrit (id_i, nom_i, prenom_i, date_naissance_i, rue_i, ville_i, cp_i, email_i, tel_i, tel_portable_i) Emprunt (id_em, date_em, delais_em, id_i#, ref_e#) Légende : x : relation x : clef primaire x# : clef étrangère
  • 22. Les règles de passage au SQL sont assez simples : • chaque relation devient une table • chaque attribut de la relation devient une colonne de la table correspondante • chaque clef primaire devient une PRIMARY KEY • chaque clef étrangère devient une FOREIGN KEY
  • 23.  CREATE TABLE Pays ( id_p INT NOT NULL, nom_p VARCHAR(50), PRIMARY KEY (id_p) );  CREATE TABLE Auteur ( id_a INT NOT NULL, nom_a VARCHAR (30), prenom_a VARCHAR (30), date_naissance_a DATE, id_p INT NOT NULL, FOREIGN KEY (id_p) REFERENCES Pays(id_p), PRIMARY KEY (id_a) );  CREATE TABLE TypeLivre ( id_t INT NOT NULL, libelle_t VARCHAR (30), PRIMARY KEY (id_t) );  CREATE TABLE Livre ( id_l INT NOT NULL, titre_l VARCHAR (254), annee_l VARCHAR (4), resume_l TEXT, id_t INT NOT NULL, FOREIGN KEY (id_t) REFERENCES TypeLivre(id_t), PRIMARY KEY (id_l) );  CREATE TABLE Rediger ( id_a INT NOT NULL, id_l INT NOT NULL, FOREIGN KEY (id_a) REFERENCES Auteur(id_a), FOREIGN KEY (id_l) REFERENCES Livre (id_l), PRIMARY KEY (id_a, id_l) );  CREATE TABLE Edition ( id_ed INT NOT NULL, nom_ed VARCHAR (254), PRIMARY KEY (id_ed) );
  • 24.  CREATE TABLE Exemplaire ( ref_e VARCHAR(254) NOT NULL, id_ed INT NOT NULL, id_l INT NOT NULL, FOREIGN KEY (id_ed) REFERENCES Edition (id_ed), FOREIGN KEY (id_l) REFERENCES Livre(id_l), PRIMARY KEY (ref_e) );  CREATE TABLE Inscrit ( id_i INT NOT NULL, nom_i VARCHAR (30), prenom_i VARCHAR (30), date_naissance_i DATE, rue_i VARCHAR(50), ville_i VARCHAR(50), cp_i VARCHAR (5), tel_i VARCHAR(15), tel_portable_i VARCHAR(15) , email_i VARCHAR(100), PRIMARY KEY (id_i) );  CREATE TABLE Emprunt ( id_em INT NOT NULL, date_em DATE, delais_em INT DEFAULT 0, id_i INT NOT NULL, ref_e VARCHAR (254) NOT NULL, FOREIGN KEY (id_i) REFERENCES Inscrit(id_i), FOREIGN KEY (ref_e) REFERENCES Exemplaire(ref_e), PRIMARY KEY (id_em) );

Notes de l'éditeur

  1. Le modèle conceptuel des données (MCD) a pour but de représenter de façon structurée les données qui seront utilisées par le système d'information. Le modèle conceptuel des données décrit la sémantique c’est à dire le sens attaché à ces données et à leurs rapports et non à l’utilisation qui peut en être faite. On établit le MCD après avoir recensé et donné un nom à l’ensemble des données du domaine étudié. Ensuite on étudie les relations existantes entre ces
  2. Les valeurs de la clé primaire sont donc uniques Les valrurs se la clé primaire sont obligatoirement non nulles Transformation des classes : chaque classe du diagramme UML devient une relation, il faut choisir un attribut de la classe pouvant jouer le rôle de clé
  3. Une association de type 1:N (c’est à dire qui a les cardinalités maximales positionnées à « 1 » d’une côté de l’association et à « n » de l’autre côté) se traduit par la création d’une clé étrangère dans la relation correspondante à l’entité côté « 1 ». Cette clé étrangère référence la clé primaire de la relation correspondant à l’autre entité. Association 1.. : il faut ajouter un attribut de type clé étrangère dans la relation fils de l'association. L'attribut porte le nom de la clé primaire de la relation père de l'association. [C.S02]
  4. Une commande est passée par un seul client. un client peut avoir passé 0 ou n commandes. Il est donc nécessaire de dupliquer dans la table COMMANDE l'identifiant de l'entité CLIENT.
  5. Une association de type N :N (c’est à dire qui a les cardinalités maximales positionnées à « N » des 2 côtés de l’association) se traduit par la création d’une relation dont la clé primaire est composée des clés étrangères référençant les relations correspondant aux entités liées par l’association. Les éventuelles propriétés de l’association deviennent des attributs de la relation. Association *..* et n-aire et classes-association : la classe-association devient une relation. La clé primaire de cette relation est la concatenation des identifiants des classes connectées à l'association. [C.S02]
  6. Cas particuliers : associations 1,1 : On entend par association 1,1 une association dont les cardinalités maximales sont à 1 de chaque côté Exemple 1 : Dans le cadre d’une course à la voile en solitaire, représentez le schéma relationnel après avoir fait le schéma Entité-Relations pour les informations suivantes : numero du marin, nom du marin, numéro du voilier, nom du voilier. Association 1.. 1 : il faut ajouter un attribut de type clé étrangère dans la relation dérivée de la classe ayant la multiplicité minimale égale à un. L'attribut porte le nom de la clé primaire de la relation dérivée de la classe connectée à l'association. Si les deux multiplicités minimales sont à un, il est préférable de fusionner les deux classes en une seule. [C.S02]
  7. Une association de type N :N (c’est à dire qui a les cardinalités maximales positionnées à « N » des 2 côtés de l’association) se traduit par la création d’une relation dont la clé primaire est composée des clés étrangères référençant les relations correspondant aux entités liées par l’association. Les éventuelles propriétés de l’association deviennent des attributs de la relation.
  8. Nous voyons désormais que les entités PROSPECT, EMPLOYE et CLIENT n'ont plus de clef. C'est normal ces entités vont hériter des données de la table PERSONNE contenant une clef. A ce stade il existe deux possibilités : chacune des tables filles (PROSPECT, EMPLOYE, CLIENT) hérite de tous les attributs de PERSONNE lors du passage au modèle physique les tables filles n'héritent que de la clef de la table PERSONNE et il faut faire une jointure entre table fille et mèere pour retrouver toutes les données
  9. Nous voyons désormais que les entités PROSPECT, EMPLOYE et CLIENT n'ont plus de clef. C'est normal ces entités vont hériter des données de la table PERSONNE contenant une clef. A ce stade il existe deux possibilités : chacune des tables filles (PROSPECT, EMPLOYE, CLIENT) hérite de tous les attributs de PERSONNE lors du passage au modèle physique les tables filles n'héritent que de la clef de la table PERSONNE et il faut faire une jointure entre table fille et mèere pour retrouver toutes les données
  10. On note que les entités PROSPECT, EMPLOYE et CLIENT héritent de la colonne clef de la table mère PERSONNE.
  11. NOT NULL : on n’accepte pas que l’attribut puisse avoir une valeur nulle (valeur inconnue) PRIMARY KEY (cli_num): l’attribut cli_num est clé primaire de la table Client. Remarque : un attribut déclaré clé primaire doit être défini avec l'option NOT NULL