===== Schéma de base et clé étrangère ===== * Un schéma (ou modèle) de bases de données est un ensemble fini de schémas de relation. * Une base de données est un ensemble fini de relations. * Les liens et associations entre relations entre s’expriment sous la forme de **clés étrangères** **Définition** * Au sein d'un schéma relationnel $R$, Une clé étrangère est un attribut (ou un groupe d'attributs) qui constitue la clé primaire d'un schéma $S$ distinct de $R$. * La présence d'une clé étrangère au sein d'une relation $r$ de schéma $R$ introduit une contrainte d'intégrité sur les données : * la valeur des attributs de la clé étrangère d'un tuple de $r$ doit être trouvée dans la table s correspondante. * On indique la présence d'une clé étrangère à l'aide de pointillés : {…, __C__l__é__ __é__t__r__a__n__g__è__r__e__, …} ==== Exemple ==== **Schéma de base relationnelle** : * **Clients** ( __nom_client__, adresse_client, solde) * **Commandes** ( __num_Commande__, __n__o__m__ __c__l__i__e__n__t, composant, quantité) * **Fournisseurs** ( __nom_fournisseur__, adresse_fournisseur) * **Catalogue** ( __nom_fournisseur, composant__, prix ) __Up__ :[[public:std-3:cm2:conception_de_bases_de_donnees:3.1.2_traduction_vers_le_modele_relationnel]] __Next__ : [[public:std-3:cm2:conception_de_bases_de_donnees:3.1.2_traduction_vers_le_modele_relationnel:Traduction des associations de plusieurs à plusieurs]]