Systèmes d’information et Bases de données (niveau 1) Cours n° 3 Violaine Prince Quelques compléments sur le modèle E-A Plusieurs variantes de notation Mais : Tous les nœuds « entités » du graphe sont reliés à des nœuds « association » Dans le modèle E-A proprement dit, seules les entités ont des clés Violaine Prince, [email protected] Exclusion entre associations Certaines associations entre entités sont exclusives. Exemple : une partie (de cartes) se fait soit en équipe, soit avec des joueurs isolés, mais pas les deux à la fois. Violaine Prince, [email protected] La représentation du temps dans le modèle E-A Le temps comme entité Le temps comme attribut d’entité Le temps comme attribut d’association Le temps n’étant pas une action ni un état, il ne peut pas être une association Violaine Prince, [email protected] La représentation du temps dans le modèle E-A Le temps comme entité Dates Les durées sont calculables ainsi que les intervalles Quand modélise-t-on le temps comme entité ? Le temps intervient plusieurs fois Génère beaucoup d’associations ternaires (et plus) Violaine Prince, [email protected] La modélisation du temps comme entité Exemples : Voiture Personne loue N°immat Nom prénom Date date Violaine Prince, [email protected] La modélisation du temps comme entité Une même personne peut louer la même voiture à plusieurs dates différentes. Elle peut aussi rendre une voiture à une date (permet de calculer la durée de location) Loue ----------------PERSONNE -------------Nom Prénom DATE -----------date Rend -----------Violaine Prince, [email protected] VOITURE -----------N°Immat Modèle La modélisation du temps comme attribut d’une entité C’est le cas des événements temporels où la date est un attribut propre de l’événement Exemple : commande particulière Un emprunt particulier Une session de jeu Etc… Violaine Prince, [email protected] le temps comme attribut d’une entité Exemple : Personne Commande _________ Passe --------- N°com Date-com Concerne ———— qté Article -----------N°-art Design. Violaine Prince, [email protected] Le temps comme attribut d’une association Lorsque l’action entre deux (ou plusieurs) individus particuliers a lieu une seule fois personne ________ Nom prénom signe ______ Date-sign Contrat _________ N°contrat Date-émission Violaine Prince, [email protected] La modélisation par la méthode ascendante L’inventaire des différents attributs existants dans le système d’information qu’on veut modéliser Le SI est appelé « Univers » Les attributs sont appelés des rubriques. Les rubriques sont des noms de domaines de valeurs. Exemple : des noms des prénoms, des dates, des nombres, des intervalles, etc… Violaine Prince, [email protected] La méthodes ascendante L’inventaire permet de réaliser un dictionnaire des données. Ce dictionnaire est sous la forme d’un tableau. Nomrubrique Designation Type Nature Nom attribué Ce que signifie la rubrique Son format et sa taille Calculée, non calculée, etc. Violaine Prince, [email protected] Le dictionnaire des données Nom Designation Type Nature Nompersonne Nom de famille Alphabét Non ique (50) Calculé Prénom Personne Prénom Numéroinsee Numéro de SS Alphanu (identifiant) mérique (13) Règle de gestion Alphabét Non ique’20) Calculé Non Calculé Violaine Prince, [email protected] Premier chiffre a vérifier avec genre, 2chiffres suivants =année etc… Le dictionnaire des données Les natures de rubrique sont : Calculée : lorsque c’est le résultat d’un calcul. On met alors dans la colonne « règle de gestion » la formule de calcul. Exemple de rubrique calculée : les totaux de commande, de facture, l’âge, etc… Non Calculée : c’est une valeur qu’on ne peut pas connaître si on ne la demande pas. Incrémentale : c’est le cas de clés artificielles attribuées, de matricules, etc… Date : dans la colonne « type » on indique le format « jj/mm/aa » ou « mm/jj/aaaa », etc… Violaine Prince, [email protected] La méthode ascendante : établissement des dépendances Une fois qu’on a terminé le dictionnaire des données. On élimine les rubriques calculées qui ne doivent JAMAIS figurer dans le modèle conceptuel E-A On essaie ensuite de relier entre elles les rubriques par une notion de dépendance. Violaine Prince, [email protected] Notion de dépendance fonctionnelle Définition On dit que deux attributs (ou groupes d’attributs) X et Y sont tels que Y dépend fonctionnellement de X, que l’on note X—> Y, si et seulement si Il existe une fonction F de X dans Y, telle que pour tout x dans le domaine de valeur de X, il existe au plus un y dans le domaine de valeurY tel que : y = F(x) Violaine Prince, [email protected] Notion de dépendance fonctionnelle Exemple : Une valeur donnée d’un numéro d’étudiant peut être associée à au plus un nom (de famille) d’étudiant N°Etu —> Nom-Etu Par contre, en raison de l’homonymie, un même nom d’étudiant peut être associé à plusieurs numéros d’étudiants. On n’a pas la dépendance réciproque. Nom-étu —> N°Etu Violaine Prince, [email protected] Notion de dépendance fonctionnelle Il faut que la propriété soit vraie pour toute valeur de l’attribut à gauche du signe —> La dépendance fonctionnelle est une propriété d’une relation qui existe entre attributs Alors que le type d’une association est une propriété des n-uplets de relations existant entre entités qui sont des ensembles d’attributs. Violaine Prince, [email protected] La méthode ascendante : établissement des dépendances fonctionnelles Pour toutes les rubriques du dictionnaire des données qui sont de type « non calculée », « incrémentale » ou « date » On cherchera à établir des dépendances fonctionnelles entre rubriques (renommées attributs) ou groupe de rubriques. On s’intéressera en premier aux dépendances fonctionnelles entre attributs « atomiques ». Violaine Prince, [email protected] La méthode ascendante : établissement des dépendances fonctionnelles On appelle « atomique » un attribut unitaire, avec un seul nom. Exemple : Numéro-étu est un attribut atomique L e couple Nom, Prénom est un attribut de dimension 2 (groupe d’attributs dans le modèle EA). On établira les dépendances fonctionnelles les plus évidentes, et on cherchera à dessiner un graphe des dépendances. Violaine Prince, [email protected] La méthode ascendante : le graphe des dépendances Un Graphe des dépendances est un ensemble de nœuds et d’arcs tels que : Chaque nœud du graphe est un attribut atomique, ou non. Chaque arc du graphe est une dépendance. Les arcs sont orientés. Le graphe est acyclique en ce sens qu’il n’est pas un graphe de parcours. En revanche, il possède des « cycles » définis par des dépendances bidirectionnelles. Violaine Prince, [email protected] Exemple de graphe des dépendances A B G D C E H I F Violaine Prince, [email protected] J Graphe des dépendances Ce graphe résume les dépendances suivantes : A —>B B—>A A—> C A—> D D—> E D—> F A,G —>H G —> I G —> J Violaine Prince, [email protected] Passage au modèle E-A Tout attribut racine d’une arborescence, ou d’une sousarborescence est clé d’une entité. Tous les attributs « fils » d’une racine sont les attributs de la même entité dont leur père est la clé, à condition qu’ils soient des feuilles. Violaine Prince, [email protected] Création des entités Entité 1 --------------------A B C Entité 2 --------------D E F Entité 3 ---------------G I J Violaine Prince, [email protected] Détection des associations : associations plusieurs à plusieurs avec attributs Un nœud du graphe composé de deux nœuds racine d’arborescence ou de sousarborescence, est appelé nœud complexe. Tout nœud complexe racine d’une arborescence de profondeur 1 donne lieu à une association entre les entités dont les clés sont les nœuds racines des arborescences correspondantes aux entités. Les « fils » du nœud complexe sont des attributs de l’association. Violaine Prince, [email protected] Exemple A,G —> H A est la clé de l’entité 1 et G est la clé de l’entité 3 donc; Entité 1 -------------A B C Entité 3 (0,n) --------------(0,n) Assoc G ou -------------- ou I H (1,n) J (1,n) Violaine Prince, [email protected] Création des associations 1 à plusieurs Si X est la racine d’une arborescence et Z est racine d’une sous-arborescence de X , alors il existe une association 1 à plusieurs, Entre l’entité E1 de racine X et l’entité E2 de racine Z Telle que la cadinalité du couple E1-A est (0,n) ou (1, n) Et la cardinalité du couple E2-A est (0,1) ou (1,1) Car la valeur de la clé de E2 est connue si on connaît la valeur de la clé de E1 Mais pas l’inverse (notion d’association hiérarchique) Violaine Prince, [email protected] Association 1 à plusieurs A—> D A est la clé de l’entité 1 et D est la clé de l’entité 2. Il existe donc une dépendance hiérarchique entre l’Entité1 Et l’entité 2. Entité 1 (0,1) ---------------ou A (1,1) B C Entité 2 (0,n)---------------D Assoc ou E (1,n) F Violaine Prince, [email protected] Modèle E-A issu du graphe Entité 1 ------------A B C (0,n) (1,n) AS 2 -------------- (0,n) (1,n) AS. ------H Entité 3 (0,n) ---------------(1,n) G Entité 2 ------------(0,1) D E (1,1) F Violaine Prince, [email protected] I J Attention Les modèles obtenus par la méthode ascendante ne sont pas toujours complets : Les associations plusieurs à plusieurs sans attributs n’apparaissent pas Donc certaines entités peuvent apparaître isolées Ils peuvent aussi être ambigus: Faut-il choisir A ou B comme racine de l’arborescence ? (la dépendance fonctionnelle est transitive) Les associations un à un sont détectables par des arcs doubles entre des racines d’arborescences Violaine Prince, [email protected] Comment utiliser la méthode ascendante Soit pour générer un premier modèle EA que vous chercherez à compléter par des associations manquantes, ou des attributs qui vous paraissent nécessaires Soit au contraire pour vérifier une partie de votre modèle E-A obtenu par la méthode descendante. Violaine Prince, [email protected] Rappel du précédent cours Il est préférable De commencer par modéliser selon la méthode descendante, Et on vérifie qu’on n’a pas oublié d’attributs grâce au dictionnaire des données Ou qu’on ne s’est pas trompé dans les attributs d’association (s’il y en a) Ni dans les types d’association (si on a des indices dans le graphe des dépendances) Par la méthode ascendante. Violaine Prince, [email protected]