Maison > Article > base de données > Introduction aux jointures et aux tables relationnelles dans MySQL
Rejoindre
L'une des fonctionnalités les plus puissantes de SQL est la possibilité de joindre des tables lors de l'exécution d'une requête de récupération de données. Les jointures sont l'opération la plus importante que vous puissiez effectuer à l'aide de SELECT de SQL, et une bonne compréhension des jointures et de leur syntaxe est une partie extrêmement importante de l'apprentissage de SQL.
Avant de pouvoir utiliser efficacement les jointures, vous devez comprendre les tables relationnelles et avoir quelques connaissances de base en conception de bases de données relationnelles. L'introduction suivante ne constitue pas toutes les connaissances sur ce contenu, mais elle est suffisante pour vous aider à démarrer.
Table des relations
La meilleure façon de comprendre la table des relations est de regarder une vraie- exemple mondial.
Supposons que vous disposiez d'une table de base de données contenant un catalogue de produits, avec une ligne pour chaque catégorie d'articles. Les informations à stocker pour chaque article comprennent la description et le prix du produit, ainsi que des informations sur le fournisseur qui fabrique le produit.
Maintenant, s'il y a plusieurs articles produits par le même fournisseur, où les informations sur le fournisseur (telles que le nom du fournisseur, son adresse, ses coordonnées, etc.) sont-elles stockées ? Les raisons pour lesquelles ces données sont stockées séparément des informations sur le produit sont les suivantes.
1. Parce que les informations du fournisseur sont les mêmes pour chaque produit fabriqué par le même fournisseur, répéter ces informations pour chaque produit est une perte de temps et d'espace de stockage.
2. Si les informations du fournisseur changent (par exemple, le fournisseur déménage ou le numéro de téléphone change), elles ne doivent être modifiées qu'une seule fois.
3. S'il y a des données en double (c'est-à-dire que les informations sur les fournisseurs sont stockées pour chaque produit), il est difficile de garantir que les données sont saisies de la même manière à chaque fois. Les données incohérentes sont difficiles à exploiter dans les rapports.
Le point clé est que les mêmes données apparaissant plusieurs fois n'est jamais une bonne chose, et ce facteur est à la base de la conception de bases de données relationnelles. La conception des tables relationnelles consiste à garantir que les informations sont décomposées en plusieurs tables, une table pour chaque type de données. Les tableaux sont liés les uns aux autres via certaines valeurs couramment utilisées (c'est-à-dire les relations dans la conception relationnelle). Dans cet exemple, deux tables peuvent être créées, l'une pour stocker les informations sur les fournisseurs et l'autre pour stocker les informations sur les produits. La table des fournisseurs contient toutes les informations sur les fournisseurs, chaque fournisseur occupant une ligne et chaque fournisseur ayant un identifiant unique. Cette identification est appelée clé primaire et peut être l'ID du fournisseur ou toute autre valeur unique.
La table des produits stocke uniquement les informations sur les produits. Elle ne stocke pas d'autres informations sur le fournisseur à l'exception de l'ID du fournisseur (la clé primaire de la table des fournisseurs). La clé primaire de la table des fournisseurs est également appelée clé étrangère des produits. Elle associe la table des fournisseurs à la table des produits. L'ID du fournisseur peut être utilisé pour connaître les informations détaillées du fournisseur correspondant à partir de la table des fournisseurs.
Clé étrangère Une clé étrangère est une colonne d'une table qui contient la valeur de clé primaire d'une autre table et définit la relation entre les deux tables.
Les avantages de ceci sont les suivants :
1. Les informations sur le fournisseur ne sont pas répétées, donc le temps et l'espace ne sont pas perdus
2. vous pouvez simplement le mettre à jour. Pour un seul enregistrement dans la table des fournisseurs, les données des tables associées n'ont pas besoin d'être modifiées
3 Puisqu'il n'y a pas de duplication de données, il est évident que les données le sont ; cohérent, ce qui facilite le traitement des données. En résumé, les données relationnelles peuvent être stockées efficacement et traitées facilement. Par conséquent, les bases de données relationnelles évoluent bien mieux que les bases de données non relationnelles.
Évolutivité (scale) La capacité de s'adapter à des charges de travail croissantes sans échec. On dit qu’une base de données ou une application bien conçue évolue bien.
[Recommandations associées]
1. Qu'est-ce qu'une sous-requête MySQL ? Comment filtrer à l'aide d'une sous-requête ?
2. MySQL crée des champs calculés à l'aide de sous-requêtes
3 Pourquoi utiliser des jointures et comment créer des jointures
4 L'importance de la clause WHERE dans MySQL et comment rejoindre. Table multiple
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!