From 7cacc4323027307aaa16f4d75a1e2ed4bf8362ff Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Fri, 23 Jan 2026 17:10:25 +0100 Subject: Cours du 19 au 23 janvier --- ...1- Mod\303\250le Entit\303\251-Association.typ" | 138 +++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 "semestre 4/db/1- Mod\303\250le Entit\303\251-Association.typ" (limited to 'semestre 4/db/1- Modèle Entité-Association.typ') diff --git "a/semestre 4/db/1- Mod\303\250le Entit\303\251-Association.typ" "b/semestre 4/db/1- Mod\303\250le Entit\303\251-Association.typ" new file mode 100644 index 0000000..2c3c6a1 --- /dev/null +++ "b/semestre 4/db/1- Mod\303\250le Entit\303\251-Association.typ" @@ -0,0 +1,138 @@ +#import "@local/template:1.0.0": * +#import "@local/callout:1.0.0": * + +#show: doc.with( + authors: ( + (name: "William Hergès", affiliation: "Sorbonne Université", email: "william@herges.fr"), + ), + page_title: "Modèle Entité-Association", +) + += Introduction + +Ici, on s'intéresse à une forme abstraite~: description de haut niveau. +Il s'agit d'une première description formelle des données dans une base de données. + +On va prendre comme exemple la création d'un DB d'un Université. + +Les besoins~: +- inscripitons des étudiants à un module +- affectation des tuteurs à des étudiants +- planning des salles + +Les objets à modéliser~: +- les étudiants +- les modules +- les tuteurs +- les salles + +Les liens entre les objets~: +- les étudiants s'inscrivent à un ou plusieurs modules pour une année universitaire +- le cours d'un module a lieu dans une salle donnée, il débute à une heure connue et se déroule pendant une durée connue + + += Définitions élémentaires + +Cherche à transcrire les besoins en terme de _classes_ d'_entités_ et de _classes_ d'_associations_. + +#defn[ + Une _entité_ est un objet du monde réel identifiable et pertinent pour l'application. +] + +Une salle 24-34-208 est une entité. +Le médecin John Doe est une entité. + +#defn[ + Un _attribut_ est une propriété/une caractéristique à une entitée. + Il possède un nom et un domaine de valeurs atomiques. +] + +Un prénom est un attribut pour une personne. + +#defn[ + Une _classe d'entités_ est un ensemble d'entités ayant les mêmes attributs. +] + +Les médecins sont une classe d'entité. +Les salles le sont aussi. + +#defn[ + Un _identifiant d'entité_ est un sous-ensemble d'attributs permettant de distinguer les entités de la même classe. + Il doit être unique et toute classe d'entités doit en posséder une. +] + +Un identifiant peut être naturel (construit à partir des propriétés des entités) ou artificiel (rajouté aux attributs de +la classe). + +#defn[ + Une _association_ est une relation entre plusieurs entités. +] + +«~L'enseignant John Doe gère le cours X~» est une association. + +#defn[ + Une _classe d'associations_ est un ensemble nommé de relations «~du même type~» entre des entités. +] + +Enseigner est une classe d'associations. + +Une association peut avoir des attributs, tout comme il peut avoir un identifiant. + +*Souvent, on oublie la distinction X et classe de X.* + +== Cardinalité d'une classe d'association + +#defn[ + La _cardinalité d'association_ pour une classe d'entité $E$ et une classe d'association $A$, le nombre minimum et le + maximum d'associations de $A$ qui peuvent exister pour une instance de $E$. + + La cardinalité est notée $min : max$. +] + +Valeurs communes~: $0$, $1$ et $N$ (n'importe quelle valeur). + +La cardinalité $1:N$ indique qu'il faut au moins une entité et qu'il n'y a pas de limites. + +== Type d'association + +#defn[ + Une association est dite _réflexive_, si elle relie des entités de la même classe. + + Elle peut être _symétrique_ si les cardinalités sont identiques des deux côtés. + Sinon, elle est _asymétrique_. +] + +La distance d'une ville à une autre est relation réflexive et symétrique. +La relation de subordination est aussi réflexive, mais elle est asymétrique. + +== Type d'entité + +#defn[ + Une entité est dite _faible_ si son identifiant dépend d'autres entités (dites fortes). + Elles possèdent un _identifiant partiel_ qui est unique dans le contexte de leur entité forte. +] + +La salle 24-25-103 est faible car elle dépend du bâtiment 24-25 (qui est fort). + += Exemples de schéma + +Code~: +- les entités sont des rectangles +- les attributs par des ronds +- les associations sont des losanges +- l'identifiant est souligné (s'il est faible, il est souligné avec des pointillés) + +#figure( + image("./1- entité et association.png"), + caption: [Deux entités liées par deux associations.], +) + +#figure( + image("./1- cardinalité.png"), + caption: [Représentation de la cardinalité d'une association.] +) + +#figure( + image("./1- généralisation.png"), + caption: [Représentation de la généralisation d'attributs. Les commentaires sont en gris.] +) -- cgit v1.2.3