À quoi sert la clé de substitution en SQL?

Meilleure réponse

Une clé primaire est une contrainte spéciale sur une colonne ou un ensemble de colonnes. Une contrainte de clé primaire garantit que la ou les colonnes ainsi désignées nont pas de valeurs NULL et que chaque valeur est unique. Physiquement, une clé primaire est implémentée par le système de base de données à laide dun index unique, et toutes les colonnes de la clé primaire doivent avoir été déclarées NOT NULL. Une table ne peut avoir qu’une seule clé primaire, mais elle peut être composite (constituée de plusieurs colonnes).

Une clé de substitution est toute colonne ou ensemble de colonnes pouvant être déclaré comme clé primaire au lieu de un « real » ou naturel clé . Parfois, il peut y avoir plusieurs clés naturelles qui pourraient être déclarées comme clé primaire, et elles sont toutes appelées clés candidates . Un substitut est donc une clé candidate. Une table peut en fait avoir plus dune clé de substitution, bien que cela soit inhabituel. Le type de clé de substitution le plus courant est un entier dincrément, comme une colonne auto\_increment dans MySQL, ou une séquence dans Oracle, ou une colonne didentité dans SQL Server.

Avantages de lutilisation de clés de substitution

Comme mentionné, une clé de substitution sacrifie une partie du contexte dorigine des données. Cependant, cela peut être extrêmement utile à des fins danalyse pour les raisons suivantes:

  • Les clés de substitution sont uniques. Parce que les clés de substitution sont généré par le système, il est impossible pour le système de créer et de stocker une valeur en double.
  • Les clés de substitution appliquent des règles uniformes à tous les enregistrements. La valeur de la clé de substitution est le résultat dun programme qui crée la valeur générée par le système. Toute clé créée à la suite dun programme appliquera des règles uniformes pour chaque enregistrement.
  • Les clés de substitution résistent à lépreuve du temps. Parce que la substitution les clés nont pas de contexte ni de signification commerciale, il ne sera pas nécessaire de changer la clé à lavenir.
  • Les clés de substitution autorisent des valeurs illimitées. Les clés séquentielles, horodatées et aléatoires nont pas de limites pratiques aux combinaisons uniques.

Réponse

Aujourdhui, la plupart des bases de données sont en réalité des systèmes de gestion de bases de données (SGBD). Ceux-ci se composent de deux composants:

  1. la base de données proprement dite , qui stocke les données, ainsi que les métadonnées, telles que les relations, les contraintes , etc…
  2. linterface utilisateur, où le développeur et / ou ladministrateur de la base de données saisissent les commandes SQL.

La majorité des bases de données sont livrées avec un utilitaire de ligne de commande pour linterfaçage avec la base de données. Par exemple, MySQL fournit un shell SQL simple avec des capacités dédition de ligne dentrée. Il prend en charge une utilisation interactive et non interactive. Lorsquils sont utilisés de manière interactive, les résultats de la requête sont présentés dans un format de table ASCII. Lorsquil est utilisé de manière non interactive (par exemple, comme filtre), le résultat est présenté dans un format séparé par des tabulations. Le format de sortie peut être modifié à laide des options de commande.

Pour appeler le shell MySQL à partir de linvite de votre interpréteur de commandes, vous devez entrer quelque chose comme ce qui suit:

shell> mysql --user=user\_name --password db\_name

Enter password: your\_password

Une fois connecté à votre base de données, vous pouvez exécuter des commandes, comme une requête SELECT , contre:

shell>SELECT * FROM shop ORDER BY article;

+---------+--------+-------+

| article | dealer | price |

+---------+--------+-------+

| 1 | A | 3.45 |

| 1 | B | 3.99 |

| 2 | A | 10.99 |

| 3 | B | 1.45 |

| 3 | C | 1.69 |

| 3 | D | 1.25 |

| 4 | D | 19.95 |

+---------+--------+-------+

Vous pouvez également mettre vos instructions SQL dans un fichier et puis dites à mysql de lire son entrée à partir de ce fichier. Pour ce faire, vous créez un fichier texte contenant les instructions que vous souhaitez exécuter. Ensuite, invoquez mysql comme indiqué ici:

shell> mysql db\_name

Certains fournisseurs de bases de données proposent également des clients et des utilitaires GUI, en plus dune commande- client en ligne. Fidèle à MySQL, son client GUI est MySQL Workbench. Disponible sur Windows, Linux et Mac OS X, MySQL Workbench est destiné aux architectes de bases de données, aux développeurs et aux DBA. Il fournit la modélisation des données, le développement SQL et des outils dadministration complets pour la configuration du serveur, ladministration des utilisateurs, la sauvegarde et bien plus encore.

Autres outils

Outre les outils proposés par les fournisseurs de bases de données eux-mêmes, il existe de nombreuses autres offres open source et commerciales disponibles pour toutes les types de bases de données et services cloud. En termes de différences, les produits gratuits et commerciaux sont bien adaptés à leur objectif.Le choix de celui que vous utiliserez dépendra généralement plus du type de travail que vous faites plutôt que de la convivialité.

Ayant beaucoup travaillé avec des produits open source et commerciaux, jai constaté que je me suis progressivement tourné vers le dernier, car lefficacité du travail est devenue plus importante dans mon travail de consultant informatique. Mon opinion personnelle est que les produits commerciaux peuvent vous rendre plus productif car ils rationalisent les tâches courantes pour augmenter lefficacité.

En conséquence, jutilise Navicat Premium développement de bases de données et client dadministration depuis plusieurs années maintenant. Bien que Navicat crée des clients pour toutes les bases de données populaires, Navicat Premium est le seul outil que jai utilisé capable de se connecter simultanément aux bases de données MySQL, MariaDB, MongoDB, SQL Server, Oracle, PostgreSQL et SQLite à partir dune seule application. Il est également entièrement compatible avec les bases de données cloud comme Amazon RDS, Amazon Aurora, Amazon Redshift, Microsoft Azure, Oracle Cloud et Google Cloud.

Voici une capture décran de lécran principal de Windows:

Tous les produits Navicat sont disponibles pour Linux et macOS ainsi que Windows.

En particulier, léditeur de requêtes maide à écrire mes requêtes plus rapidement en incluant la coloration syntaxique, des extraits de code réutilisables et personnalisables, ainsi que la suggestion automatique, illustrée ci-dessous:

Il dispose même dun générateur de requêtes, ce qui est dun grand avantage pour les utilisateurs moins expérimentés. Il vous permet de créer et de modifier des requêtes visuellement sans pratiquement aucune connaissance de SQL!

Jespère que cela vous aidera!

Meilleures salutations,

Adam

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *