Clés de base qui facilitent l’administration de la base de données
Les bases de données utilisent des tableaux pour organiser les informations. Chaque table se compose de plusieurs lignes et chaque ligne correspond à un enregistrement de base de données. Alors, comment la base de données maintient-elle ces enregistrements corrects ? Cela se fait à l’aide de clés.
clé primaire
Le premier type de clé dont nous parlerons est la clé primaire. Une clé primaire identifie de manière unique chaque enregistrement dans une table. Chaque table de base de données doit avoir une ou plusieurs colonnes désignées comme clés primaires.
exemple de clé primaire
Supposons que nous ayons une table appelée Employés qui contient des informations personnelles pour chaque employé de notre entreprise. Nous devons choisir une clé primaire appropriée pour identifier de manière unique chaque employé. Votre première idée pourrait être d’utiliser le nom et le prénom de l’employé. Cependant, cela ne fonctionnera pas car vous pourriez éventuellement embaucher deux employés portant le même nom. Une meilleure option pourrait être d’utiliser le numéro d’identification d’employé unique attribué à chaque employé lors de son embauche.
Certaines organisations utilisent des numéros de sécurité sociale (ou des identifiants gouvernementaux similaires) comme clés primaires, puisque chaque employé en a un et qu’ils sont garantis uniques. Cependant, l’utilisation des numéros de sécurité sociale à cette fin est controversée en raison de problèmes de confidentialité.
Si vous travaillez pour une agence gouvernementale, il peut être illégal d’utiliser un numéro de sécurité sociale en vertu de la loi sur la protection des renseignements personnels de 1974. En conséquence, la plupart des établissements ont opté pour l’utilisation d’identifiants uniques, tels que les identifiants d’employés ou d’étudiants.
Une fois que vous avez choisi une clé primaire et configuré votre base de données, le système de gestion de base de données applique l’unicité des clés. Par exemple, si vous insérez un enregistrement dans une table qui a une clé primaire en double avec un enregistrement existant, l’insertion échouera.
La plupart des bases de données sont également capables de générer des clés primaires. Par exemple, Microsoft Access peut être configuré pour utiliser le type de données NuméroAuto pour attribuer un ID unique à chaque enregistrement d’une table. Bien qu’efficace, il s’agit d’une mauvaise pratique de conception car elle laisse des valeurs sans signification dans chaque enregistrement de la table. Au lieu de cela, utilisez cet espace pour stocker des choses utiles.
clé étrangère
Un autre type de clé est une clé étrangère. Les clés étrangères créent des relations naturelles entre les tables. Il existe des relations naturelles entre les tables dans la plupart des structures de base de données.
exemple de clé étrangère
Pour en revenir à notre base de données Employés, supposons que nous souhaitions ajouter une table à la base de données contenant des informations sur le service. Cette nouvelle table pourrait s’appeler Départements et contenir de nombreuses informations sur des départements entiers.
Nous souhaitons également inclure des informations sur les employés du service, mais avoir les mêmes informations dans deux tables (employé et service) est redondant. Par conséquent, nous allons créer une relation entre les deux tables.
Créer des relations entre les tables
Supposons que la table Departments utilise la colonne Department Name comme clé primaire. Pour créer une relation entre les deux tables, nous allons ajouter une nouvelle colonne appelée Service à la table Employés.
Ensuite, nous remplirons le nom du département auquel chaque employé appartient. Nous informerons ensuite le système de gestion de la base de données que la colonne Department de la table Employees est une clé étrangère référençant la table Departments.
Il n’y a pas de contrainte d’unicité pour les clés étrangères car, par exemple, nous pouvons avoir plusieurs employés appartenant à un service. De plus, il n’est pas nécessaire qu’une entrée dans la table Departments ait une entrée correspondante dans la table Employees, puisque nous pouvons avoir un département sans employés.
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