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

Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Ayed CHOKRI
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelHassen Sic
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Saâd Zerhouni
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Presentation d'un logiciel de GRH
Presentation d'un logiciel de GRHPresentation d'un logiciel de GRH
Presentation d'un logiciel de GRHRiadh K.
 
Rapport mini-projet Gestion Commerciale D’un Supermarché
Rapport mini-projet  Gestion Commerciale D’un SupermarchéRapport mini-projet  Gestion Commerciale D’un Supermarché
Rapport mini-projet Gestion Commerciale D’un SupermarchéMouad Lousimi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Ayed CHOKRI
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...Rami Raddaoui
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 

Tendances (20)

PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )Gestion des Projets des Fin d'etudes ( Version Alpha )
Gestion des Projets des Fin d'etudes ( Version Alpha )
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++Rapport Projet Gestion des Etudiants avec C++
Rapport Projet Gestion des Etudiants avec C++
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 
Presentation d'un logiciel de GRH
Presentation d'un logiciel de GRHPresentation d'un logiciel de GRH
Presentation d'un logiciel de GRH
 
Rapport mini-projet Gestion Commerciale D’un Supermarché
Rapport mini-projet  Gestion Commerciale D’un SupermarchéRapport mini-projet  Gestion Commerciale D’un Supermarché
Rapport mini-projet Gestion Commerciale D’un Supermarché
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 

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