===== Définitions ===== Modéliser une base de données, c'est : * Identifier les différents ensembles en interaction * Identifier les liens de dépendance entre les différents ensembles {{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-01.png?500}} {{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-02.png?500}} {{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-03.png?500}} Les liens entre les différents ensembles sont appelés des **associations** ==== Association ==== Une association exprime des relations de dépendance entre deux ou plusieurs ensembles d’entités. **Définition** : Une **association** entre les ensembles $E_1$, ..., $E_k$ est un sous-ensemble du produit $E_1 \times ... \times E_k$. Il s'agit donc d'un ensemble de k-uplets $\{..., (t_1,…,t_k), …\}$ t.q. $t_1 \in E_1,…, t_k \in E_k$. où $k$ est le degré de l'association : * k=2 : association binaire * k=3 : association ternaire * etc… ===Rôles des associations=== * //**Attribution**// : propriété, réservation, participation, supervision, auteur, rôle, pilote, ... * //**Événements**// : achat, vente, séance, épreuve, appel, consultation, réunion, transaction, transport ... * //**Aggrégation/Composition**// : tout/parties, contenant/contenu, supérieur/subordonné, pays/région, ... * //**Relations entre membres**// : parenté, collaboration, cercle d'amis, ... * ... ==== Contraintes de cardinalité ==== Pour chaque ensemble participant à une association, on précise dans combien d'instances de l'association chaque entité peut apparaître. On donne en général un intervalle $[b_\text{inf},b_\text{sup}]$ qui définit le nombre d'apparitions autorisées pour chaque rôle de l'association ===Représentation graphique=== **Associations binaires** |{{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-04.png?400}}| |{{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-05.png?400}}| |{{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-06.png?400}}| **Associations ternaires** | {{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-07.png?300}}|{{public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:s7-cm2-08.png?250}}| __Up__ : [[public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste]] __Next__ :[[public:std-3:cm2:conception_de_bases_de_donnees:3.1.1_modele_ensembliste:types_d_associations]]