Bonjour,
j'aimerai bien comprendre la diff�rence entre MCD, MLD et MPD.
Ce que �a change entre eux 3 aux niveau des cardinalit�s, des relations entre les tables etc.
Merci d'avance.
Bonjour,
j'aimerai bien comprendre la diff�rence entre MCD, MLD et MPD.
Ce que �a change entre eux 3 aux niveau des cardinalit�s, des relations entre les tables etc.
Merci d'avance.
Extrait de mon prochain livre sur le langage SQL chapitre 2 :
"
2.4 � les diff�rents mod�les
La mod�lisation d�un probl�me c'est � dire le passage du monde r�el � sa repr�sentation informatique, se d�finie en plusieurs �tapes pour parvenir � son int�gration dans un SGBD et permettre la manipulation des donn�es par le langage SQL.
Classiquement, le processus de mod�lisation des donn�es passe par quatre phases : la r�alisation d'un mod�le conceptuel (en quelque sorte une �tude technique d�taill�e de l�organisation des donn�es au sein de la base) suivi de sa traduction en un mod�le logique (le sch�ma math�matique de relations), puis de son portage dans un SGBDR donn� sous le forme d�un mod�le physique (une adaptation au logiciel de bases de donn�es cibl�) et enfin compl�t� par un mod�le externe (pr�sentation des donn�es) facilitant aux utilisateurs finaux, la compr�hension des donn�es et leur manipulation.
L�ordre naturel des phases est le suivant :
1. mod�lisation conceptuelle (MCD);
2. mod�lisation logique (MLD);
3. mod�lisation physique (MPD);
4. mod�lisation externe (MED).
Chacune des phases peut enrichir le mod�le avec un niveau de d�tail que ne permet pas le pr�c�dent.
A +
Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
Le MCD (Mod�le Conceptuel des Donn�es) c'est le quoi.
Il s'�tablit � partir des r�gles de gestion fournies par le m�tier.
Les types d'entit�s (rectangles) correspondent aux objets de gestion (les clients, les commandes, les articles, les entrep�ts)...
Les associations (ovales) correspondent aux interactions entre objets de gestion.
Dans un MCD, il n'y a pas de table, pas plus que de colonnes ni d'index, bref, aucun objet SQL puisqu'on en est au stade conceptuel.
Le MLD (Mod�le Logique des Donn�es) est un mod�le tabulaire.
� ce stade les types d'entit�s et certaines associations deviennent des tables, les identifiants deviennent des clefs primaires et des clefs �trang�res, les attributs deviennent des colonnes.
Et le MPD (Mod�le Physique des Donn�es), c'est un MLD d�clin� en fonction du choix du SGBD et de sa version, chaque SGBD ayant ses particularit�s.
Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Ce n'est pas parce que le MLD ne propose pas les ordres CREATE TABLE (et pour cause, la syntaxe diff�re selon le choix du SGBD et sa version, ce que seul le MPD g�re), que les tables n'y sont pas pr�sentes. Un MLD ce sont bel et bien des tables avec des clefs primaires et des clefs �trang�res.
Par contre, seul le MPD associe le DDL qui permet de cr�er physiquement les objets.
En r�sum� MLD et MPD sont tous deux des mod�les tabulaires, par opposition au MCD.
Non d�sol� ce ne sont pas des tables � ce stade et bien des relations... Des tables tu pourrait pr�ciser des index, le mode de stockage, etc...
A +
Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Les index ne sont cr��s qu'au stade du MPD, parce que la syntaxe du DDL change selon le choix du SGBD.
Voici quelques r�f�rences parmi tant d'autres qui confirment que le MLD est bel et bien un mod�le tabulaire
https://louisvandevelde.be/index.php?dos=my&fic=meris
Niveau logique (MLD)
Les entit�s mises en relation deviennent des tables.
http://www.colar.net/as/cours/analyse/mld.html
2. Du M.C.D. au M.L.D.
R�gle 1: Toute entit� se transforme en fichier (ou table logique).
https://web.maths.unsw.edu.au/~lafay...merise/mld.htm
Chaque classe d'entit� du mod�le conceptuel devient une table dans le mod�le logique
https://www.dynamic-mess.com/develop...ssiner-sa-bdd/
Etape 2 : Le MLD : le mod�le logique de donn�es
Explication rapide : il s'agit de convertir notre MCD en un ensemble compr�hensible pour un SGBD. Les entit�s sont remplac�es par des des �l�ments de bases de donn�es : les tables.
Wikip�dia, qui n'est certes pas exempt de tout d�faut, mais qui le confirme aussi
https://fr.wikipedia.org/wiki/Merise...s_donn%C3%A9es
La transcription d'un MCD en mod�le logique des donn�es ou encore appel� sch�ma relationnel s'effectue selon quelques r�gles simples qui consistent d'abord � transformer toute entit� en table, avec l'identifiant comme cl� primaire
Ou encore cette r�ponse de Fsmrel qu'on ne saurait soup�onner de manquer de rigueur en ce qui concerne la mod�lisation des donn�es
En d'autres termes, il ne faut pas confondre l'objet "table" du mod�le relationnel (c'est � dire la relation) pr�sent d�s le MLD, et l'objet SQL "table" qui lui n'est cr�� qu'au stade MPD. Mais la table SQL est bien le reflet de la table relationnelle du MLD, adapt�e au dialecte du SGBD sous-jacent.
Je ne suis toujours pas d'accord. L'ellipse que fait fsmrel est tangente...
Je viens de regarder les ouvrages originaux (en papier) de dominique Nancy qui a oeuvr� avec Tardieu sur Merise et c'est bien de relations qu'il parle, m�me si il parle d'une pr�sentation tabulaire...
M�me chose avec Chris Date dans son ouvrage Apress "The Relational Datase Dictionnary" dans deux entr�es il fait bien la distinction entre le mod�le purement logique : des relations d�pourvues de la moindre consid�rations physique (pas de type,, de stockage, d'index... mais des attributs des contraintes et des domaines) et une impl�mentation physique, quelle qu'elle soit, par exemple des tables ou autre objet...
D'ailleurs s tu utilise Power AMC / Power Designer, il fait bien la diff�rence entre les deux types de mod�les...
A +
Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Philip Bernstein �crit dans son algorithme de synth�se concernant la 3e forme normale :
Se qui se traduit par2. THE RELATIONAL MODEL
2.1 Relations
In Codd�s relational database model, mathematical relations over a set of domains
are used to describe connections among data items [7]. However, not all relations
serve equally well in describing these connections [S], To judge the efficacy of various
classes of relations, we begin by reviewing the terminology associated with the relational model.
Conceptually, a relation is a table in which each column corresponds to a distinct
attribute and each row to a distinct entity (or tuple) .
Et Edgar Frank Codd �crit dans son Relational Model for database management[...] Conceptuellement, une relation est une table
Ce qui se traduit par1.5 � Tables versus Relations
Actually, the terms "relation" and "table" are not synonymous. As discussed
earlier, the concept of a relation found in mathematics and in the relational
model is that of a special kind of set. The relations of the relational model,
although they may be conceived as tables, are then special kinds of tables.
In this book they are called R-tables, although the term "relation" is still
used from time to time to emphasize the underlying concept of mathematical
sets, to refer to the model, or to refer to languages developed as part of
implementations of the model.
Comme quoi1.5 � Tables versus relations
[...] Les relations du mod�le relationnel, bien qu'elles puissent �tre con�ues comme des tables, sont alors des types particuliers de tables.
Dans ce livre, elles sont appel�es tables R, bien que le terme �*relation*� soit encore utilis� de temps en temps pour souligner le concept sous-jacent des ensembles math�matiques, pour faire r�f�rence au mod�le ou pour faire r�f�rence aux langages d�velopp�s dans le cadre des impl�mentations de la mod�le.![]()
Salve omnes,
escartefigue a �crit (post #6)
Fred, en r�ponse tu �cris dans le post #7 :Envoy� par escartefigue
Il est plus que temps d��viter de confondre relvar (variable relationnelle) et relation !Envoy� par SQLpro
Dans l�ouvrage (dont tu fais mention dans le post #9) The New Relational Database Dictionary, Chris Date pr�cise bien qu�une relation est une valeur, � savoir une valeur prise par une relvar.
Donc pour toi, un MLD se situe au niveau des valeurs !
Dans le m�me ouvrage, Date d�finit ainsi le terme Table :
SQL analog of either a relation or a relvar, as the context demands.
A mon sens, le MLD d�crit l�en-t�te de chaque relvar (ou table) de l�univers du discours et les associations entre les relvars (ou tables).
Si un objet du MLD d�crit une structure logique, c�est certainement celle d�une relvar, mais aussi celle d�une table, car au niveau logique cette structure r�pond � la d�finition de l�en-t�te (heading) : ensemble d�attributs, dans lequel chaque attribut est une paire de la forme <A,T>, o� A est un nom d�attribut et T le type de l�attribut A, et ceci vaut aussi bien pour les relvars que pour les relations (cf. dans l�ouvrage de Date, la rubrique Heading)
J�ai d�terr� des diagrammes que j�avais r�alis�s en 2009, o� je mod�lisais avec PowerAMC le fameux trio S, P, SP que l�on retrouve dans tous les bouquins de Chris Date, donc bien connu des lecteurs (En passant, je signale que Date dit bien qu�il n�a pas la paternit� du trio, mais qu�il l�a emprunt� � Ted Codd (Reddemus Codde quid est Coddi).
Variantes du MLD du trio :
PowerAMC
Looping
Looping (textuel)
On ne sait pas de quel ouvrage tu parles en l�occurrence. En tout cas tu peux aussi consulter l�ouvrage en ligne, notamment le chapitre 13 qui concerne le MLD (et reprend exactement la version papier (Ing�nierie des syst�mes d'information : Merise deuxi�me g�n�ration (4e �dition, 2001)) : Mod�lisation logique des donn�es.Envoy� par SQLpro
Dans l�ouvrage dont je fais mention, selon Dominique Nanci (et pas Nancy !), le MLD est la transformation du MOD (en fait du MCD), adapt� au SGBD (voire au syst�me de gestion de fichiers) !![]()
Dans ce chapitre 13, j�ai cherch� le mot � tabulaire � et ne l�y ai point trouv�.
Nanci y �crit (paragraphe Mod�le logique de donn�es relationnel) :
� Le mod�le relationnel pr�sente deux aspects fondamentaux : une alg�bre permettant de manipuler des tables ou relations �
=> Pour Nanci, tables et relations sont synonymes. A cet �gard, je rappelle une fois de plus qu�une relation est une valeur, dot�e d�une en-t�te et d�un corps. C�est la relvar (variable relationnelle) qui prend des valeurs qui sont des relations.
A juste titre, Nanci pr�f�re parler de tables, pour �viter les erreurs d�interpr�tation :
� Notons que le concept de relation utilis� ici n'a pas la m�me signification que celui utilis� dans le formalisme entit�-relation. Aussi pr�f�rerons-nous appeler ce concept table. �
Etc.
Bref, quand escartefigue �crit qu� � un MLD ce sont bel et bien des tables �, on ne peut que lui donner raison !![]()
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc�, mais si on discute un peu, on peut l�avoir pour beaucoup moins cher... (G. Lacroix, � Les Euphorismes de Gr�goire �)
=> La relativit� n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, � Einstein et la relativit� g�n�rale �)
__________________________________
Bases de donn�es relationnelles et normalisation : de la premi�re � la sixi�me forme normale
Mod�liser les donn�es avec MySQL Workbench
Je ne r�ponds pas aux questions techniques par MP. Les forums sont l� pour �a.
Bonjour,
En compl�ment, voici le MLD version "Crow's foot" de Looping qui se rapproche tr�s fortement de la repr�sentation PowerAMC :
Concernant le reste de votre d�bat, j'avoue avoir une approche bien plus basique, en consid�rant simplement que le MLD est l� pour d�finir le sch�ma relationnel de la BD avec l'ensemble de ses tables.
Je situe la partie physique plut�t � partir du DDL.
C'est certes simpliste, mais compr�hensible par tous.
Donc toute table est une relation.... ! Evidemment non car une table peut ne pas avoir de cl�....
C'est pour cela que je donne toujours comme conseil n�cessaire et obligatoire de ne pas confondre table ou relation, ou bien de pr�ciser que :
UNE TABLE EST RELATIONNELLE si et seulement si :
1) elle poss�de une cl�
2) toutes ses valeurs sont atomiques
3) il n'y a pas de NULL
A +
Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour Paprick,
Pardonne-moi d�avoir oubli� de montrer le MLD "Crow's foot", qui est �videmment plus riche que celui que j�ai pr�sent�.
Pour le reste, la discussion est plut�t byzantine, mais il s�est agi pour moi de d�fendre la position du Capitaine, face aux approximations exp�ditives du champion de SQL server. Castigam ridendo mores!
Keep up the good work!
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc�, mais si on discute un peu, on peut l�avoir pour beaucoup moins cher... (G. Lacroix, � Les Euphorismes de Gr�goire �)
=> La relativit� n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, � Einstein et la relativit� g�n�rale �)
__________________________________
Bases de donn�es relationnelles et normalisation : de la premi�re � la sixi�me forme normale
Mod�liser les donn�es avec MySQL Workbench
Je ne r�ponds pas aux questions techniques par MP. Les forums sont l� pour �a.
Ave,
Que le Sorry Query Language (aka Askew Wall) permette qu�une table soit un sac est une chose, mais il n�en va pas de m�me pour le MLD : toute table y est obligatoirement munie de sa cl� primaire, sinon le MLD est r�put� invalide. Tous les Nanci, Tabourier, Tardieu, Rochfeld, et autres champions de Merise sont d�accord l�-dessus et disent bien que chaque identifiant dans un MCD donne lieu imp�rativement � une cl� primaire dans le MLD qui en est issu. Je r�p�te : toute table dans un MLD poss�de une cl� primaire, sinon le MLD n�est pas valide, il est bon pour la poubelle, �a n�est pas un MLD.Envoy� par SQLpro
Les AGL s�rieux tels que PowerAMC, DB-MAIN, Looping, invalident effectivement les MLD sans cl�s primaires correctes, c�est-�-dire ne garantissant pas l�unicit� des lignes pour chaque table.
Ainsi, escartefigue est toujours dans les clous.
C�est quoi � atomique � pour toi ? Descendre au niveau du quark ? Appuie-toi au moins sur ce qu�a �crit Ted Codd, � la page 6 de The Relational Model for Database Management: Version 2. (Reading, Mass.: Addison-Wesley, 1990).Envoy� par SQLpro
Quoi qu�il en soit, ta d�finition pourrait �tre compl�t�e par celle de Chris Date, qui �crit � la page 69 de son ouvrage Database Design and Relational Theory Normal Forms and All That Jazz :
� What does it mean for a table to be a direct and faithful representation of a relvar? The answer to this question involves five basic requirements, all of which are immediate consequences of the fact that the value of a relvar at any time is (of course) always a relation specifically:
1. The table never contains any duplicate rows.
2. There�s no left to right ordering to the columns.
3. There�s no top to bottom ordering of the rows.
4. All columns are regular columns.
5. Every row and column intersection always contains exactly one value of the applicable type, and nothing else. �
Le point 1 sous-entend bien s�r la d�claration d�une cl� primaire.
Le point 4 sous-entend qu�il n�y a pas de colonnes cach�es (row id, object id, timestamps...).
Le point 5 sous-entend que NULL est interdit. (C�est l� o� certains MLD peuvent �tre pris en d�faut, mais certainement pas les miens...).
P.S. �a fait trente ans que la relation est d�finie comme �tant une valeur de relvar (variable relationnelle). Essaie d�en tenir compte. Je te renvoie au chapitre 8 de Relational DATABASE, Writings 1991-1994 de C.J. Date.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc�, mais si on discute un peu, on peut l�avoir pour beaucoup moins cher... (G. Lacroix, � Les Euphorismes de Gr�goire �)
=> La relativit� n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, � Einstein et la relativit� g�n�rale �)
__________________________________
Bases de donn�es relationnelles et normalisation : de la premi�re � la sixi�me forme normale
Mod�liser les donn�es avec MySQL Workbench
Je ne r�ponds pas aux questions techniques par MP. Les forums sont l� pour �a.
Partager