Numéro d'article: 100139 - Dernière mise à jour: dimanche 26 septembre 2004 - Version: 2.2 ACC : Principes de base de la normalisation des bases de données
Ancien nº de publication de cet article : F100139 SommaireRésumé
Utilisateurs débutants : Cet article requiert des connaissances de l'interface utilisateur des ordinateurs à utilisateur unique.
Cet article fournit les bases de la terminologie de la normalisation des bases de données. Il est souhaitable de posséder des connaissances de base dans cette terminologie lors de la conception d'une base de données relationnelle. Plus d'informationsDescription de la normalisationLa normalisation est le processus par lequel les données sont organisées dans une base de données. Ceci comprend la création de tables et l'établissement de relations entre ces tables selon certaines règles. Ces règles sont conçues pour protéger les données et rendre l'utilisation de la base de données plus souple en éliminant deux facteurs : la redondance et la dépendance incohérente.La redondance de données gaspille de l'espace disque et crée des problèmes de maintenance. Si des données existant à plus d'un emplacement doivent être modifiées, il est nécessaire qu'elles le soient de la même manière à chacun de ces emplacements. Il est beaucoup plus facile de prendre en compte la modification d'une adresse client si cette donnée n'est enregistrée que dans la table Clients et à aucun autre emplacement dans la base de données. Qu'est-ce qu'une " dépendance incohérente" ? Alors qu'il serait naturel pour l'utilisateur de chercher l'adresse d'un client dans la table Clients, il ne penserait pas à y chercher le salaire de l'employé qui rend visite à ce client. Son salaire est lié à (ou dépendant de) l'employé lui-même, et devrait donc être enregistré dans la table Employés. Des dépendances incohérentes peuvent compliquer l'accès aux données ; le chemin de ces données peut être manquant ou interrompu. Il y a quelques règles à suivre pour normaliser une base de données. Ces règles sont connues sous le nom de " formats de normalisation ". Si la première règle est respectée, la base de données sera considérée comme étant en " premier format de normalisation ". Si les trois premières règles sont respectées, la base de données sera considérée comme étant en " troisième format de normalisation ". Bien que d'autres niveaux de normalisation soient possibles, le troisième format de normalisation est considéré comme étant le niveau le plus élevé nécessaire à la plupart des applications. Comme pour beaucoup de règles et de spécifications formelles, vous ne pourrez pas toujours atteindre la conformité parfaite dans une situation réelle. En général, la normalisation nécessite des tables supplémentaires et est considérée comme trop fastidieuse par certains clients. Si vous décidez de violer l'une des trois premières règles de normalisation, assurez-vous que votre application anticipe tous les problèmes qui pourraient en découler, tels que des données redondantes ou des dépendances incohérentes. REMARQUE : Les descriptions suivantes comprennent des exemples de normalisation. Premier format de normalisation
Mais que se passe-t-il lorsque vous ajoutez un troisième vendeur ? L'ajout d'un champ n'est pas la solution ; cette action nécessiterait des modifications de programmes et de tables, et ne s'adapte pas de manière idéale à un nombre dynamique de vendeurs. Enregistrez plutôt toutes les données concernant les vendeurs dans une table séparée nommée Vendeurs, puis liez l'inventaire aux vendeurs à l'aide d'une clé Numéro d'élément, ou inversement les vendeurs à l'inventaire à l'aide d'une clé Code vendeur. Deuxième format de normalisation
Troisième format de normalisation
Par exemple, dans une table Recrutement, il se peut que le nom et l'adresse de l'université d'un candidat soient inclus. Mais vous avez besoin d'une liste complète des universités pour votre publipostage. Si les coordonnées des universités sont enregistrées dans la table Candidats, vous n'avez aucun moyen de les répertorier sans candidats. Créez une table Universités et liez-la à la table Candidats à l'aide d'une clé code université. EXCEPTION : Quoiqu'en théorie souhaitable, le troisième format de normalisation n'est pas toujours pratique. Si vous disposez d'une table Clients et souhaitez éliminer toutes les dépendances inter-champs possibles, vous devrez créer des tables séparées pour les villes, codes postaux, représentants de commerce, classes de clients et tout autre facteur qui pourrait être dupliqué dans des enregistrements multiples. En théorie, le processus de normalisation vaut la peine d'être poursuivi ; néanmoins un grand nombre de petites tables peut provoquer une diminution des performances, ou dépasser les capacités d'ouverture de fichiers et de mémoire. Il peut être plus pratique de n'appliquer le troisième format de normalisation qu'aux données modifiées fréquemment. Si quelques champs dépendants persistent, concevez votre application de manière à ce que l'utilisateur ait à vérifier tous les champs liés dès que l'un de ces champs est modifié. Autres formats de normalisationIl existe un quatrième format de normalisation, également appelé Format de normalisation Boyce Codd (BCNF), et un cinquième, mais ils sont rarement utilisés dans la pratique. La non-conformité à ces règles peut provoquer des imperfections dans les bases de données, mais sans toutefois affecter leur fonctionnalité. **********************************
Exemples de tables normalisées
**********************************
Exemples de normalisations :
Table non normalisée :
Étudiant n° Conseiller Salle-Conseiller Cours1 Cours2 Cours3
-----------------------------------------------------------------
1022 Jean 412 101-07 143-01 159-02
4123 Dupont 216 201-01 211-02 214-01
Références
" Guide du développeur FoxPro 2 A ", Hamilton M. Ahlo Jr. et al., pages 220-225, M & T Books, 1991 " Utiliser Access sous Windows ", par Roger Jennings, pages 799-800, Que Corporation, 1993 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Autres ressources Autres sites d'aide
CommunautésObtenir de l'aideTraductions disponibles
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email

Retour au début
