J'ai une table avec quelques lignes dupliquées que je veux normaliser en 2 tables. Je voudrais commencer par normaliser cela en deux tables (utilisateur, et mot-clé). Y a-t-il une requête que je peux exécuter pour normaliser ceci, ou dois-je faire une boucle dans la table avec un script pour construire les tables?Diviser la table avec des doublons en 2 tables normalisées?
2
A
Répondre
4
Vous pouvez le faire avec quelques requêtes, mais je ne suis pas familier avec postgreSQL. Créez d'abord un utilisateur de table, avec une colonne d'identité. Ajoutez également une colonne userID à la table existante:
Puis quelque chose le long de ces lignes:
INSERT INTO users (userName)
SELECT DISTINCT user FROM url_keyword
UPDATE url_keyword
SET userID=(SELECT ID FROM users WHERE userName=user)
Ensuite, vous pouvez déposer l'ancienne colonne de l'utilisateur, créer la contrainte de clé étrangère, etc.
Quel est le problème avec comment c'est? –
il veut créer une table d'utilisateur et la référencer avec FK – zalew
Cela aiderait à montrer ce que vous voulez réaliser - c'est-à-dire ce que vous voulez obtenir. –