Différence entre les clés en SQL

Contenu

introduction

Les clés SQL sont la clé de votre succès Analytics !!

Les données croissent à un rythme exponentiel, de même que la demande de professionnels connaissant bien les bases de données.

Les organisations du monde entier recherchent des scientifiques et des analystes de données capables d'extraire des informations significatives à partir de vastes quantités de données.. Et l'un des langages les plus importants pour gérer les bases de données est SQL. C'est pourquoi les professionnels SQL expérimentés ont un avantage sur leurs pairs lorsqu'il s'agit de travailler avec des bases de données..

clés-sql-4058737

Un aspect important du travail avec des bases de données est la création d'un. La création d'une base de données est un jeu de balle complètement différent de la récupération de données à partir de bases de données. Parce que? Bon, la création d'une base de données nécessite une compréhension approfondie de la façon dont les tables sont liées les unes aux autres au sein d'une base de données et comment gérer les enregistrements afin qu'il n'y ait pas de données en double.

Un aspect très important de la création de bases de données est de comprendre le concept de clés en SQL. Ce ne sont rien de plus qu'un groupe de colonnes qui peuvent vous aider à identifier les lignes d'un tableau de manière unique. Mais comme toute autre entité, il existe de nombreux types de clés en SQL.

Dans cet article, Je vais discuter de certaines des clés SQL les plus courantes que tout data scientist ou analyste devrait connaître avant de commencer à travailler avec des bases de données..

Je suggère de vérifier le Cours SQL pour la science des données si vous débutez en SQL.

Table des matières

  • Que sont les clés dans le SGBD?
  • Super clé
  • Clé du candidat
  • Clé primaire
  • Clé alternative ou secondaire
  • Clé étrangère
  • Clé composée

Que sont les clés dans le SGBD?

Les bases de données sont utilisées pour stocker des quantités massives d'informations stockées dans plusieurs tables. Chaque table peut avoir des milliers de lignes. Il va sans dire qu'il y aura de nombreuses lignes en double avec des informations redondantes. Comment pouvons-nous gérer cela? Comment gérons-nous les journaux pour ne stocker que des données uniques? Oui, Comment relions-nous les multiples tables présentes dans la base de données?

Les clés SQL sont la réponse à toutes ces requêtes.

Une clé SQL est une seule colonne (l'attribut) ou un groupe de colonnes pouvant identifier des lignes de manière unique (ou tuples) Sur une table.

Les clés SQL garantissent qu'il n'y a pas de lignes avec des informations en double. Non seulement cela, ils aident également à établir une relation entre plusieurs tables de la base de données. Donc, il est impératif de connaitre les différentes clés en SQL.

Qu'est-ce qu'une superclé en SQL?

La superclé est une clé unique ou un groupe de plusieurs clés qui peuvent identifier de manière unique les tuples dans une table.

La superclé peut contenir plusieurs attributs qui peuvent ne pas être en mesure d'identifier indépendamment les tuples dans une table, mais lorsqu'il est groupé avec certaines touches, peut identifier de manière unique les tuples.

Permettez-moi de prendre un exemple pour clarifier la déclaration ci-dessus. Jetez un œil au tableau suivant.

sql9-2590067

Considérez que identifiant L'attribut est unique pour chaque employé. Dans ce cas, on peut dire que le identifiant L'attribut peut identifier de manière unique les tuples dans cette table. Ensuite, identifiant est une super clé de cette table. Notez que nous pouvons également avoir d'autres Super Keys dans ce tableau.

Par exemple – (Identifiant, nom), (Identifiant, courrier électronique), (Identifiant, nom, courrier électronique), etc., peut être des super clés, puisque tous peuvent identifier de manière unique les tuples dans la table. Ceci est dû à la présence du identifiant attribut capable d'identifier de manière unique les tuples. Les autres attributs des clés sont inutiles. Cependant, peut toujours identifier les tuples.

Qu'est-ce qu'une clé candidate?

La clé candidate est une clé unique ou un groupe de clés multiples qui identifie de manière unique les lignes d'une table.

Une clé candidate est un sous-ensemble de super clés et manque d'attributs inutiles qui ne sont pas importants pour identifier de manière unique les tuples.

La valeur de la clé candidate est unique et non nulle pour tous les tuples. Et chaque table doit avoir au moins une clé candidate. Mais il peut aussi y avoir plus d'une clé candidate.

Par exemple, dans l'exemple que nous avons pris plus tôt, tellement de identifiant Oui Courrier électronique peut agir comme candidat à la table, car ils contiennent des valeurs uniques et non nulles.

sql13-2255016

D'un autre côté, nous ne pouvons pas utiliser d'attributs comme Ville O Genre pour récupérer les tuples de la table, car ils n'ont pas de valeurs uniques.

sql14-6008125

Alors qu'en consultant le tableau dans le identifiant L'attribut nous aidera à récupérer des tuples uniques.

sql15-8154420

Clé primaire en SQL

La clé primaire est la clé candidate sélectionnée par l'administrateur de la base de données pour identifier de manière unique les tuples dans une table.

De toutes les clés candidates possibles pour une table, il ne peut y avoir qu'une seule clé qui sera utilisée pour récupérer des tuples uniques de la table. Cette clé candidate est appelée clé primaire.

Il ne peut y avoir qu'une seule clé primaire pour une table. Selon la façon dont la clé candidate est construite, la clé primaire peut être un seul attribut ou un groupe d'attributs. Mais le point important à retenir est que la clé primaire doit être un attribut unique et non null.

Il peut y avoir deux façons de créer une clé primaire pour la table. La première façon est de modifier un déjà créé pour ajouter la contrainte de clé primaire sur un attribut. Ceci est montré ci-dessous:

sql4-5859234

À présent, si j'essaie d'ajouter une nouvelle ligne avec une valeur d'ID en double, ça va me donner un message d'erreur.

sql5-9283779

La deuxième façon d'ajouter une clé primaire est lors de la création de la table. Tout ce que vous avez à faire est d'ajouter la contrainte de clé primaire à la fin après avoir défini tous les attributs de la table.

sql6-9652268

Pour définir une contrainte de clé primaire sur plusieurs attributs, vous pouvez lister tous les attributs entre parenthèses comme illustré ci-dessous.

sql7-1792270

Mais rappelez-vous que ces attributs doivent être définis comme des valeurs non nulles, au contraire, le but de l'utilisation de la clé primaire pour identifier les tuples expire de manière unique.

Clés alternatives ou secondaires en SQL

Les clés alternatives sont les clés candidates qui ne sont pas la clé primaire.

Il ne peut y avoir qu'une seule clé primaire pour une table. Donc, toutes les clés candidates restantes sont appelées clés alternatives ou secondaires. Ils peuvent également identifier de manière unique les tuples dans une table, mais l'administrateur de la base de données a choisi une clé différente comme clé primaire.

Si nous regardons la table des employés une fois de plus, depuis que j'ai choisi identifiant comme clé primaire, l'autre clé candidate (Courrier électronique), devient la clé alternative de la table.

sql16-9063177

Clé étrangère en SQL

La clé étrangère est un attribut qui est une clé primaire dans votre table primaire, mais il est inclus en tant qu'attribut dans une autre table d'hôtes.

Une clé étrangère génère une relation entre la table principale et la table principale. Par exemple, en plus du Employé tableau contenant les données personnelles des employés, nous pourrions avoir une autre table département contenant des informations relatives au service de l'employé.

sql11-8275180

La clé primaire dans cette table est Department identifiant. Nous pouvons ajouter cet attribut à l'employé en en faisant la clé étrangère dans la table. Nous pouvons le faire lorsque nous créons la table ou nous pouvons modifier la table plus tard pour ajouter la contrainte de clé étrangère. Ici j'ai modifié le tableau, mais la création d'une clé étrangère lors de la création de la table est similaire à la clé primaire.

sql10-6949261

Ici, Dep_Id est maintenant la clé étrangère dans la table Employee, alors qu'il s'agit d'une clé primaire dans la table Department.

La clé étrangère permet de créer une relation entre deux tables de la base de données. Chacun de ces tableaux décrit des données relatives à un domaine particulier (employé et département ici). En utilisant la clé étrangère, nous pouvons facilement récupérer les données des deux tables.

sql17-8670396

Noter: Pour fonctionner avec des clés étrangères, il faut connaitre les articulations, que vous pouvez retrouver en détail dans Cet article.

L'utilisation de clés étrangères facilite la mise à jour de la base de données en cas de besoin. C'est parce que nous n'avons qu'à apporter les modifications nécessaires dans des lignes limitées. Par exemple, si il Commercialisation le département change de Calcutta à Pune, au lieu de le mettre à jour pour toutes les lignes pertinentes dans le Employé tableau, nous pouvons simplement mettre à jour l'emplacement dans le département mesa. Cela garantit qu'il n'y a que quelques endroits à mettre à jour et moins de risque d'avoir des données différentes à différents endroits..

Que sont les clés composites?

Une clé composite est une clé candidate ou une clé primaire qui se compose de plusieurs attributs.

Parfois, il est possible qu'aucun attribut n'ait la propriété d'identifier de manière unique les tuples dans une table. Dans ces cas, nous pouvons utiliser un groupe d'attributs pour garantir l'unicité. La combinaison de ces attributs identifiera de manière unique les tuples dans la table.

Considérez le tableau suivant:

sql12-6888563

Ici, aucun des attributs ne contient de valeurs uniques pour identifier les tuples. Donc, nous pouvons combiner deux ou plusieurs attributs pour créer une clé qui peut identifier de manière unique les tuples. Par exemple, on peut grouper Identifiant de la transaction Oui Identifiant du produit pour créer une clé qui peut identifier de manière unique les tuples. On les appelle des clés composites.

Différence clé entre les clés SQL

  • Claves SQL sont utilisés pour identifier de manière unique les lignes d'une table.
  • Les clés SQL peuvent être une seule colonne ou un groupe de colonnes.
  • Super clé est une clé unique ou un groupe de clés multiples qui peut identifier de manière unique les tuples dans une table.
  • Super clés peut contenir des attributs redondants qui peuvent ne pas être importants pour identifier les tuples.
  • Clés du candidat sont un sous-ensemble de Super clés. Ils contiennent uniquement les attributs nécessaires pour identifier de manière unique les tuples.
  • Tous Clés du candidat est-ce ainsi Super clés. Mais le contraire n'est pas vrai.
  • Clé primaire c'est un Clé du candidat choisi pour identifier de manière unique les tuples dans la table.
  • Clé primaire les valeurs doivent être uniques et non nulles.
  • Il peut y avoir plusieurs Super clés Oui Clés du candidat dans un tableau, mais il ne peut y en avoir qu'un Clé primaire dans un tableau.
  • Clés alternatives sont celles Clés du candidat qui n'ont pas été choisies pour être la clé primaire de la table.
  • Clé composée c'est un Clé du candidat composé de plus d'un attribut.
  • Clé étrangère est un attribut qui est un Clé primaire dans ta table principale, mais il est inclus comme attribut dans la table principale.
  • Clés étrangères peut accepter des valeurs nulles et non uniques.

Remarques finales

Dans cet article, nous couvrons les clés les plus courantes et les plus utilisées que tout professionnel souhaitant travailler avec des bases de données devrait connaître.

Si vous cherchez à travailler avec SQL en Python, je vous propose de lire cet article. Ou si vous êtes quelqu'un qui recherche des techniques SQL à utiliser pour une meilleure analyse des données, alors vous ne devez pas manquer ce super article.

J'espère que vous avez apprécié cet article et connectez-vous dans les commentaires si vous avez des questions sur ce sujet.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.