La puissance des clés étrangères dans les bases de données relationnelles
Les concepteurs de bases de données utilisent largement les clés lors du développement de bases de données relationnelles. Les plus courantes de ces clés sont les clés primaires et les clés étrangères. Une clé étrangère de base de données est un champ d’une table relationnelle qui correspond à une colonne de clé primaire d’une autre table. Pour comprendre le fonctionnement des clés étrangères, examinons de plus près les concepts de bases de données relationnelles.
Quelques bases de bases de données relationnelles
Dans une base de données relationnelle, les données sont stockées dans des tables contenant des lignes et des colonnes pour faciliter la recherche et la manipulation. Il y a des mathématiques sérieuses derrière le concept de bases de données relationnelles (algèbre relationnelle, introduite par EF Codd chez IBM en 1970), mais ce n’est pas le sujet de cet article.
À des fins pratiques (et pour les non-mathématiciens), les bases de données relationnelles stockent les données associées dans des lignes et des colonnes. De plus – et c’est là que ça devient intéressant – la plupart des bases de données sont conçues pour que les données d’une table puissent accéder aux données d’une autre table. Cette capacité à créer des relations entre les tables est la véritable puissance des bases de données relationnelles.
utiliser des clés étrangères
La plupart des tables, en particulier celles des bases de données volumineuses et complexes, ont des clés primaires. Les tables destinées à accéder à d’autres tables doivent également avoir des clés étrangères.
Pour utiliser la base de données Northwinds habituelle, voici un extrait de la table Product :
numéro de produit | nom du produit | ID de catégorie | Quantité par unité | Prix unitaire |
---|---|---|---|---|
1 | bois de chauffage | 1 | 10 boîtes x 20 sachets | 18:00 |
2 | ouvrir | 1 | Bouteille de 24 à 12 onces | 19.00 |
3 | sirop d’anis | 2 | 12 – Flacon de 550 ml | 10.00 |
4 | Assaisonnement cajun du chef Anton | 2 | 48 canettes de 6 oz | 22h00 |
5 | Mélange de gombo du chef Anton | 2 | 36 boîtes | 21h35 |
6 | Sauce aux baies de Boysen de grand-mère | 2 | 12 canettes de 8 onces | 25.00 |
7 | Poires séchées bio Uncle Bob’s | 7 | Paquet de 12 à 1 lb. | 30.00 |
Extrait de la table des produits de la base de données Northwind
Cette numéro de produit colonne est la clé primaire de cette table. Il attribue à chaque produit un identifiant unique.
La table contient également une colonne de clé étrangère, ID de catégorieChaque produit de la table Product est lié à une entrée de la table Categories qui définit cette catégorie de produit.
Notez cet extrait de la table des catégories de la base de données :
ID de catégorie | Nom de catégorie | décris |
---|---|---|
1 | boissons | Boissons non alcoolisées, café, thé, bière et bière |
2 | condiment | Sauces, vinaigrettes, tartinades et vinaigrettes sucrées et salées |
3 | le dessert | Desserts, Bonbons & Pains Sucrés |
5 | les produits laitiers | fromage |
Extrait du tableau des catégories de la base de données Northwind
colonne ID de catégorie est la clé primaire de cette colonne. (Il n’a pas de clé étrangère car il n’a pas besoin d’accéder à une autre table.) Chaque clé étrangère de la table Product est liée à une clé primaire de la table Categories. Par exemple, le produit Chai est affecté à la catégorie « Boissons », tandis que le Sirop d’Anis est affecté à la catégorie « Condiments ».
Ce lien crée d’innombrables façons d’utiliser et de réutiliser les données dans les bases de données relationnelles.
Merci de nous en informer!
Recevez chaque jour les dernières actualités technologiques
abonnement
Dites-nous pourquoi !
D’autres ne sont pas assez détaillés pour comprendre