Bonjour, je voudrais savoir si il était possible de créer des liens sans associations par exemple, quand il y a 1,1 comme cardination d'un côté.
Bonne journée
Cordialement
Bonjour, je voudrais savoir si il était possible de créer des liens sans associations par exemple, quand il y a 1,1 comme cardination d'un côté.
Bonne journée
Cordialement
Bonjour Piloucllr,
Utiliser des liens ? C’est ainsi qu’on procédait il y a plus de 50 ans avec les SGBD hiérarchiques et réseaux (networks). Les liens étaient des systèmes de pointeurs, symbolisés ainsi, matérialisant par exemple le fait qu’un employé fait partie d’un département (lien DEPTEMP) :Envoyé par Piloucllr
![]()
Et puis, une révolution en 1970 : Ted Codd invente le modèle relationnel de données et montre que les systèmes pré-relationnels sont bons pour la poubelle, car les liens ne sont plus matérialisés, désormais on procède par association entre noms d’attributs (attribut DEPT# ci-dessous). Du coup, dans l’exemple ci-dessus, le lien DEPTEMP n’a plus lieu d’être :
![]()
Evidemment, il a fallu au moins 20 ans pour qu’effectivement les systèmes pré-relationnels disparaissent, mais qui aujourd’hui s’en servirait ?
En 1974, à Ann Arbor, a eu lieu le grand débat entre Ted Codd, inventeur du modèle relationnel de données, et Charles Bachman, inventeur du modèle réseau : Ted a mis Charlie KO au 1er round.
Mais au niveau conceptuel on établit les associations de manière graphique, par exemple avec Looping :
[DEPT]----1,N----(Employer)----1,1----[EMP]
Et Looping traduit cela sous forme de tables, l’association étant établie par le mécanisme Clé primaire / clé étrangère. Exemple :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE DEPT ( DeptId INT , DeptNom VARCHAR(50) , ... CONSTRAINT DEPT_PK PRIMARY KEY (DeptId) ) ; CREATE TABLE EMP ( EmpId INT , DeptId INT , EmpNom VARCHAR(50) , ... CONSTRAINT EMP_PK PRIMARY KEY (EmpId) CONSTRAINT EMP_DEPT_FK FOREIGN KEY (DeptId) REFERENCES DEPT (DeptId) ) ;
Pour comprendre la différence de niveau entre les deux approches, j’utiliserai la métaphore :
Peut-on faire du feu sans allumettes ?
C’est possible ! A condition de savoir comment frotter deux bouts de bois, jusqu’à enfin voir se produire de la fumée...
(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.
Bonsoir,
En cas de cardinalité simple d'un côté, l'association ne donne pas lieu à une table de correspondance dans le MLD (et ne peut bien évidemment pas porter de rubriques).
Compte-tenu de cela, une représentation simplifiée de l'association (sous forme de DF) ets possible dans Looping : il suffit de cliquer 2 fois sur le bouton du formalisme "E/A" en haut à gauche de la fenêtre, et toutes les associations ne générant pas de table au niveau MLD sont alors représentées de manière simplifiée.
Voici un exemple :
Bonne continuation !
Bonjour Capitaine,
Et tu peux faire la même chose sur les autres boutons "Formalisme" pour une vision simplifiée UML et un MLD avec liens "Crow's foot"!
Ave,
A propos de la dépendance fonctionnelle E/R ayant pour émetteur l’entité-type Service et pour cible l’entité-type Salarié (cf. post #3), je préfère me ranger à l’avis de D. Nanci (RIP) : Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001) :
En effet, dans un MCD le terme DF (figurant dans un rond) exprime une contrainte spécifique, à savoir évidemment une « dépendance fonctionnelle », mais il s’agit d’un concept que l’on doit à Ted Codd et utilisé dans la théorie de la normalisation, avec son corpus d’axiomes et de théorèmes. Assistez à la naissance des DF, au paragraphe 1.2 de son article de 1971 (une trentaine de pages), Further normalization of the data base relational model.
Je cite Codd :
Attribute B of relation R is functionally dependent on attribute A of R if, at every instant of time, each value in A has no more than one value in B associated with it under R.
In other words, the projection ∏A,B(R) is at every instant of time a function from ∏A to ∏B.
[...] We write R.A → R.B if B is functionally dependent on A in R
[...] The definition given above can be extended to collections of attributes. Thus, if D, E are distinct collections of attributes of R, E is functionally dependent on D if, at every instant of time, each D‒value has no more than one E‒value associated with it under R.
Quand Codd utilise l’opérateur ∏ (projection), il se positionne au niveau non pas sémantique, mais mathématique (ensembliste). En tout cas, son article vaut le détour.
Le concept de DF a été repris par certains promoteurs de Merise, voyez La méthode Merise Tome 1 Principes et outils de H. Tardieu, A. Rochfeld, R. Colletti, nouvelle édition 1989, chez Les éditions d’organisation.
Dans l’ouvrage en question, je relève qu’il est nécessaire de simplifier, en remplaçant le nom de l’association, nom qui nous parle, par le terme (mathématique) DF, mais, nom d’une pipe, en vertu de quoi une telle nécessité de simplification ? Voici ce qu’on lit :
Je ne vois pas de valeur ajoutée quand on remplace une association porteuse de sémantique par un concept d’essence mathématique, au contraire...
A ce propos, comment interpréter du point de vue sémantique la DF ci-dessous ? « Animer », « Régenter », « Faire suer le burnous », « Diriger » ?
Pourquoi pas une bonne vieille association, avec le verbe qui va bien, symbolisé par « ? » ci-dessous ?
![]()
(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.
Bonsoir François,
Même si je suis coupable d'avoir implémenté cette représentation, je ne l'utilise pas dans mes modèles et dans mes enseignements!
Cependant, je peux comprendre son intérêt dans un soucis d'alléger quelque peu la représentation graphique d'un modèle coimplexe.
Quand à l'aspect sémantique, il y a les 2 côtés de la médaille : c'est sûr que le choix d'un verbe va permettre une meilleure compréhension du SI ; néanmoins, c'est parfois compliqué de trouver des verbes quand une multitude d'associations se présentent, surtout quand on sait qu'elles ne donneront pas lieu à génération de tables...
Et pour l'intéprétation sémantique, personnellement, j'utilise par défaut mon verbe magique : "Concerner" (ça marche tout le temps !).
Quoiqu'il en soit, Looping en propose pour tous les goûts : chacun choisira ce qui lui convient le mieux pour son SI.
Salve Paprick,
Ouf !Envoyé par Paprick
A qui le dis-tu !Envoyé par Paprick
Hum... Bon ça va pour cette foisEnvoyé par Paprick
![]()
(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