Jim W a un bon début, mais de normaliser encore, faire vos éléments d'adresses redondants dans séparés tables aussi bien. Créez les tables pour lesquelles les données d'adresse sont répétées (Pays, État, etc.) Une fois que vous avez vos tables de données, vous devez ajouter des colonnes telles que StateID, CountryID, etc. à la table Address.
Vous avez maintenant des options pour la correction des données existantes. Vous pouvez être rapide et sale et utiliser les instructions Update pour définir tous les champs d'identification nouvellement créés pour qu'ils pointent vers la bonne table de données.
UPDATE Addresses SET StateID=1 WHERE STATE='AL'
Vous pouvez le faire assez rapidement un lot sql fichier, mais je vous recommande une solution plus programmatique qui roule à travers la table d'adresses et tente de faire correspondre « Etat » en cours à une entrée dans la nouvelle Table d'états. Si trouvé, le StateID sur la table d'adresses est mis à jour avec l'id de la rangée correspondante dans les états.
Vous pouvez ensuite supprimer l'ancien champ d'état de la table d'adresses, car il est maintenant normalisé correctement et proprement dans une table d'états distincte.
Ce processus peut être répété pour tous les éléments de données redondants. Cependant, IMO db normalisation peut être prise trop loin. Par exemple, si vous avez une requête couramment utilisée qui, après la normalisation, nécessite 10 jointures, vous pouvez voir une réduction des performances. Cela ne semble pas être le cas ici, car je pense que vous êtes sur la bonne voie. @Lance je voulais quelque chose de similaire à cela mais voici le problème que j'ai des données brutes venant sous la forme de table unique et je dois affiner et l'envoyer à deux tables je peux ajouter une adresse dans La table 2 mais im ne sous-entendant pas comment insérer l'address_id dans la table 1
Vous pouvez récupérer l'ID nouvellement créé à partir de la table d'adresses en utilisant @@ IDENTITY, et mettre à jour l'adresse_ID avec cette valeur.
c'est exactement ce que j'ai fait mais le peoblem est comment insérer l'adresse id lors de l'ajout de nouvelles lignes dans le tableau 1? – SweetGangster
Vous pouvez créer un formulaire dans Access pour laisser l'utilisateur choisir une adresse existante ou en entrer une nouvelle. Vous avez juste besoin de définir la relation un-à-plusieurs, puis de créer un formulaire. –
Tout d'abord, vous ajoutez l'adresse dans le tableau 2 (ou trouvez-la si c'est là) puis tirez l'adresse_adresse et insérez-la dans le tableau 1 avec le reste de vos données. –