Clé primaire dans la base de données SQL : qu'est-ce que c'est, les avantages et comment choisir
Publié: 2021-05-25Table des matières
Qu'est-ce qu'une clé primaire ?
Concevoir une nouvelle base de données en SQL vient avec son lot de choix inimitables. L'identification d'une clé primaire appropriée est l'une des décisions les plus critiques que vous aurez à prendre. L'objectif sous-jacent d'une clé primaire est simple et direct.
Une clé primaire joue un rôle fondamental à deux volets. Premièrement, cela aide à définir une relation. Deuxièmement, cela aide à mettre en œuvre cette relation. En d'autres termes, sans clé primaire, les bases de données relationnelles n'existeraient pas. Naturellement, la notion de clé primaire semble inhabituelle.
Mais que se passerait-il si nous vous disions que vous utilisez des clés primaires dans votre vie quotidienne sans vous en rendre compte. À chaque instant de notre journée, nous sommes littéralement entourés de clés primaires dans un monde de bases de données, et pourtant nous les tenons pour acquises. Par exemple, considérez votre carte d'étudiant. C'est un exemple classique de la nécessité d'une clé primaire. De même, chaque employé a un code d'entreprise unique, et chaque pays du monde a un nom et un code uniques.
Lire : Normalisation en SQL
Quels sont les avantages d'une clé primaire ?
Une clé primaire en SQL est définie comme une valeur singulière ou une combinaison de quelques valeurs d'une table. Il représente distinctement chaque enregistrement de la table. L'accès à cette valeur garantit un accès rapide au placement d'un enregistrement lié dans la table, en plus des autres valeurs du même enregistrement. À ce stade, vous pourriez avoir une question importante à soulever. Est-il obligatoire de générer une clé primaire dans chaque table ? Absolument pas.
SQL ne nécessite pas la création d'une clé primaire. Cependant, les meilleures et les plus efficaces pratiques de modélisation de base de données conseillent fortement de créer une clé primaire pour chaque table en SQL. En plus d'être un champ de lien commun entre les tables, les avantages d'une clé primaire sont multiples.
La liste ci-dessous résume les principaux avantages d'une clé primaire :
- Étant donné que la clé primaire sert d'index, les opérations de base de données basées sur la vitesse, telles que le tri et la recherche d'enregistrements, deviennent plus rapides.
- La clé primaire permet d'identifier et de trouver rapidement des lignes uniques dans une table de base de données particulière.
- En mode sans échec, seuls des enregistrements spécifiques peuvent être identifiés de manière unique à l'aide de la clé primaire pour garantir que les mises à jour et la suppression n'affectent que des lignes spécifiques plutôt que des volumes de données plus importants.
- Lorsqu'elles sont utilisées comme clés étrangères dans d'autres tables de la base de données, elles aident à maintenir l'intégrité référentielle.
Comment choisir une clé primaire ?
Les tables comprennent les principaux objets d'une base de données SQL. Ces tables stockent les données sous forme d'enregistrements ou de lignes. Par conséquent, pour identifier chaque ligne d'un tableau, nous devons trouver une colonne dans le même tableau avec une valeur d'entrée différente pour chaque ligne. Par exemple, supposons que nous ayons un tableau avec des données sur chaque citoyen américain. Une colonne nommée 'social_security_number' aiderait à distinguer une ligne d'une autre dans un tel tableau.
De même, considérons un autre exemple. Supposons que nous ayons une table de comptes d'épargne dans une banque privée. La colonne portant le nom 'account_number' peut être utilisée pour identifier de manière unique des lignes spécifiques dans cette table.
Dans ces deux exemples, une fois que vous avez identifié une colonne avec une valeur différente pour chaque ligne du tableau, c'est-à-dire 'social_security_number' et 'account_number', vous pouvez créer votre clé primaire. Cette clé primaire sera votre identifiant principal pour chaque ligne du tableau, en fonction de la colonne spécifique que vous avez identifiée.
La marque d'une conception de base de données exemplaire est donc la clé primaire en SQL. Par conséquent, il va sans dire qu'une clé primaire choisie doit être unique à 100 % et qu'il doit exister une valeur unique de la clé primaire pour chaque ligne de données. En règle générale, les individus ont tendance à se fier au système de gestion de base de données lui-même pour générer un identifiant unique.
Les caractéristiques d'une clé primaire forte sont les suivantes :
- Une clé primaire forte est généralement courte, compacte et contient le moins d'attributs possible. Les types de données longs et les clés composées ajoutent de la complexité à SQL. Une longueur de clé primaire ne doit pas dépasser 900 octets.
- Les clés primaires qui sont entièrement numériques aident à améliorer les performances des requêtes.
- Évitez d'utiliser des caractères spéciaux ou une combinaison de lettres majuscules et minuscules. Évitez d'utiliser des types de données textuelles car il faut beaucoup plus de temps à SQL pour comparer les valeurs de chaîne que les valeurs numériques.
- Évitez les informations identifiables des colonnes non clés de la même ligne, telles que les codes postaux, les adresses e-mail et les numéros de sécurité sociale. Si une clé primaire est basée sur des données du monde réel, il se peut qu'elle doive être modifiée à un moment donné dans le futur, ce qui est une pratique de modélisation déconseillée. Si les clés primaires sont des identifiants arbitraires, les données affichées à l'utilisateur peuvent changer ultérieurement, mais les identifiants n'ont pas à le faire.
- La valeur de la clé primaire doit rester stable et ne pas être modifiée.
Il est impératif de noter que les clés primaires utilisent un mécanisme technique pour garantir que chaque ligne a une valeur unique et non vide dans la colonne de clé primaire. Cela implique que la valeur de la clé primaire d'un enregistrement ne peut pas être nulle. De plus, supposons que vous tentiez d'insérer un nouveau avec une valeur dont le doublon se trouve dans la colonne de la clé primaire. Dans ce cas, l'insertion de la nouvelle ligne sera rejetée par la clé primaire.
Paiement : Idées et sujets de projet SQL
Clés primaires avec plusieurs colonnes
Dans certains cas, il n'existe pas de clé primaire naturelle à une colonne. Lorsque plusieurs colonnes sont utilisées pour définir une clé primaire, on parle de clé primaire multicolonne ou composite. Par exemple, supposons que nous ayons une table 'réservation' avec des colonnes, 'customer_name', 'reservation_day', 'reservation_time' et 'number_of_people'.
Ici, 'customer_name' ne peut pas être utilisé seul comme clé primaire car, naturellement, le client peut avoir plus d'une réservation pour des jours différents ou même le même jour. Nous ajoutons donc 'reservation_day' et 'reservation_time' à la clé primaire pour rendre la combinaison unique pour chaque valeur.
Cette considération ne doit pas dépasser plus de 32 colonnes. Plus le nombre de colonnes est grand, plus l'espace de stockage requis sera important. La syntaxe pour ajouter une clé primaire à plusieurs colonnes est différente de l'ajout d'une clé primaire à une seule colonne.
Apprenez des cours de génie logiciel en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Résumé
Avez-vous déjà appelé le service client et on vous a demandé votre numéro de client ? Vous l'avez peut-être même oublié, c'est-à-dire lorsqu'ils vous demandent votre code postal ou votre numéro de téléphone.
Vous êtes-vous déjà demandé pourquoi? Eh bien, la réponse courte est les clés primaires. La réponse longue est que les avantages d'une clé primaire sont le point de départ de tous les systèmes de base de données. Sans clés primaires, les bases de données ne fonctionneraient pas comme elles fonctionnent actuellement, ou pour être précis, ne fonctionneraient pas du tout.
Si vous êtes curieux d'en savoir plus sur SQL, le développement full-stack, consultez le programme Executive PG de IIIT-B & upGrad dans le développement de logiciels Full Stack qui est créé pour les professionnels et propose plus de 10 études de cas et projets, des ateliers pratiques pratiques, mentorat avec des experts de l'industrie, 1-on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.
Que sont les clés primaires en SQL ?
La clé primaire est le champ avec des valeurs uniques, qui est utilisé pour définir l'identité d'une entité. Une fois qu'une clé primaire est définie, elle ne peut pas être supprimée ou modifiée. En fait, la clé primaire est une caractéristique spéciale de la table, qui devient la base des relations de la table. La clé primaire est toujours définie dans la première colonne d'une table, qui ne peut pas être modifiée. Il tient un rôle très important dans la structure d'enregistrement logique et physique des données. Étant donné que la clé primaire est utilisée pour identifier de manière unique les enregistrements, ils sont appelés clés candidates.
Quelles sont les caractéristiques d'une clé primaire en SQL ?
La clé primaire est une colonne ou un groupe de colonnes qui identifient de manière unique chaque enregistrement dans une table. Une table ne peut avoir qu'une seule clé primaire. Pour maintenir l'intégrité, la clé primaire est toujours requise. La clé primaire doit être composée d'une combinaison de colonnes différentes les unes des autres. Si une clé primaire est composée d'une seule colonne, on parle alors de clé primaire simple. Le moteur de base de données utilise une clé primaire pour localiser et mettre à jour un enregistrement dans une base de données. La clé primaire ne peut pas être Null car Null signifie non défini ou inconnu. La clé primaire peut être une colonne unique ou plusieurs colonnes. Les valeurs de clé primaire peuvent être uniques ou non uniques. La clé primaire a la capacité d'être indexée. La clé primaire aide le moteur de base de données à maintenir l'intégrité de la table. La clé primaire peut être facilement identifiée dans la base de données.
Comment choisir une clé primaire en SQL ?
La clé primaire est la colonne la plus importante d'une table. Ce sont les identifiants utilisés par vos applications pour identifier de manière unique chaque enregistrement. Le champ que vous sélectionnez comme clé primaire doit être unique et non nul. Les clés primaires sont généralement les meilleures colonnes candidates pour l'indexation. La clé primaire est utilisée pour : Une référence unique pour chaque enregistrement de la table, pour rechercher l'identifiant d'un enregistrement dont vous avez déjà les données, pour vous assurer que chaque ligne a une valeur valide dans la clé primaire. Pour vous assurer que les données de la table restent valides et cohérentes, assurez-vous que toutes les valeurs de clé primaire sont uniques et qu'aucune valeur de clé primaire n'est nulle.