Clef normale

Dans la conception de la base de données du modèle apparenté , une clef normale est une clef de candidat qui a un rapport logique avec les attributs dans cette rangée .

L'avantage principal d'une clef normale au-dessus d'une clef de substitut de , qui a le non un tel rapport logique, est qu'il existe déjà ; il n'y a aucun besoin ajouter une nouvelle, artificielle colonne à votre schéma .

L'inconvénient principal de choisir une clef normale est que sa valeur peut le changement et le moteur de base de données relationnelle peuvent ne pas pouvoir propager ce changement à travers les clefs étrangères relatif. Par exemple, si le person_name est employé comme clé primaire pour la table de personne, et une personne se marie et change le nom, puis tout les le besoin d'Un-à-beaucoup de tables connexe par d'être mis à jour également. L'inconvénient secondaire de choisir une clef normale identifie l'unicité. La clé primaire doit comprendre les attributs qui identifient uniquement une rangée. Cependant, ce peut être difficile (ou lui peut ajouter des contraintes) de créer une clef normale sur un nom parce que des noms sont susceptibles d'être reproduits.

Dans un moteur bien projeté de SQL, les valeurs d'une clef normale apparaissent seulement une fois dans le stockage physique et elles sont mises en référence quand elles sont employées en tant que clefs étrangères. Les mécanismes structuraux pour une telle mise en référence varient ; Sybase SQL n'importe où emploie des chaînes d'indicateur, les vecteurs de peu comprimés par utilisations de moteur de SABLE, hachant est une autre manière et ainsi de suite.

Des moteurs plus anciens de SQL, qui sont basés sur des systèmes de fichiers, répètent physiquement la valeur dans la colonne PRINCIPALE ÉTRANGÈRE et dépendent des mécanismes procéduraux pour les maintenir alignés. Traitement de chaque table comme si c'étaient un dossier séparé au lieu de mettre en application le schéma comme un entier en corrélation peut rendre changeant la structure d'une clef très cher.

Caractéristiques normales du besoin trois de clefs. C'est la définition de n'importe quelle clef. Ce ne peut pas être NULLE parce qu'annule l'unicité de manque. Dans le modèle apparenté, les attributs sont des valeurs scalaires tirées d'un domaine qui a des règles. Par exemple, si je vois « 2006-02-31 » pendant qu'un type de données de date, je savent que c'est erroné. De même, les digits de contrôle et les expressions régulières peuvent garder contre des valeurs principales fausses.

3) Vérification. La clef doit identifier une vraie entité et nous avons besoin d'un mechism pour le vérifier. Est-ce que par exemple, si j'ai un VIN (numéro d'identification de véhicule), fait-il un tel véhicule existe réellement ? Je peux aller en ligne et demander le fabricant, le département des véhicules à moteur ou un site Web d'automobile si ce VIN était vraiment employé. Si j'ai des paires d'a (longitude, latitude), j'emploie un GPS ou un globe pour le vérifier directement, et ainsi de suite.

Random links:Gozo | Northfield, le Massachusetts | Maison d'Italo | KSEG | Stéphane Courtois | Llave_natural