===== 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]]